# The ATS REST API

Intervieux publishes a full v1 REST API covering jobs, applications, hiring pipeline, scheduling, documents, and talent search, authenticated by API key and gated by 13 scopes, with a complete OpenAPI 3.0 document and a plain-markdown agent guide both served directly from the API itself.

An ATS that only offers a dashboard forces every integration through screen scraping or a support ticket. Intervieux's API surface covers the same operations the dashboard uses internally, so a script, a workflow tool, or an AI agent can read and write the same pipeline data a recruiter would touch by hand.

## What it does

The API is versioned at v1 and covers six areas: jobs, applications, pipeline, scheduling, documents, and talent search. Every operation requires an API key with a specific scope, of which there are 13, split into read and write pairs for jobs, applications, pipeline, scheduling, offers, and documents, plus a single read scope for talent search. A key is created by a human employer from the Developer / API console in the dashboard, there's no path for an agent to provision its own key. Requests authenticate with a bearer token or an X-API-Key header, and every response follows the same JSON envelope, a status field plus either a data payload or an error message.

## How it works

1. **Create a key with the scopes you need** — A human with dashboard access generates an API key from Settings, Developer / API, choosing which of the 13 scopes it should carry. A key scoped to jobs:read and pipeline:read, for example, can list jobs and read pipeline data but can't write anything or touch scheduling.
2. **Authenticate every request** — Requests carry the key as Authorization: Bearer ivx_live_... or as an X-API-Key header. There's no session cookie or separate login step for API calls.
3. **Scopes are enforced per route** — A call made with a key missing the required scope for that route gets a 403 back, with a message naming exactly which scope was missing, rather than a generic permission error.
4. **Rate limiting applies per key** — Each key is limited to 120 requests per minute. Exceeding that returns a 429 rather than silently queuing or dropping requests.
5. **Discover the full surface programmatically** — The complete OpenAPI 3.0 spec is served at /api/v1/openapi.json, and a plain-markdown agent guide is served at /api/v1/agent-guide.md, written specifically to be pasted into an AI agent's context as a reference.

## Interview data rides on pipeline, not a separate scope

There's no dedicated interviews scope. Requesting a candidate's full detail through GET /pipeline/{id} with pipeline:read already returns the linked interview session, including transcript, scores, and the summary report, since that data is part of the candidate's pipeline record rather than a separate resource.

## Thirteen scopes, six resource areas

Jobs, applications, pipeline, scheduling, offers, and documents each split into a read and a write scope, and talent search gets a single read scope. A key can be built as narrow or as broad as the integration needs, from read-only reporting access to full read/write control across every area.

## Docs are served by the API, not just written separately

Both the raw OpenAPI document and a markdown agent guide are live endpoints on the API itself, not a static page maintained separately. Either one is unauthenticated by design, since the whole point is letting a human or an agent bootstrap before it has a key.

## One response envelope, everywhere

Every endpoint responds with the same shape, status: success plus a data object, or status: fail plus a message. An integration built against one endpoint's response format already knows what every other endpoint will look like.

## Who this is for

This is for an engineering team wiring Intervieux into an internal tool, a workflow automation connecting the hiring pipeline to something else in the stack, or an AI agent that needs to read and act on real ATS data, jobs, applications, pipeline state, scheduling, documents, and talent search, through a documented, scoped interface rather than screen automation.

## Frequently asked questions

### What can I do with the Intervieux ATS API?

The API covers jobs, applications, pipeline, scheduling, documents, and talent search, letting an integration read and write the same hiring data the employer dashboard works with, gated by 13 scopes tied to an API key.

### How do I get an API key?

A human employer with dashboard access creates a key from Settings, Developer / API, choosing which scopes it carries. There's no way for an agent to self-provision a key; it has to be created and handed over by a person.

### Is there a rate limit?

Yes, 120 requests per minute per key. Requests beyond that limit get a 429 response.

### Is interview transcript and scoring data available through the API?

Yes, through GET /pipeline/{id} with the pipeline:read scope. That endpoint returns the candidate's full detail including the linked interview session, transcript, scores, and summary report, there's no separate interviews endpoint or scope.

### Where is the OpenAPI spec?

The complete OpenAPI 3.0 document is served live at /api/v1/openapi.json, and a markdown guide meant for pasting into an AI agent's context is at /api/v1/agent-guide.md. Both are unauthenticated so they can be fetched before a key exists.

## Related pages

- [The hosted MCP server](/features/mcp-server)
- [Screening rules engine](/features/screening-rules)
- [Semantic talent search](/features/talent-search)
- [Frequently asked questions](/faq)

## Build against real hiring data with a scoped key

Pull the OpenAPI spec, generate a key with exactly the scopes you need, and start reading or writing pipeline data directly.

Start practicing free: https://www.intervieux.ai/register · Hire with Intervieux: https://www.intervieux.ai/employers/signup
