Get customer billing state
Return the Polar-shaped job snapshot for one customer: identity, active and recent subscriptions, and recent invoices with overdue flags. Use this instead of chaining customers_get + subscriptions_list + invoices_list.
/customers/{id}/stateReturn the Polar-shaped job snapshot for one customer: identity, active and recent subscriptions, and recent invoices with overdue flags. Use this instead of chaining customers_get + subscriptions_list + invoices_list.
The snapshot includes subscriptions and invoices, so the key needs customers:read, subscriptions:read and invoices:read; a key missing any of them gets 403.
Related endpoints
POST /customers— Create a new customerGET /customers— List customersGET /customers/{id}— Get customer by IDPATCH /customers/{id}— Update customer detailsGET /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 aWWW-Authenticate: Bearerchallenge.403 authorization_error— the caller is identified but the action is denied. Codes includeinsufficient_permissions,ip_not_allowed,merchant_mismatch, andorigin_not_allowed.404 resource_missing— the referenced resource does not exist or is not visible to your key.
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
Scope: customers:read, invoices:read, subscriptions:read
Path Parameters
Customer UUID
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.revkeen.com/v2/customers/11111111-1111-4111-8111-111111111111/state" \
-H "x-api-key: $REVKEEN_API_KEY"Synthetic documentation data, validated against the response schema; not a live API result.
{ "data": { "customer": { "id": "00000000-0000-4000-8000-000000000001", "email": "string", "name": "string", "company_name": "string", "created_at": "2019-08-24T14:15:22Z" }, "subscriptions": { "active": [ { "id": "00000000-0000-4000-8000-000000000001", "status": "string", "amount_minor": 0, "currency": "string", "current_period_end": "2019-08-24T14:15:22Z", "product_id": "string", "price_id": "string" } ], "active_has_more": true, "all": [ { "id": "00000000-0000-4000-8000-000000000001", "status": "string", "amount_minor": 0, "currency": "string", "current_period_end": "2019-08-24T14:15:22Z", "product_id": "string", "price_id": "string" } ], "all_has_more": true }, "invoices": { "overdue": [ { "id": "00000000-0000-4000-8000-000000000001", "status": "string", "amount_due_minor": 0, "currency": "string", "due_date": "2019-08-24T14:15:22Z", "overdue": true } ], "overdue_has_more": true, "recent": [ { "id": "00000000-0000-4000-8000-000000000001", "status": "string", "amount_due_minor": 0, "currency": "string", "due_date": "2019-08-24T14:15:22Z", "overdue": true } ], "recent_has_more": true } }}