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

# Overview

> Manage your customers efficiently with the Swerv Customers API.

### 🤖 Create a Customer

To add a new customer to your system, use the [create](/api-reference/customers/create) customer endpoint.

**Body**

<ParamField body="firstname" type="string" required>
  The customer's first name. It must match the customer's government-issued identification for KYC purposes.
</ParamField>

<ParamField body="lastname" type="string" required>
  The customer's last name or surname. It must match the customer's government-issued identification for KYC purposes.
</ParamField>

<ParamField body="middlename" type="string" required>
  The customer's middle name or initial. This can be used for additional verification and should match the customer's government-issued identification if provided.
</ParamField>

<ParamField body="country" type="string" default="NG" required>
  The country of the customer's residence or operation. Use ISO 3166-1 alpha-2 country codes.
</ParamField>

<ParamField body="email" type="string" required>
  The customer's email address.
</ParamField>

**Request Body**

Provide necessary details to set up a new card.

```json Request Body theme={null}
{
  "firstname": "user",
  "lastname": "user",
  "middlename": "user",
  "country": "user",
  "email": "user@mailinator.com"
}
```

### 🔍 Get Customer Details

Retrieve detailed information of a specific customer with their unique identifier using the [get](/api-reference/customers/get) customer endpoint.

**Path Parameters**

<ParamField path="id" type="string" required>
  The unique identifier of the customer to retrieve.
</ParamField>

### 🔍 Get All Customers

Retrieve a comprehensive list of all customers in your system using the [get](/api-reference/customers/get-all-customers) all customers endpoint.

**Query Parameters**

<ParamField query="page" type="string" default={1} required>
  The page to return.
</ParamField>

<ParamField query="limit" type="string" default={10} required>
  The maximum number of results to return.
</ParamField>

## Perform KYC for a Customer

Conduct Know Your Customer (KYC) checks to verify the identity of your customers using the [customer KYC](/api-reference/customers/kyc) endpoint.

<Note>
  Customer KYC is required before issuing a `DEFAULT` USD collection account for a customer. After KYC is submitted, create a USD collection with `currency` set to `USD` and include the required `additional_information` payload.
</Note>

**Parameters**

<ParamField path="id" type="string" required>
  The unique identifier of the customer to retrieve.
</ParamField>

**Body**

* `tier` enum (ONE, TWO, FULL) :
  * The amount to fund in the smallest currency unit.
* `information` object :
  * `bvn` string : customer bvn (Nigeria)
  * `ssnit` string : customer ssnit (Ghana)
  * `state` string : customer state
  * `city` string : customer city
  * `country` string : customer country
  * `address` string : customer address
  * `postal_code` string : customer address postal code
  * `date_of_birth` string : customer date of birth
* `document` object :
  * `document_type` enum (NIN, PASSPORT, DRIVERS\_LICENSE)
  * `document_number` number : customer document number
  * `document` url : customer document url
  * `passport` url : customer passport photograph url

```JSON Request Body theme={null}
{
	"tier": "FULL",
	"information": {
		"bvn": "12345678901",
		"state": "Lagos",
		"city": "Ikeja",
		"country": "Nigeria",
		"address": "No 1, Ikeja",
		"postal_code": "100001",
		"date_of_birth": "1990-01-01",
		"phone_number": "08012345678"
	},
	"document": {
		"document_type": "PASSPORT",
		"document_number": "A1234567",
		"document": "https://example.com/document.jpg",
		"passport": "https://example.com/passport.jpg"
	}
}
```

## Blacklist Customer

Blacklist customer from performing any action using the [post](/api-reference/customers/blacklist).

**Parameters**

<ParamField path="id" type="string" required>
  The unique identifier of the customer to blacklist.
</ParamField>
