Profiles

Free. Poll the job_id from POST /v1/people:enrich that returned HTTP 202, every few seconds, until status is completed or failed. When the job is completed, result.data holds the profiles and credits_charged is what the ledger charged for the job, the same number as result.cost.credits. It is 0 until then. The call that queued the job is charged when it completes; this poll never charges. view defaults to full, the same profile enrich returns, including education. view=compact is the short profile.

Polling example:

KEY="<your API key>"
curl -s -X POST https://api.recruitmcp.com/v1/people:enrich \
  -H "Authorization: Bearer $KEY" -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" -d '{"ids":["lead_8f2a1c_1"]}'
# 202: {"job_id":"job_01J0JOB0EXAMPLE","poll_url":"/v1/jobs/job_01J0JOB0EXAMPLE","status":"queued",...}
until curl -s https://api.recruitmcp.com/v1/jobs/job_01J0JOB0EXAMPLE \
  -H "Authorization: Bearer $KEY" | grep -q '"status":"\(completed\|failed\)"'; do sleep 3; done
curl -s https://api.recruitmcp.com/v1/jobs/job_01J0JOB0EXAMPLE -H "Authorization: Bearer $KEY"
# result.data holds the profiles; credits_charged equals result.cost.credits

Scope: sourcing:read.

get/v1/jobs/{job_id}

Request

  • Base URL: https://api.recruitmcp.com
  • URL: https://api.recruitmcp.com/v1/jobs/{job_id}
  • Auth: one of:
    • HTTP bearer
    • OAuth 2 (authorization code, authorization URL https://recruitmcp.com/oauth/authorize, token URL https://recruitmcp.com/oauth/token, scopes: sourcing:read)

Path parameters

job_idstring required

Query parameters

view'full' | 'compact'

full is the default and includes education and experience. compact is the short profile.

Headers

RecruitMCP-Version'2026-10-13'

API version. Defaults to the version the key was created with. Supported: 2026-10-13.

RecruitMCP-Customerstring

Act inside this customer (cus_…). Ignored for keys bound to a customer, which always act inside theirs.

Response

The job, with profiles once completed.

idstring required
object'job' required
kind'people_fetch'
job_idstring

Same as id.

status'queued' | 'running' | 'parked' | 'completed' | 'failed' required
poll_urlstring

Path of GET /v1/jobs/{job_id}. Poll it every few seconds until status is completed or failed.

credits_chargednumber

Credits the ledger charged for this job, the same number as result.cost.credits once completed. 0 until the job completes. The call that queued the job is charged when it completes.

errorstring nullable
created_atstring date-time
updated_atstring date-time

Example response

{
  "id": "job_01J0JOB0EXAMPLE",
  "object": "job",
  "kind": "people_fetch",
  "job_id": "job_01J0JOB0EXAMPLE",
  "status": "completed",
  "poll_url": "/v1/jobs/job_01J0JOB0EXAMPLE",
  "credits_charged": 2,
  "progress": {
    "done": 1,
    "total": 1
  },
  "error": null,
  "result": {
    "data": [
      {
        "profile_id": "lead_8f2a1c_1",
        "full_name": "Ada Peeters",
        "headline": "Backend Engineer at Acme Robotics",
        "profile_url": "https://profiles.example.com/ada-peeters",
        "experience": [
          {
            "position": "Backend Engineer",
            "company": "Acme Robotics",
            "started": "2021-03",
            "current": true,
            "company_url": "https://companies.example.com/acme-robotics"
          }
        ],
        "skills": [
          "Go",
          "Kubernetes"
        ],
        "source": "profile_index",
        "fetched_at": "2026-10-13T09:00:00Z"
      }
    ],
    "not_found": [],
    "cost": {
      "credits": 2,
      "cached_items": 0,
      "live_items": 1,
      "upstream_calls": 1
    }
  },
  "created_at": "2026-10-13T09:00:00Z",
  "updated_at": "2026-10-13T09:00:04Z"
}

Changes

    • warning

      added the new approval_forced enum value to the / response property for the response status

    • warning

      added the new approval_forced enum value to the / response property for the response status

    • warning

      added the new approval_forced enum value to the / response property for the response status

    • warning

      added the new approval_forced enum value to the / response property for the response status

    • warning

      added the new approval_forced enum value to the / response property for the response status