> ## 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.

# Customers

> Create the individual or business that owns capabilities, accounts, and transfers.

Create the customer before you build a pay-in, payout, or issued bank account. Capabilities, accounts, and transfers are scoped to that customer. Use `externalId` as the stable mapping to the corresponding record in your system.

```bash theme={null}
export API_BASE='https://platform.swipelux.com'
export SWIPELUX_API_KEY='replace-with-your-api-key'
```

## Individual customers

An individual requires only `type`. Include profile fields you already know, and add more only when the current capability or task needs them.

Create the customer with [`POST /v3/customers`](/api-reference/customers/post-v3-customers):

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/customers" \
  --header "X-API-Key: ${SWIPELUX_API_KEY}" \
  --header "Idempotency-Key: customer-user-123" \
  --header "Content-Type: application/json" \
  --data @- <<'JSON'
{
  "type": "individual",
  "externalId": "user_123",
  "individual": {
    "firstName": "Amina",
    "lastName": "Diallo",
    "residenceCountry": "FR"
  }
}
JSON
```

Store the returned `data.id` as `CUSTOMER_ID`. See [Individual onboarding](/knowledge-base/individual-onboarding/overview) for policy context.

## Business customers

A business requires `business.legalName`. Create the business with the same operation:

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/customers" \
  --header "X-API-Key: ${SWIPELUX_API_KEY}" \
  --header "Idempotency-Key: customer-company-456" \
  --header "Content-Type: application/json" \
  --data @- <<'JSON'
{
  "type": "business",
  "externalId": "company_456",
  "business": {
    "legalName": "Acme Payments SAS"
  }
}
JSON
```

Store the returned `data.id` as `CUSTOMER_ID`. See [Business onboarding](/knowledge-base/business-onboarding/overview) for policy and document context.

## Add business related parties

Add directors, owners, and other business participants when they are known or requested. This example creates a director with [`POST /v3/customers/{customerId}/related-parties`](/api-reference/customers/post-v3-customers-by-customer-id-related-parties):

```bash theme={null}
curl --request POST \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}/related-parties" \
  --header "X-API-Key: ${SWIPELUX_API_KEY}" \
  --header "Idempotency-Key: related-party-director-001" \
  --header "Content-Type: application/json" \
  --data @- <<'JSON'
{
  "partyType": "person",
  "roles": ["director"],
  "title": "Chief executive officer",
  "person": {
    "firstName": "Amina",
    "lastName": "Diallo",
    "residenceCountry": "FR"
  }
}
JSON
```

Store the returned `data.id` as `RELATED_PARTY_ID`.

## Read readiness from capabilities

A customer does not have a verification or readiness status in the API. Read the customer with [`GET /v3/customers/{customerId}`](/api-reference/customers/get-v3-customers-by-customer-id) for current profile data, then use capabilities and their `openTaskIds` to decide what the customer can do next.

```bash theme={null}
curl --request GET \
  "${API_BASE}/v3/customers/${CUSTOMER_ID}" \
  --header "X-API-Key: ${SWIPELUX_API_KEY}"
```

Next, continue to [Capabilities and tasks](/integration/onboarding/capabilities-and-requirements) to discover and activate the product outcome you need.


## Related topics

- [Create customer](/api-reference/customers/post-v3-customers.md)
- [List customers](/api-reference/customers/get-v3-customers.md)
- [Get customer](/api-reference/customers/get-v3-customers-by-customer-id.md)
- [Archive customer](/api-reference/customers/delete-v3-customers-by-customer-id.md)
- [Update customer](/api-reference/customers/patch-v3-customers-by-customer-id.md)
