jajob.dk

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 token
  • GET /api/v1/search/vacancies?q= — language-neutral search
  • POST /api/v1/companies · /companies/{id}/vacancies
  • POST /api/v1/vacancies/{id}/apply · GET /api/v1/applications/{id}/timeline
  • POST /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.