REST API
Jooble ATS Integration API
Publish and manage job listings on Jooble, retrieve candidates, and receive new applications in real time — programmatically. Built for applicant tracking systems.
Base URL
https://{countryCode}.jooble.org/employer/api/v2Replace {countryCode} with the appropriate country subdomain (e.g. ua, hu, ro).
Quick Start
Get up and running in 3 steps:
Authenticate
POST /AtsJob/login with your credentials to get a JWT token.
Create a job
POST /AtsJob/create with the token in the Authorization header.
Check the result
GET /AtsJob/{id} to verify your job is live.
Example — authenticate and create your first job
# Step 1: Get your token
curl -X POST https://ua.jooble.org/employer/api/v2/AtsJob/login \
-H "Content-Type: application/json" \
-d '{"email": "user@email.com", "password": "********"}'
# Step 2: Create a job (use the access_token from Step 1)
curl -X POST https://ua.jooble.org/employer/api/v2/AtsJob/create \
-H "Content-Type: application/json" \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..." \
-d '{"title": "Backend Developer", "region": "Kyiv", "description": "We are looking for an experienced developer to join our team ..."}'
# Step 3: Verify the job is live
curl https://ua.jooble.org/employer/api/v2/AtsJob/12345 \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."Endpoints Overview
| Method | Path | Description |
|---|---|---|
POST | /AtsJob/login | Authenticate and obtain a JWT token |
POST | /AtsJob/create | Create a new job listing |
PUT | /AtsJob/update | Update an existing job listing |
POST | /AtsJob/changeStatus | Change job status (activate, stop, delete) |
GET | /AtsJob/{id} | Get a job by ID |
GET | /AtsJob/allJobs | Get all jobs for the account |
GET | /AtsJob/appliesByJob/{jobId} | Get candidates for a job |
POST | /AtsJob/{applyId}/markViewed | Mark a candidate as viewed |
Common Headers
All authenticated requests must include:
| Header | Value |
|---|---|
Authorization | Bearer {access_token} |
Content-Type | application/json |
The JWT token returned by the login endpoint expires after 24 hours. Re-authenticate to obtain a fresh token when it expires.