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

# The Onboarding

> An onboarding job collects details, documents, and optional ID checks from one recipient on behalf of one or more clients.

An **onboarding** is a job created with `POST /api/v1/onboardings/create`. It has one recipient and one or more clients. Write access is required to create.

`sendToRecipient: true` sends immediately. Wallet and subscription are checked before persist. Insufficient funds return **400** and nothing is created. `sendToRecipient: false` saves a draft.

See [Onboarding jobs](/guides/onboarding).

## Attributes

<ResponseField name="onboardingKey" type="uuid">
  Stable identifier for the job.
</ResponseField>

<ResponseField name="status" type="string">
  Job status such as Draft, Sent, or Completed.
</ResponseField>

<ResponseField name="userKey" type="uuid">
  Staff member the job is assigned to.
</ResponseField>

<ResponseField name="recipient" type="object">
  Person who receives the onboarding request (name, email, optional mobile).
</ResponseField>

<ResponseField name="clients" type="array">
  Clients included in the job. Each row is either an existing `entityKey` or a quick-add (type plus name).
</ResponseField>

## Documents

| Route                                     | Returns                                               |
| ----------------------------------------- | ----------------------------------------------------- |
| `GET /api/v1/onboardings/{key}/documents` | Requirements per client (`isUploaded` / `isBypassed`) |
| `GET .../documents/{documentId}`          | Short-lived signed URL for one file                   |
| `GET .../documents/zip`                   | All uploaded files as a zip                           |

<RequestExample>
  ```json The Onboarding object theme={null}
  {
    "onboardingKey": "c1d2e3f4-a5b6-7890-1234-56789abcdef0",
    "status": "Sent",
    "userKey": "11111111-2222-3333-4444-555555555555",
    "recipient": {
      "name": "Alex Morgan",
      "email": "alex@example.com"
    },
    "clients": [
      { "entityKey": "2c4f6a88-1b3d-5e7f-90ab-cdef12345678" }
    ]
  }
  ```
</RequestExample>
