API Reference
This section documents every endpoint in the Fribl API. Each page includes request parameters, response schemas, and an interactive playground for testing.Base URL
Authentication
Most endpoints require thex-api-key header. The Skills endpoints are publicly accessible. See Authentication for details.
Endpoint groups
CVs
Analyze, retrieve, update, list, and delete CVs.
POST /cvs/analyze— Analyze CVs from textPOST /cvs/analyze/files— Analyze CVs from file uploadsPOST /cvs/status— Check processing statusGET /cvs— List all CVsGET /cvs/{id}— Get a CV by IDPUT /cvs/{id}— Update a CVDELETE /cvs/{id}— Delete a CV
Jobs
Analyze, retrieve, update, list, and delete jobs.
POST /jobs/analyze— Analyze jobs from textPOST /jobs/analyze/files— Analyze jobs from file uploadsPOST /jobs/status— Check processing statusGET /jobs— List all jobsGET /jobs/{id}— Get a job by IDPUT /jobs/{id}— Update a jobDELETE /jobs/{id}— Delete a job
Matching
Match CVs against jobs and retrieve results.
POST /match— Match CVs to a jobGET /match/{jobId}— Get match results
Sourcing
Search and ingest external candidate profiles.
POST /sourcing/search— Search candidate profilesPOST /sourcing/ingest— Ingest selected profiles
Skills
Search the ESCO skills taxonomy. No authentication required.
GET /skills/search— Search for skills by keywordGET /skills/languages— Get available languages
Tokens
Inspect usage-based token balance, history, and pricing.
GET /tokens/balance— Current workspace balanceGET /tokens/history— Paginated usage ledgerGET /tokens/costs— Live per-action price list
Update endpoints require
content_language in the request body. Structured skills are returned as hard_skills and soft_skills. The type and relationship fields are static English enums, and relationship uses lowercase canonical values: required, optional, satisfies.Asynchronous processing
CV and job analysis runs asynchronously. After submitting a document, you receive task IDs and must poll the corresponding status endpoint until the status changes toCOMPLETED. Keep polling while the status is PENDING. If you poll an unknown ID, the status endpoint returns NOT_FOUND for that item. GET /cvs/{id} and GET /jobs/{id} follow the same vocabulary, but signal in-flight tasks with HTTP 404 + body { "status": "PENDING" }.
Response format
Successful responses follow this pattern:length and pagination:
402 with a structured token error when the workspace balance is too low: