# Customers

Customer lifecycle. A partner only reads the customers it created.

## Create customer

Opens the customer and its account in a single operation, with compliance verification applied at signup.

```http
POST /api/partner/v1/customers
Authorization: Bearer {{access_token}}
Content-Type: application/json
Idempotency-Key: 6b3f...   # optional

{
  "document": "12345678901",
  "name": "Sample Customer",
  "password": "S3nh@Forte!2026",
  "account_type": "payment"
}
```

- **Scope:** `customer:create`
- **Required:** `document`, `name`, `password`
- **Optional:** `login`, `email`, `phone`, `account_type`, `kyc`

**Response `201`:**

```json
{
  "data": {
    "id": 1042,
    "name": "Sample Customer",
    "document": "12345678901",
    "status": "active",
    "accounts": [
      { "account_type": "payment", "agency": "0001", "account_number": "12345-6", "status": "active" }
    ]
  }
}
```

## Read customer

```http
GET /api/partner/v1/customers/{id}
Authorization: Bearer {{access_token}}
```

- **Scope:** `customer:read`

Returns the customer status and accounts. An unknown id, or one from another partner, returns `404`.
