Documentation
How jajob.dk works — for candidates, employers, and developers.
Product overview
- Candidates: one profile, language-neutral search, one-click apply, a live status timeline for every application, and AI-explained matches.
- Employers: CVR-verified company profile, vacancy posting with Google-for-Jobs schema, a Kanban applicant pipeline, a talent pool, notifications, and analytics.
- Compliance: mandatory salary ranges, no age/gender fields, GDPR retention, assistive AI with a human always deciding.
Developer API
Base URL /api/v1 · Auth: Bearer JWT, or a partner API key jjk_….
POST /api/v1/auth/signup · /login— get a tokenGET /api/v1/search/vacancies?q=— language-neutral searchPOST /api/v1/companies · /companies/{id}/vacanciesPOST /api/v1/vacancies/{id}/apply·GET /api/v1/applications/{id}/timelinePOST /api/v1/apikeys— partner keys ·POST /api/v1/webhooks/endpoints— outbound webhooks
Need API access or the full OpenAPI reference? Write to info@jajob.dk.
Webhooks
Register an endpoint and receive signed events. Each delivery carries the headers X-Jajob-Event, X-Jajob-Delivery and X-Jajob-Signature = HMAC-SHA256 of the canonical JSON body with your endpoint secret. Verify it before trusting the payload.
Delivery is retried up to 5 times on non-2xx responses; HTTPS only, private and loopback hosts are blocked.
Events: application.created, application.status_changed, vacancy.expired, candidate.matched.