List sub-accounts

GET /api/v1/sub-accounts tenant key

Lists the sub-accounts on your account, by name. A sub-account is a way to present segregated inventory that is still wholly yours: a card is either in your own inventory or filed under exactly one sub-account. It is a label, not a boundary — cards filed under one are handled, billed, insured and shelved exactly like the rest of your inventory, sit in the same physical bin, and land on the same invoice; no custody changes. This is the discoverable list of the values GET /cards?sub_account= and POST /cards/sub-account accept, so you never have to guess a slug. Gated exactly like GET /cards: a tenant key is all it takes, there is no separate read scope.

RIP staff create and retire sub-accounts on request. The tenant-facing API is read-and-move only — there is no create and no delete here, so do not go looking for one; ask your account manager instead.

Retired sub-accounts are omitted from this list, but a retired slug still resolves as a ?sub_account= filter on GET /cards, so cards left filed under one stay reachable rather than disappearing from your filtered views. What a retired sub-account cannot do is receive cards: POST /cards/sub-account rejects it with a 400.

An account with no sub-accounts returns an empty array, not a 404 — that is the normal state for most tenants, and ?sub_account=main and ?sub_account=all are accepted either way.

Try it GET /api/v1/sub-accounts
response

Not run yet. Press Run to make a live call against https://service.rip.fun (through this demo's server-side proxy; the API key never reaches the browser).

curl (tracks the inputs above)
curl -X GET 'https://service.rip.fun/api/v1/sub-accounts' \
  -H 'X-API-Key: rip_…'

Response fields (data)

FieldDescription
sub_accounts[].slugThe value you pass to ?sub_account= and to POST /cards/sub-account. Lowercase, matched case-insensitively, and stable once published — key your own records on it. Never `main`, `all` or `none`: those are reserved filter keywords and can never be a slug
sub_accounts[].nameDisplay name, e.g. "Underdog". Unique within your account (case-insensitively), as is the slug
sub_accounts[].created_atWhen it was created (ISO 8601). Always present — the column is NOT NULL

Errors

StatusCodeWhen
403Tenant API key requiredkey is not tenant-scoped (e.g. a mystery-partner key)

See Errors for the response envelope and the full code list.