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

# KYC Management

> Authentication, fields, and endpoints for managing customer KYC records.

## Authentication

KYC endpoints use the same Ed25519 signed-API scheme as the MID endpoints — `Partner-App-Key`, `X-HSPay-Signature`, and `X-HSPay-Timestamp` headers. See [Request Signing](/guides/partner-authentication-signed-api/overview).

## Fields

| Field            | Type          | Notes                                                                             |
| ---------------- | ------------- | --------------------------------------------------------------------------------- |
| `id`             | string (path) | Partner-provided unique id for this customer; this is the `kyc_id` used on orders |
| `name`           | string        | Full name                                                                         |
| `email`          | string        | Email                                                                             |
| `phone`          | string        | Phone number                                                                      |
| `address`        | string        | Residential address                                                               |
| `id_number`      | string        | Identity document number                                                          |
| `id_type`        | int enum      | `1` = Citizen ID, `2` = Passport, `3` = License                                   |
| `sex`            | int enum      | `1` = Male, `2` = Female, `3` = Other                                             |
| `nationality`    | string        | Nationality                                                                       |
| `date_of_issue`  | string        | Identity document issue date, ISO `YYYY-MM-DD`                                    |
| `date_of_expiry` | string        | Identity document expiry date, ISO `YYYY-MM-DD`                                   |

Some fields are **required** for your account. Holdstation configures the required set per partner; contact us to confirm which fields apply to you. A create or update is rejected with `MISSING_REQUIRED_FIELD` if a required field is empty (or, for `id_type` / `sex`, left unspecified / `0`).

## Endpoints

The request body is the same for create and update:

```json theme={null}
{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "phone": "+84123456789",
  "address": "123 Le Loi, District 1, Ho Chi Minh City",
  "id_number": "012345678",
  "id_type": 2,
  "sex": 2,
  "nationality": "VN",
  "date_of_issue": "2020-01-01",
  "date_of_expiry": "2030-01-01"
}
```

| Method | Path                  | Description                                                                                             |
| ------ | --------------------- | ------------------------------------------------------------------------------------------------------- |
| `POST` | `/partners/kycs/{id}` | [Create KYC record](/api-reference/kyc/create-kyc). Fails with `409 Conflict` if the id already exists. |
| `PUT`  | `/partners/kycs/{id}` | [Update KYC record](/api-reference/kyc/update-kyc). Fails with `404 Not Found` if the id is unknown.    |
| `GET`  | `/partners/kycs/{id}` | [Get KYC record](/api-reference/kyc/get-kyc)                                                            |
| `GET`  | `/partners/kycs`      | [List KYC records](/api-reference/kyc/list-kyc), paged. `page_size` is capped at `100`.                 |
