# List all customers

**GET** `/customers`

Base URL: `https://api.triple-a.work/kyc-api/v1`

Returns a list of customers with their KYC details. Use `page` query parameter for pagination.

## Authorization

- oauth2 (http, bearer)

## Query parameters

- `page` (integer)
  Specify the page number
- `email` (string)
  Filter customers by email address

## Responses

### 200

OK

- `id` (string<uuid>)
  Unique ID for the Customer KYC record created
- `name` (string)
  Name of the Customer
- `email` (string<email>)
  Email of the customer
- `dob` (string<date>)
  Date of Birth of the customer
- `gender` (string)
  Gender of the Customer
- `country_code` (string)
  Country Code for the Country of Customer
- `kyc_status` (string)
  KYC status of the Customer after the details are inspected. `verified` or `blocked`
- `kyc_tier` (number)
  Tier of the customer set based on KYC details provided
- `retries_left` (integer)
- `poi` (object[])
  - `id` (string<uuid>, required)
  - `created_at` (string<date-time>, required)
  - `status` (string, required)
    Verification status of uploaded POI. `accepted` `declined` `pending` `waiting_for_upload`
  - `declined_reason` (string)
- `transaction_limit` (string)
  Amount allowed in each transaction (in SGD)

Example:

```json
[
  {
    "id": "4d37cbdc-9dbb-4604-82a7-8f8753366a68",
    "name": "John Doe",
    "email": "johndoe@example.com",
    "dob": null,
    "gender": null,
    "country_code": "US",
    "kyc_status": "verified",
    "kyc_tier": 1,
    "retries_left": 2,
    "poi": [],
    "transaction_limit": "1500 SGD"
  },
  {
    "id": "3ffa4a2c-1c3e-4ee3-a97b-22d6d323eab4",
    "name": "Jane Doe",
    "email": "janedoe@example.com",
    "dob": "1991-05-04",
    "gender": "male",
    "country_code": "IN",
    "kyc_status": "blocked",
    "kyc_tier": 2,
    "retries_left": 1,
    "poi": [
      {
        "id": "a7d6016f-8b49-4e05-9a9c-08d4fc4e0644",
        "created_at": "2023-05-10T07:05:37.681Z",
        "status": "accepted",
        "declined_reason": null
      },
      {
        "id": "40d76a2e-7f39-46f5-924e-3a53af42e9b8",
        "created_at": "2023-05-03T05:52:03.821Z",
        "status": "declined",
        "declined_reason": "The document is expired, please upload a new document which is not expired"
      }
    ]
  }
]
```

### 401

Invalid/Expired Access Token

- `message` (string)
- `errors` (object[])
  - `path` (string)
  - `message` (string)

Example:

```json
{
  "message": "unauthorized",
  "errors": [
    {
      "path": "string",
      "message": "unauthorized"
    }
  ]
}
```

### 500

Server Error

- `message` (string)

Example:

```json
{
  "message": "Internal Server Error"
}
```