Instruction to frontend teams:
“Build strictly against this contract. Backend behavior is frozen for v2.”
https://api.nexaguard.io/v2/careersapplication/json or multipart/form-dataapplication/json/jobs — List Open Jobs| Param | Type | Example | Notes |
|---|---|---|---|
department | string | Customer Support | Exact match |
job_type | string | full_time | Enum |
remote | 1|0 | 1 | Remote-only |
q | string | support | Simple search |
{
"ok": true,
"jobs": [
{
"id": "job_5ffdefc2-1cbe-40de-825d-44a7c588d6f1",
"slug": "customer-support-specialist",
"posting_title": "Customer Support Specialist",
"department": null,
"job_type": "full_time",
"is_remote": 1,
"city": null,
"province": null,
"country": "United States",
"date_opened": null,
"created_at": "2026-01-11T11:02:36.608Z"
}
]
}slug for routing (/careers/{slug})posting_title as the job card titleis_remote and location fields for badges/jobs/{slug} — Job Detail{
"ok": true,
"job": {
"id": "job_5ffdefc2-1cbe-40de-825d-44a7c588d6f1",
"slug": "customer-support-specialist",
"posting_title": "Customer Support Specialist",
"internal_title": null,
"department": null,
"industry": null,
"job_type": "full_time",
"work_experience": null,
"number_of_positions": 1,
"status": "open",
"is_remote": 1,
"city": null,
"province": null,
"country": "United States",
"description": "<p>Support NexaGuard customers worldwide.</p>",
"requirements": "<ul><li>Excellent English</li></ul>",
"benefits": "<ul><li>Remote</li></ul>",
"required_skills": ["Customer Support", "Email", "SaaS"],
"created_at": "2026-01-11T11:02:36.608Z",
"updated_at": "2026-01-11T11:02:36.608Z"
}
}description, requirements, and benefits are HTMLrequired_skills → render as tags/chips/apply — Submit Application| Field | Type | Required |
|---|---|---|
job_slug | string | ✅ |
first_name | string | ✅ |
last_name | string | ✅ |
email | string | ✅ |
phone | string | ❌ |
resume | file (PDF/DOC/IMG) | ✅ |
source | string | ❌ (default: website) |
{
"ok": true,
"application_id": "app_3815c4f5-04f7-49d3-bbb4-32175dd75089",
"tracking_token": "juSzAOaATDnqNHLyopJctH0AXjEaHJ0bg1CJSICtyQY",
"status_url": "https://careers.nexaguard.com/careers/application/juSzAOaATDnqNHLyopJctH0AXjEaHJ0bg1CJSICtyQY"
}{
"ok": false,
"error": "You have already applied for this role.",
"tracking_token": "..."
}tracking_token client-sidestatus_url/applications/{tracking_token} — Application Status & Timeline{
"ok": true,
"application": {
"id": "app_3815c4f5-04f7-49d3-bbb4-32175dd75089",
"tracking_token": "juSzAOaATDnqNHLyopJctH0AXjEaHJ0bg1CJSICtyQY",
"created_at": "2026-01-11T11:10:22.012Z",
"updated_at": "2026-01-11T11:10:22.012Z",
"source": "website",
"current_status": {
"id": "status_applied",
"name": "Applied",
"kind": "normal"
},
"current_stage_group": {
"id": "stage_screening",
"name": "Screening",
"position": 1
},
"job": {
"id": "job_5ffdefc2-1cbe-40de-825d-44a7c588d6f1",
"slug": "customer-support-specialist",
"posting_title": "Customer Support Specialist",
"department": null,
"job_type": "full_time",
"is_remote": 1,
"city": null,
"province": null,
"country": "United States"
},
"candidate": {
"first_name": "Test",
"last_name": "Candidate",
"email": "test.candidate+1@nexaguard.io"
}
},
"pipeline": {
"stage_groups": [
{ "id": "stage_screening", "name": "Screening", "position": 1, "is_terminal": 0 },
{ "id": "stage_interview", "name": "Interview", "position": 3, "is_terminal": 0 },
{ "id": "stage_hired", "name": "Hired", "position": 5, "is_terminal": 1 }
],
"statuses": [
{
"id": "status_applied",
"name": "Applied",
"stage_group_id": "stage_screening",
"position": 1,
"status_kind": "normal",
"is_terminal": 0
}
]
},
"timeline": [
{
"id": "evt_xxx",
"event_type": "system",
"message": "Candidate Test Candidate applied through website for Customer Support Specialist",
"actor_type": "system",
"actor_name": null,
"created_at": "2026-01-11T11:10:22.012Z",
"from_status_name": null,
"to_status_name": "Applied"
},
{
"id": "evt_yyy",
"event_type": "status_change",
"message": "Status set to Applied",
"actor_type": "system",
"actor_name": null,
"created_at": "2026-01-11T11:10:22.013Z",
"from_status_name": null,
"to_status_name": "Applied"
}
]
}/v3Frontend API Contract: LOCKED & FINAL