# Get a customer

**GET** `/customers/{customerId}`

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

Returns a customer and its KYC details

## Authorization

- oauth2 (http, bearer)

## Path parameters

- `customerId` (string, required)

## 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": "9598bb1a-4ce8-485b-a093-387656560624",
  "name": "John Doe",
  "email": "johndoe@example.com",
  "dob": "1991-04-12",
  "gender": "Male",
  "country_code": "US",
  "kyc_status": "verified",
  "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"
    }
  ],
  "transaction_limit": "1500 SGD"
}
```

### 400

Invalid Customer ID

- `message` (string)

Example:

```json
{
  "message": "Invalid Customer Id"
}
```

### 401

Invalid/Expired Access Token

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

Example:

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

### 404

Not found

- `message` (string)

Example:

```json
{
  "message": "Customer Not Found"
}
```

### 500

Server Error

- `message` (string)

Example:

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