quotastack Docs
Docs / Changelog / 2026-04-14 · External customer IDs, plus early API fixes

2026-04-14 · External customer IDs, plus early API fixes

external_customer_id becomes a first-class identifier across usage, reservations, topups, subscriptions, and webhooks. Plus a display_name field and reservation status lookups.

External customer IDs, plus early API fixes

Two batches shipped the same day. The first gave your own customer IDs equal standing with QuotaStack’s. The second closed four small gaps found in review.

Added — external_customer_id as a first-class identifier

Four endpoints now take external_customer_id in the body, next to the existing customer_id: POST /v1/usage, /v1/usage/batch, /v1/reservations, and /v1/topups/grant. Exactly one of the two is required.

A new URL family mirrors this: /v1/customer-by-external-id/{external_id}/.... It sits beside /v1/customers/{id}/... and supports the same calls.

POST /v1/subscriptions now also takes external_customer_id. The old customer_id form still works.

Every customer-scoped webhook envelope now carries both customer_id and external_customer_id, when the customer record still exists at delivery time.

See Customer Identification for when to use which form.

Added — display_name on customers

An optional label, up to 200 characters, for your own dashboards and search. QuotaStack does not use it for anything else.

{ "external_id": "user_alice", "display_name": "Alice" }

Added — reservation status and listing

GET /v1/reservations/{id} returns one reservation’s current status. Use it to check whether a reservation is still open before you commit or release it.

Two list endpoints cover a customer’s reservations: GET /v1/customers/{id}/reservations and its external-id twin. Both take status, cursor, and limit.

See Reservations.