REST API v1

CVPRO API Documentation

Integrate hiring intelligence into your existing systems. Our REST API provides programmatic access to candidates, requirements, evaluations, and more.

Authentication

All API requests require a Bearer token in the Authorization header. API keys can be generated from your organization Settings page.

# Example request
curl -H "Authorization: Bearer cvpro_live_xxxxx" \
https://cvpro.talpro.in/api/v1/candidates

HTTPS Only

All API traffic is encrypted

Rate Limited

200 req/min per API key

JSON Responses

Consistent response format

Response Format

{
  "success": true,
  "data": { ... },
  "meta": {
    "api_version": "v1",
    "timestamp": "2026-03-29T12:00:00.000Z"
  }
}

Endpoints

GET
/api/v1/candidates

List candidates with pagination, search, and filters.

Parameters: page, limit, search

POST
/api/v1/candidates

Create a new candidate in your organization.

Parameters: name*, email*, phone, currentTitle, skills[]

GET
/api/v1/requirements

List job requirements with status and client filters.

Parameters: page, limit, status, clientId

POST
/api/v1/requirements

Create a new requirement linked to a client.

Parameters: title*, clientId*, location, mustHaveSkills[]

GET
/api/v1/evaluations

List AI evaluations with score filters.

Parameters: page, limit, requirementId, minScore

GET
/api/v1/jobs

List published job postings (for job boards).

Parameters: page, limit, location, skill

Webhooks

Register webhook URLs from your Settings page to receive real-time notifications when events occur. Each delivery includes an HMAC-SHA256 signature in the X-CVPRO-Signature header for verification.

candidate.createdA new candidate is added
candidate.updatedCandidate profile is modified
evaluation.completedAI evaluation finishes processing
interview.sentQBank interview is sent to candidate
interview.completedCandidate completes the QBank
requirement.createdA new requirement is created
requirement.status_changedRequirement status changes
pipeline.status_changedCandidate moves in pipeline
client_feedback.receivedClient submits feedback

Ready to integrate?

Sign up for a free account to get your API key and start building.