> ## Documentation Index
> Fetch the complete documentation index at: https://docs.userecord.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Verify blue-collar candidates from your own system with the Record Blue Collar API.

Record contacts your candidates on WhatsApp, follows up by phone call and SMS, and verifies them against the job. The Blue Collar API lets your ATS or backend run that whole flow and receive each candidate's result.

## Verify candidates from your own system, in 4 steps

Do the steps in this order. Each one returns an id that the next one needs.

<Steps>
  <Step title="Workflow">
    How and when candidates are contacted: channels, send window and retries. Create it once and reuse it. You get `workflow_id`.
  </Step>

  <Step title="Job mandate">
    The job: skills to verify and screening questions. Record prepares the questions in the background. Needs `workflow_id`, you get `mandate_id`.
  </Step>

  <Step title="Campaign">
    The people: name and phone number of each candidate. Record contacts and verifies them. Needs `mandate_id`, you get `campaign_id`.
  </Step>

  <Step title="Results">
    Verdict and score for each candidate, sent to your webhook as soon as they finish. Needs `campaign_id`, you get `candidate_id`.
  </Step>
</Steps>

## The 7 calls you need

1. [`POST /workflows`](/blue-collar-api/guides/workflows#create-a-workflow) → save `workflow_id`
2. [`POST /mandates`](/blue-collar-api/guides/job-mandates#create-a-job-mandate) → save `mandate_id`
3. [`GET /mandates/{mandate_id}`](/blue-collar-api/guides/job-mandates#get-a-job-mandate) → repeat until `status` is `ready`
4. [`POST /campaigns`](/blue-collar-api/guides/campaigns#create-a-campaign) → save `campaign_id`
5. [`GET /campaigns/{campaign_id}`](/blue-collar-api/guides/campaigns#get-a-campaign) → watch it go out
6. [`POST /webhooks/endpoints`](/blue-collar-api/guides/webhooks#create-an-endpoint) → results are sent to you, signed; answer 2xx to confirm. No public URL? Pull them with [`POST /events/pull`](/blue-collar-api/guides/webhooks#pull-and-confirm-events)
7. [`GET /campaigns/{campaign_id}/results`](/blue-collar-api/guides/results#list-campaign-results) → catch up or check: status and collected `output`

## 4 rules to remember

* You only need your **key id and secret**. Timestamp, signature and `Idempotency-Key` are made by the [helper](/blue-collar-api/authentication#signing-helper) (or by **Try it**).
* Creating calls carry an `Idempotency-Key`, so a retry never creates twice. The helper adds it.
* Use a **TEST key** first. A campaign contacts real people and spends credits.
* Every error is `{ "success": false, "error": { "code", … } }`; all codes are explained in [Errors](/blue-collar-api/reference/errors).

## What Record checks

A job mandate runs one or more checks, named in its `methods`.

| Check | What the candidate does | What you get |
| - | - | - |
| `data_enrichment` | Answers your 1 to 5 screening questions (yes/no or voice; up to 10 with enrichment only). | The answers, and whether they qualify. |
| `skill_verification` | Answers 3 scenario questions that Record writes from the job's verified skills. | A verdict, a score, a rating per skill and recordings. |
| `interest_collection` | Says what other work they have done or would take. | Their current role and other roles they are open to. |

## Before you start

* An API key pair from the Record playground, under **Settings → API keys**.
* The Blue Collar API switched on for that key. Record does this by granting [scopes](/blue-collar-api/authentication#scopes).
* A **TEST** key for development. It sees only test data and can only contact phone numbers that Record has listed for it.

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/blue-collar-api/quickstart">
    Make your first signed call and run the four steps.
  </Card>

  <Card title="Authentication" icon="key" href="/blue-collar-api/authentication">
    API keys, scopes and request signing.
  </Card>

  <Card title="Webhooks" icon="bell" href="/blue-collar-api/guides/webhooks">
    Receive results as soon as candidates finish.
  </Card>

  <Card title="API reference" icon="code" href="/blue-collar-api/api-reference/introduction">
    Every endpoint with its request and response schema.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.