API reference
Base URL: https://api.curriculo.me/public. Every call carries Authorization: Bearer key_…. Synchronous paths end in a trailing slash; background task and screening paths are documented without one.
Synchronous operations
| Endpoint | Capability | Body | Price |
|---|---|---|---|
POST /parse/ | Parse CVs, one file or a list | multipart | $0.01 |
POST /evaluate/ | Evaluate candidates against a job | multipart | $0.01 |
POST /jobs/ | Optional: register a job once for /evaluate/ | JSON | Free |
POST /translate/ | Translate text or documents | JSON, or multipart for documents | $0.01 minimum |
POST /detect-language/ | Detect the language of text | JSON | $0.001 |
POST /summary/ | Analyse an interview | JSON, or multipart for recordings and transcript documents | $0.01, plus $0.002 per minute of recording |
POST /transcribe/ | Transcribe a recording | multipart | $0.002 per minute |
POST /prompt/ | Résumé assistant (session) | multipart | $0.01 |
GET /prompt/resumes | List your saved résumés | none | Free |
GET /prompt/resume | Retrieve one saved résumé | none | Free |
Screening interviews
| Endpoint | Capability | Price |
|---|---|---|
POST /screening-interview | Invite candidates to a hosted, recorded screening | $0.02 per invite sent |
GET /screening-interview/{screening_id} | Read a screening's results |
Background tasks
| Endpoint | Capability |
|---|---|
POST /parse/async, /evaluate/async, /summary/async, /transcribe/async, /translate/async | Start a background task. Answers 202 with a task_id. |
GET /{op}/tasks/{task_id} | Read a task's status and result. |
See Background processing and callbacks. A task is billed as one request of its operation.
Specification
The machine-readable specification is at /public/openapi.json, with Swagger UI and ReDoc alongside it. It does not yet include the screening interview endpoints.
Shared behaviour (size limits, list responses, errors) is documented once, in Requests and responses, Batching and Errors.
Updated