Introduction
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/v2

Replace {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

MethodPathDescription
POST/AtsJob/loginAuthenticate and obtain a JWT token
POST/AtsJob/createCreate a new job listing
PUT/AtsJob/updateUpdate an existing job listing
POST/AtsJob/changeStatusChange job status (activate, stop, delete)
GET/AtsJob/{id}Get a job by ID
GET/AtsJob/allJobsGet all jobs for the account
GET/AtsJob/appliesByJob/{jobId}Get candidates for a job
POST/AtsJob/{applyId}/markViewedMark a candidate as viewed

Common Headers

All authenticated requests must include:

HeaderValue
AuthorizationBearer {access_token}
Content-Typeapplication/json

The JWT token returned by the login endpoint expires after 24 hours. Re-authenticate to obtain a fresh token when it expires.