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.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.recrutauto.fr/api/campaigns/ \
-H "Authorization: Bearer ra_your_token_here"

Get a campaign

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

Get an enriched candidate

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

Search for candidates

curl -X POST https://api.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.recrutauto.fr/docs
  • ReDoc: https://api.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.