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

# Individual onboarding API workflow

> Map individual KYC policy to current Customers, Capabilities, Tasks, Task Submissions, and Documents operations.

## Individual onboarding API workflow

Use this map to connect individual KYC policy to the current generated API reference. Follow the current resource at every step rather than implementing policy-facing labels as an API state machine.

## Workflow map

### 1. Create the individual customer

Create the customer with [`POST /v3/customers`](/api-reference/customers/post-v3-customers). Store the returned customer id and read the current resource with [`GET /v3/customers/{customerId}`](/api-reference/customers/get-v3-customers-by-customer-id).

### 2. Discover and request an eligible capability

Read [`GET /v3/customers/{customerId}/capabilities/supported`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-supported). Select a variant only when its current availability and eligibility allow the request, then use [`POST /v3/customers/{customerId}/capabilities/{capabilityId}`](/api-reference/capabilities/post-v3-customers-by-customer-id-capabilities-by-capability-id).

### 3. Read the current capability and applications

Read [`GET /v3/customers/{customerId}/capabilities/{capabilityId}`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-by-capability-id) and [`GET /v3/customers/{customerId}/capabilities/{capabilityId}/applications`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-by-capability-id-applications). Follow current open task ids rather than assuming readiness from an earlier response.

### 4. Fetch current task detail

List customer tasks with [`GET /v3/customers/{customerId}/tasks`](/api-reference/tasks/list-customer-tasks). Fetch the authorized action surface with [`GET /v3/customers/{customerId}/tasks/{taskId}`](/api-reference/tasks/get-customer-task).

Task detail can expose first-party hosted session URLs and the current actionable requirements. Use its current revision and status.

### 5. Complete hosted sessions or submit task answers

When task detail provides a hosted session, return only the required session data to your client and keep the API key in your backend.

When the task requires answers, create one complete immutable attempt with [`POST /v3/customers/{customerId}/tasks/{taskId}/submissions`](/api-reference/task-submissions/create-customer-task-submission). Read one current submission and its public outcome with [`GET /v3/customers/{customerId}/tasks/{taskId}/submissions/{submissionId}`](/api-reference/task-submissions/get-customer-task-submission).

### 6. Upload documents only when requested

Upload documents only when the current task asks for them. Use [`POST /v3/customers/{customerId}/documents`](/api-reference/documents/post-v3-customers-by-customer-id-documents), then place the returned document id in the applicable document answer.

### 7. Refetch current resources

Refetch the current customer, capability, applications, and task after each event or action. Use their latest states, reasons, requirements, and open task ids to select the next step.

## Generated operation map

| Resource         | Generated operation                                                                                                                                                                 | Use                                                |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| Customers        | [`POST /v3/customers`](/api-reference/customers/post-v3-customers)                                                                                                                  | Create the individual customer                     |
| Customers        | [`GET /v3/customers/{customerId}`](/api-reference/customers/get-v3-customers-by-customer-id)                                                                                        | Read current customer data                         |
| Capabilities     | [`GET /v3/customers/{customerId}/capabilities/supported`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-supported)                                       | Discover current availability and eligibility      |
| Capabilities     | [`POST /v3/customers/{customerId}/capabilities/{capabilityId}`](/api-reference/capabilities/post-v3-customers-by-customer-id-capabilities-by-capability-id)                         | Request the selected capability                    |
| Capabilities     | [`GET /v3/customers/{customerId}/capabilities/{capabilityId}`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-by-capability-id)                           | Read current capability state and open tasks       |
| Capabilities     | [`GET /v3/customers/{customerId}/capabilities/{capabilityId}/applications`](/api-reference/capabilities/get-v3-customers-by-customer-id-capabilities-by-capability-id-applications) | Read institution applications and their open tasks |
| Tasks            | [`GET /v3/customers/{customerId}/tasks`](/api-reference/tasks/list-customer-tasks)                                                                                                  | List customer-owned tasks                          |
| Tasks            | [`GET /v3/customers/{customerId}/tasks/{taskId}`](/api-reference/tasks/get-customer-task)                                                                                           | Read current requirements and hosted sessions      |
| Task Submissions | [`POST /v3/customers/{customerId}/tasks/{taskId}/submissions`](/api-reference/task-submissions/create-customer-task-submission)                                                     | Submit a complete answer set                       |
| Task Submissions | [`GET /v3/customers/{customerId}/tasks/{taskId}/submissions/{submissionId}`](/api-reference/task-submissions/get-customer-task-submission)                                          | Read the authorized answer snapshot and outcome    |
| Documents        | [`POST /v3/customers/{customerId}/documents`](/api-reference/documents/post-v3-customers-by-customer-id-documents)                                                                  | Upload a file requested by the current task        |

## Policy and implementation guidance

Simplified, Standard, and Enhanced KYC are policy tiers. They do not replace current capability, application, task, submission, requirement, or hosted-session states.

For implementation details, follow the [individual onboarding guide](/integration/onboarding/customers#individual-customers), [Capabilities and tasks](/integration/onboarding/capabilities-and-requirements#complete-current-tasks), and the [Integration Documents guide](/integration/onboarding/capabilities-and-requirements#upload-documents).


## Related topics

- [Overview](/knowledge-base/compliance/overview.md)
- [Individual onboarding overview](/knowledge-base/individual-onboarding/overview.md)
- [KYC status and workflow](/knowledge-base/individual-onboarding/status-and-workflow.md)
- [KYB workflow](/knowledge-base/business-onboarding/kyb-workflow.md)
- [Governance and Roles](/knowledge-base/compliance/governance-retention-and-privacy.md)
