> For the complete documentation index, see [llms.txt](https://docs.alignlabs.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.alignlabs.dev/guides/create-customer.md).

# Create customer

Step by step guide on how to create a customer.

#### Step 1 - Create Customer

Every transfer is completed on behalf of a customer. To create a customer, use a [Create Customer](/align-api/customers/create-customer.md) endpoint. &#x20;

Example:

```sh
curl -X POST https://api.alignlabs.dev/v0/customers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "email": "name@gmail.com",
  "first_name": "John",
  "last_name": "Doe",
  "type": "individual"
}'
```

Response:

```json
{
  "customer_id": "123e4567-e89b-12d3-a456-426614174000",
  "email": "name@gmail.com"
}
```

You can now use `customer_id` to initiate a KYC session.

**Step 2 - Know Your Customer**

Every customer needs to go through KYC/KYB. To initiate a KYC session, use a [Create KYC Session](/align-api/customers/create-kyc-session.md) endpoint.

Example:

```bash
curl -X POST https://api.alignlabs.dev/v0/customers \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "email": "name@gmail.com",
  "first_name": "John",
  "last_name": "Doe",
  "beneficiary_type": "individual"
}'
```

Response:

```json
{
  "kycs": {
    "status": "pending",
    "kyc_flow_link": "https://link-to-kyc-provider.com"
  }
}
```

Once a customer completed KYC, their `kycs.status` will change to `approved`.&#x20;
