👥 Customers & VaultCustomers

List customers

Retrieve a paginated list of customers for the merchant

GET/customers

Retrieve a paginated list of customers for the merchant


Related endpoints

  • GET /customers/{id}/state — Get customer billing state
  • POST /customers — Create a new customer
  • GET /customers/{id} — Get customer by ID
  • PATCH /customers/{id} — Update customer details
  • GET /customers/{id}/payment-methods — Get customer payment methods

Common errors

  • 401 authentication_error — missing, invalid, expired, or revoked credential. Codes: authentication_failed, invalid_api_key, expired_api_key, api_key_revoked, session_invalid, merchant_required. Carries a WWW-Authenticate: Bearer challenge.

Pagination

Offset-based with limit (default 25, max 100) and offset. The response pagination block includes total and hasMore. See the pagination guide for SDK auto-paging helpers.

x-api-key<token>

Your RevKeen merchant API key. Create and manage keys in Dashboard → Settings → Developer. Use rk_sandbox_* for staging/test and rk_live_* for production. The same key may be sent as Authorization: Bearer <key> if that suits your HTTP client better. A missing, invalid, expired, or revoked key returns 401 with a WWW-Authenticate: Bearer challenge; a valid key without the required scope returns 403.

In: header

Query Parameters

limit?integer

Maximum number of results (1-100)

Range1 <= value <= 100
Default20
offset?|

Number of results to skip

Range0 <= value
Default0
search?string

Search term to filter customers by name or email. Matched as a literal substring, case-insensitively.

external_id?string

Return the customers whose external_id equals this value. Usually that is one customer; it is more than one only when a customer synced from an integration carries the same value.

Length1 <= length <= 255

Response Body

application/json

application/json

application/json

Stuck on an error response? Ask the RevKeen assistant to explain it.
curl -X GET "https://api.revkeen.com/v2/customers?limit=20&offset=0" \
  -H "x-api-key: $REVKEEN_API_KEY"

Synthetic documentation data, validated against the response schema; not a live API result.

{  "data": [    {      "id": "c2a1e7d4-5b3f-4a8e-9d21-6f0b3e4c7a11",      "merchant_id": "8f14e45f-ceea-4e7a-9b4b-7c3f1a2d5e60",      "merchant_ref_id": "CRM-10482",      "external_id": "usr_123",      "email": "ada.lovelace@example.com",      "name": "Ada Lovelace",      "phone": "+44 20 7946 0958",      "company_name": "Analytical Engines Ltd",      "address_line1": "1 Example Street",      "address_line2": "Suite 4",      "city": "London",      "state": "Greater London",      "postal_code": "EC1A 1BB",      "country": "GB",      "auth_user_id": "00000000-0000-4000-8000-000000000001",      "metadata": {        "crm_id": "10482"      },      "custom_fields": {        "membership_tier": "gold"      },      "created_at": "2026-04-02T10:00:00.000Z",      "updated_at": "2026-04-02T10:05:00.000Z"    }  ],  "pagination": {    "limit": 20,    "offset": 0,    "total": 42  }}

Put this endpoint to work