Skip to content

Build with the FastHR API.

Integrate with the live demo database through a typed, versioned API protected by bearer-token authentication.

Bearer-token access. All API reads and writes require Authorization: Bearer <token>. The API returns 503 until FASTSME_API_TOKEN is configured.

API contract

Concern Contract
Base URL https://fasthr.eu/api
Version v1 · schema refreshed 2026-08-08
Pagination ?limit=20&offset=0 · maximum limit 200
Filtering ?q=search&status=value · available fields are documented per operation
Errors {"error":{"code":"…","message":"…","details":{}}}
Authentication Authorization: Bearer <token> · required for all declared read and write operations

Resources

Employees

Employee master records and employment state.

GET /api/v1/employeesGET /api/v1/employees/{id}

Departments

Organisation departments.

GET /api/v1/departmentsGET /api/v1/departments/{id}

Leave requests

Employee leave requests and approval status.

GET /api/v1/leaveGET /api/v1/leave/{id}

Attendance

Daily attendance and recorded hours.

GET /api/v1/attendanceGET /api/v1/attendance/{id}

Job openings

Open requisitions and their hiring state.

GET /api/v1/jobsGET /api/v1/jobs/{id}

Candidates

Candidate profiles, including CV-extracted fields.

GET /api/v1/candidatesGET /api/v1/candidates/{id}

Applications

Candidate applications and pipeline stage.

GET /api/v1/applicationsGET /api/v1/applications/{id}

Organizations

Enterprise recruitment organizations and locale defaults.

GET /api/v1/organizationsGET /api/v1/organizations/{id}

Recruitment brands

Brand, domain, and visual identity configuration.

GET /api/v1/brandsGET /api/v1/brands/{id}

Career sites

Candidate-facing careers sites.

GET /api/v1/career-sitesGET /api/v1/career-sites/{id}

Organization teams

Country- and department-scoped enterprise recruiting teams.

GET /api/v1/organization-teamsGET /api/v1/organization-teams/{id}

Job distributions

Localized job placements across career sites and brands.

GET /api/v1/job-distributionsGET /api/v1/job-distributions/{id}

Quick start

curl -H 'Authorization: Bearer <token>' \
  "https://fasthr.eu/api/v1/employees?limit=20"

python - <<'PY'
import requests
rows = requests.get(
    "https://fasthr.eu/api/v1/employees",
    headers={"Authorization": "Bearer <token>"},
    timeout=20,
).json()
print(rows["data"])
PY

Authenticated write example

curl -X PATCH \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"status":"Approved"}' \
  'https://fasthr.eu/api/v1/leave/1

Only fields listed in the operation schema are accepted. Unknown fields return a structured validation error; destructive writes remain token-gated.

Runtime OpenAPI: /api/openapi.json · Stable compatibility schema: /swagger.json · Interactive docs: /api/docs