Skip to main content

REST API

Recrut'Auto's REST API exposes the same data as the web interface and the MCP server, but as classic HTTP endpoints. It is suited to programmatic integrations: ATS sync, webhooks, scripts, BI dashboards.

Base endpoint​

The API URL depends on the Recrut'Auto environment you use:

  • Current environment (the one for this documentation): https://api.dev.recrutauto.fr

Authentication​

All requests must include a Bearer token in the HTTP header. Generate your token from Access tokens.

Authorization: Bearer ra_your_token_here

Examples​

List your campaigns​

curl https://api.dev.recrutauto.fr/api/campaigns/ \
-H "Authorization: Bearer ra_your_token_here"

Get a campaign​

curl https://api.dev.recrutauto.fr/api/campaigns/42 \
-H "Authorization: Bearer ra_your_token_here"

Get an enriched candidate​

curl https://api.dev.recrutauto.fr/api/candidates/123/enriched \
-H "Authorization: Bearer ra_your_token_here"

Search for candidates​

curl -X POST https://api.dev.recrutauto.fr/api/search/candidates \
-H "Authorization: Bearer ra_your_token_here" \
-H "Content-Type: application/json" \
-d '{"query": "python developer", "page": 1, "size": 20}'

Error codes​

CodeMeaning
200Success
401Invalid or revoked token
402No active subscription — subscribe to a plan
403Insufficient permissions (required role missing)
404Resource not found or outside your subscription's scope
429Rate limit exceeded (60 requests/minute by default)
5xxServer error — retry with exponential backoff

Rate limiting​

The API is limited to 60 requests per minute per user. Beyond that, you receive a 429 Too Many Requests. Adjust your pace accordingly (exponential backoff recommended).

OpenAPI documentation​

The FastAPI backend automatically exposes interactive documentation:

  • Swagger UI: https://api.dev.recrutauto.fr/docs
  • ReDoc: https://api.dev.recrutauto.fr/redoc

There you'll find the exhaustive list of endpoints, request/response schemas, and you can test directly from the browser (after pasting your Bearer token).

Prefer MCP for conversational uses

If your need is "talk to Claude to create a campaign", use the MCP server instead — it abstracts the HTTP calls and provides pre-configured prompts.