Job Alerts API
Authenticated candidate endpoints for job alert preferences, instant delivery, and notification troubleshooting. Used by the Pulse Job mobile app.
Delivery model
- Alerts are sent instantly when matching jobs publish (no morning/evening schedule).
- Multiple matches may be grouped into one push/email to reduce spam.
- Alert delivery uses the same window for all users (free and Priority).
- Jobs already auto-applied are skipped.
- At least one channel (push or email) must remain enabled.
Base URL & auth
https://api.pulsjob.comAll endpoints require Authorization: Bearer <JWT> for the signed-in candidate.
/api/users/me/job-alertsRead current job alert settings, filters, expiry, and priority access metadata.
/api/users/me/job-alertsCreate or update job alerts. Enabling requires at least one skill and one job role.
{
"enabled": true,
"timezone": "Asia/Kolkata",
"channels": { "pushEnabled": true, "emailEnabled": true },
"filters": {
"skills": ["skill-uuid-1"],
"roles": ["role-uuid-1"],
"workLocationTypes": ["remote", "hybrid"],
"locations": [
{
"label": "Bangalore, Karnataka, India",
"city": "Bangalore",
"state": "Karnataka",
"country": "India"
}
],
"salaryMin": 800000,
"salaryMax": 1500000,
"salaryCurrency": "INR"
}
}/api/users/me/job-alerts/testTroubleshoot flow: sends a test push (FCM type job_alert_test) and test email. Returns per-channel status.
(no body)/api/users/me/engagement-eventsFire-and-forget client engagement (e.g. push tap on job_alert or job_alert_batch).
{ "source": "push_tap", "channel": "job_alert" }Push payload types
job_alert — single job; opens job detail (redirectUrl).
job_alert_batch — grouped matches; opens jobs list with searchTerms.
job_alert_test — troubleshoot test only; not a real job match.
Admin
Admin-only metrics and per-user activity are available at GET /api/admin/engagement/summary and via the user detail job-alert card in admin.pulsjob.com.