BillKit/Docs Console
Customers

Retrieve a customer

Fetches one customer by id, including their country, VAT status and the test clock they are attached to.

GET/v1/customers/{customer_id}
Operation get_customer · Scope customers:read · Spec snapshot 2026-09-13

Parameters

ParameterDescription
customer_idstring · pathrequiredNo description in the spec.

Returns

The customer object. A customer belonging to the other mode, or to another account, is a 404 rather than a 403, so no id existence leaks across tenants.

Deleted and purged customers are a 404 here too. Deletion is soft and a GDPR purge only anonymises the personal fields, so the row stays behind and their invoices and payments still resolve; the customer itself stops being readable.

Test it

Compare the response against the same record in the console under Customers. The two views are the same row.

Errors

Status Cause
401 Missing or invalid API key.
403 Key is missing the customers:read scope.
404 No such object, or it belongs to the other mode.
422 Validation Error
429 Rate limited. Back off and retry.
Request · curl
curl -X GET https://api.billkit.eu/v1/customers/cus_9XKp2vQ1 \
  -H "Authorization: Bearer $BILLKIT_SECRET_KEY"
Response · 200 OK
{
  "country_code": "NL",
  "created": 1789392000,
  "email": "ada@example.com",
  "id": "cus_9XKp2vQ1",
  "livemode": false,
  "metadata": {
    "key": "value"
  },
  "name": "Ada Lovelace",
  "object": "customer",
  "provisional": false,
  "stats": {
    "currency": "EUR",
    "lifetime_cents": 1900,
    "object": "customer.stats",
    "subscription_count": 0
  },
  "test_clock": "string",
  "vat_number": "string",
  "vat_number_validated": false
}