Customers
Base:/v1/customers. Authenticate with an API key:
Responses use the standard envelope:
{ data } for single resources, { data, meta } for lists.
External id
Optionalexternal_customer_id (string, max 200). Trimmed; empty → null. Unique per account owner when set (409 on conflict). Returned on all customer payloads. Filter list with ?external_customer_id=.
Create customer
Example response:
List / filter
page / per_page (max 100). If both omitted, returns the full set with meta reflecting the full count.
Delete customer
{ "data": { "ok": true } } on success.
Deletion is blocked (409 conflict) while the customer still has:
- Active licenses —
status = active(revoke first) - Active devices —
status = pendingorenrolled(revoke first) - Unrevoked API keys

