API Reference

Build with the NexivoHR API

RESTful endpoints with JSON request/response. Available on Enterprise plans.

Authentication

The NexivoHR API uses bearer tokens. Generate a personal API token from Account → API Tokens in your dashboard.

Include the token in every request:

Authorization: Bearer YOUR_API_TOKEN
🔐 Security tip: Never commit API tokens to source control. Use environment variables.

Base URL

https://your-domain.com/ats/api/v1

Endpoints

Candidates

List, create, retrieve, update, and delete candidates.

GET /candidates

Returns a paginated list of candidates.

Query parameters:

  • page — page number (default 1)
  • per_page — items per page (default 25, max 100)
  • q — search query (boolean syntax)
  • status — filter by status: new, screening, available, placed

Example:

curl -H "Authorization: Bearer YOUR_TOKEN" \
  "https://your-domain.com/ats/api/v1/candidates?page=1&per_page=10"
POST /candidates

Creates a new candidate.

curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
       "first_name": "Jane",
       "last_name": "Smith",
       "email": "jane@example.com",
       "phone": "+1-555-1234",
       "current_title": "Senior Engineer",
       "city": "San Francisco",
       "state": "CA"
     }' \
     https://your-domain.com/ats/api/v1/candidates
GET /candidates/{id}

Retrieves a single candidate by ID.

PATCH /candidates/{id}

Updates a candidate. Send only the fields you want to change.

DELETE /candidates/{id}

Soft-deletes a candidate (sets status to inactive).

Jobs

Same CRUD pattern as candidates.

  • GET /jobs — list jobs
  • POST /jobs — create a job
  • GET /jobs/{id} — get a job
  • PATCH /jobs/{id} — update a job
  • DELETE /jobs/{id} — close a job

Submissions

Track candidates through the pipeline for a job.

  • GET /jobs/{job_id}/submissions — list submissions for a job
  • POST /jobs/{job_id}/submissions — submit a candidate
  • PATCH /submissions/{id} — update stage (screening, interview, offer, placed, rejected)

Webhooks

Register webhooks under Account → API Tokens → Webhooks. Available events:

  • candidate.created
  • candidate.updated
  • job.created
  • submission.stage_changed
  • submission.placed

Payloads are signed with HMAC-SHA256 in the X-NexivoHR-Signature header.

Rate Limits

PlanRequests per minuteRequests per day
StarterNo API access
Professional6010,000
Enterprise6001,000,000

Rate-limited responses return HTTP 429 Too Many Requests with a Retry-After header.

Errors

The API uses standard HTTP status codes:

  • 200 OK — request succeeded
  • 201 Created — resource created
  • 400 Bad Request — validation error (check errors field in response)
  • 401 Unauthorized — missing or invalid token
  • 403 Forbidden — token doesn't have permission
  • 404 Not Found — resource doesn't exist
  • 429 Too Many Requests — rate limited
  • 500 Server Error — something went wrong on our end

SDKs & Libraries

Official libraries coming soon. In the meantime, the API works with any HTTP client:

  • Node.js: fetch, axios
  • Python: requests, httpx
  • PHP: curl, Guzzle
  • Ruby: Faraday, httparty
  • Go: net/http

Want API access?

The API is available on Professional and Enterprise plans.

View Pricing Contact Sales