API Reference
JobSeal REST API — OpenAPI 3.0.3
Authentication
All endpoints except GET /candidates/by-refid/{refid} require a Bearer token. Tokens are issued at registration or sign-in and are scoped to either candidate or employer.
Data location: All data is stored in Australia (AWS ap-southeast-2). Raw referee survey responses are never stored — only computed dimension averages (ADR-005).
Public
- GET
/candidates/by-refid/{refid}Get public candidate profile
Returns verified employment history for a REFID. No authentication required. Suitable for ATS integrations that display a candidate's JobSeal alongside their CV.
Search
- POST
/search/candidatesFull-text candidate search
Search verified employment records using Postgres full-text search. Supports quoted phrases, OR, and -negation operators. Requires an active subscription. Stealth candidates and exclusion-list matches are automatically filtered.
Candidates
- POST
/candidatesRegister a candidate
- GET
/candidates/{id}Get candidate profile (owner)
- PATCH
/candidates/{id}/stealthToggle stealth mode
- GET
/candidates/{id}/employer-exclusionsList employer domain exclusions
- POST
/candidates/{id}/employer-exclusionsAdd employer domain exclusion
- DELETE
/candidates/{id}/employer-exclusions/{domain}Remove employer domain exclusion
- GET
/candidates/{id}/exportExport personal data (Privacy Act)
- POST
/candidates/{id}/employment-recordsAdd an employment record
- PATCH
/employment-records/{rid}Update employment record
- DELETE
/employment-records/{rid}Delete employment record
- POST
/employment-records/{rid}/refereesNominate referee + HR contact
- POST
/employment-records/{rid}/cancel-nominationsCancel nominations
Employers
- POST
/employersRegister an employer account
- GET
/employers/meGet employer profile + subscription
- POST
/employers/checkoutCreate Stripe Checkout session
For the full machine-readable spec including request/response schemas, download openapi.yaml and import it into Postman, Insomnia, or your ATS integration tool.