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

# Customers and Subscribers

> Register Payers and Issue Recurring Subscriber Virtual Accounts

A **subscriber virtual account** is a permanent number for one end customer. Reuse it every billing cycle. The customer pays from M-Pesa, PesaLink, or RTGS into that number.

## Create Customer

```http theme={null}
POST https://vas.finpaytech.co/business-api/api/v1/merchants/me/customers
Authorization: Bearer <access-token>
Content-Type: application/json

{
  "displayName": "Jane Wanjiku",
  "externalRef": "crm-44019",
  "email": "jane@example.com",
  "phone": "254712345678"
}
```

`externalRef` is optional. Store your own CRM or subscription id there.

## List and Get

```http theme={null}
GET https://vas.finpaytech.co/business-api/api/v1/merchants/me/customers
Authorization: Bearer <access-token>
```

Optional query: `subMerchantId`.

```http theme={null}
GET https://vas.finpaytech.co/business-api/api/v1/merchants/me/customers/{customerId}
Authorization: Bearer <access-token>
```

## Issue the Subscriber Account

```http theme={null}
POST https://vas.finpaytech.co/business-api/api/v1/merchants/me/customers/{customerId}/virtual-account
Authorization: Bearer <access-token>
```

Returns `201` with `purpose: SUBSCRIBER` and `accountNumber`. Show that number on the customer's billing screen. Fetch payer copy with `GET https://vas.finpaytech.co/business-api/api/v1/merchants/me/payment-options?customerId={customerId}`.
