Documentation Index
Fetch the complete documentation index at: https://docs.fribl.co/llms.txt
Use this file to discover all available pages before exploring further.
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
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: