Developers

Built to be built on.

A REST API that does everything the UI does. Push candidates from your ATS, trigger interviews, pull scored reports. OpenAPI 3.1, scoped keys, signed webhooks.

Read the API docsDownload OpenAPITest mode on every workspace.

Create a candidate and start an interview

curl -X POST https://api.recruit360.co/v1/candidates \
  -H "Authorization: Bearer $R360_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "job_id":     "job_4182",
        "email":      "ama@example.com",
        "resume_url": "https://cdn.acme.co/cv.pdf",
        "stage":      "ai_interview",
        "locale":     "pt-BR"
      }'

201 Created

{
  "id":            "cand_9f21b",
  "interview_url": "https://hire.northgate.co.uk/i/9f21b",
  "expires_at":    "2026-08-12T09:00:00Z"
}

Endpoints

Everything the interface does.

  • Candidates

    Create, update, list and delete. Attach a CV by URL or upload, set locale and starting stage, and get the interview link back in the response.

  • Jobs and rubrics

    Define the req, its weighted rubric and its question set through the API, so a job template in your system becomes a job here without retyping.

  • Interviews

    Trigger, reschedule, cancel and fetch. Poll for status or wait for the webhook — the payload is the same either way.

  • Reports

    Fetch the scored report with per-criterion evidence, transcript offsets and integrity signals as structured JSON, or as a rendered PDF.

  • Offers

    Generate from a template, send for e-signature, and receive the signed document with its audit trail — IP, timestamps and identity.

  • Workspaces

    Agency accounts can create and brand client workspaces programmatically, so onboarding a new client is an API call rather than a support ticket.

Webhooks

Signed, retried, replayable.

Every delivery is HMAC-signed and retried with exponential backoff for 24 hours. Anything that still failed can be replayed from the dashboard, so an outage on your side is not a hole in your data.

  • interview.completedThe candidate finished; scoring has started.
  • report.readyScores and evidence are available to fetch.
  • integrity.flaggedA signal crossed the threshold you configured.
  • offer.signedThe offer came back signed, with the audit trail.
  • candidate.stage_changedSomeone moved in or out of a pipeline stage.

Getting started

Three things and you are integrated.

  1. 01Create a scoped key in test mode. Keys are scoped per resource and per workspace, so an ATS integration never needs write access to billing.
  2. 02Point a webhook endpoint at your service and verify the signature. The dashboard shows every delivery, its response and its retry history.
  3. 03Generate a client from the OpenAPI 3.1 spec. It is the same spec the API is validated against in CI, so it does not drift from the implementation.

Questions from engineers

Is there a sandbox environment?
Every workspace has a test mode with its own keys. Test-mode interviews are simulated end to end, produce real report payloads, and are never billed.
How are webhooks secured?
Each endpoint has its own signing secret. Deliveries carry an HMAC-SHA256 signature and a timestamp; reject anything older than five minutes and you are safe from replay.
What are the rate limits?
600 requests per minute per key for reads, 120 for writes. Limits are returned in headers on every response, and 429s carry a Retry-After you should honour.
Do you version the API?
The path carries the major version. Breaking changes ship as a new major with twelve months of overlap; additive changes go out on v1 without notice, so parse defensively.

Keep reading

Get started

Get a key and make the first call.

Test mode is free and unmetered. Nothing to talk to sales about first.

Start freeBook a demo

Scoped keys, signed webhooks, OpenAPI 3.1.