List My Accounts
Lists every account you belong to — accounts you own plus any you've joined via an invitation. This is the endpoint that backs an account switcher: it tells you, per account, your role and which one is currently active so you can highlight the selection and offer the others.
This call is about you, not the active account, so it works regardless of which account your token is scoped to. To change the active account, pass a uuid from this list as account_uuid to /user/switch-account.
Response (200 OK)
accounts object[]
Every account you're an active member of. See the per-entry fields below.
active_account_uuid string (uuid) | null
The
uuid of the account your current token is scoped to. null if none is selected. Matches the entry whose is_active is true.Account entry fields
uuid string (uuid)
The account's public id. Pass it as
account_uuid to /user/switch-account.name string
Account display name.
is_active bool
true for the account your token is currently scoped to.is_default bool
true for the account created automatically when you registered.is_owner bool
true when you own this account.role_label string
Your role in the account —
"Owner" or the name of your assigned role.has_valid_payment_method bool
true when the account has a valid card on file — the same value as GET /v1/account answers for it.kyc_status string
The account's identity verification:
none, pending, verified or rejected.kyc_verified_at datetime?
When the identity verification was approved. Omitted until it is.
owner_user_uuid string (uuid)
The
uuid of the account owner.plan string?
The slug of the account's plan (e.g.
team). Omitted when the account has no plan.plan_name string?
The plan's display name (e.g.
"Developer" for the slug free), for an account-switcher badge. Omitted when the account has no plan.subscription_status string?
Subscription state for the account's plan (e.g.
active, past_due). Omitted when the account has no paid subscription.stripe_subscription_id string?
The account's subscription id. Omitted when the account has no paid subscription.
created_at, updated_at datetime
When the account was created and last modified, RFC 3339 UTC.
Entries are ordered with your default account first, then by name.
Deprecated: until the sunset this response also carries the legacy integer id and *_id fields (including active_account_id). Don't use them; read uuid and the *_uuid fields.
Errors
401 Unauthorized
Missing or invalid auth.
Request
curl "https://api.ngris.com/v1/user/accounts" \
-H "X-API-KEY: <your_api_key>"
Python
from ngris import Ngris
client = Ngris(api_key="<your_api_key>")
result = client._get_raw("/user/accounts")
for acct in result["accounts"]:
print(acct["name"], acct["role_label"], acct["is_active"])
Response — 200 OK
{
"accounts": [
{
"uuid": "019a68b9-1a79-7820-a884-41f554aba6bd",
"name": "Acme Engineering",
"owner_user_uuid": "019a52c2-ca1e-78ba-ab5c-50362cc29134",
"plan": "team",
"plan_name": "Team",
"subscription_status": "active",
"stripe_subscription_id": "sub_1Q2w3E4r5T6y7U8i",
"is_active": true,
"is_default": true,
"is_owner": true,
"role_label": "Owner",
"has_valid_payment_method": true,
"kyc_status": "verified",
"kyc_verified_at": "2026-04-03T12:00:00Z",
"created_at": "2026-01-12T09:00:00Z",
"updated_at": "2026-05-20T14:30:00Z"
},
{
"uuid": "019a6e8e-a31d-751c-96b0-440186b7f3a8",
"name": "Client Project",
"owner_user_uuid": "019a5f28-be41-7264-9ed2-2e6aceae8290",
"plan": "free",
"plan_name": "Developer",
"is_active": false,
"is_default": false,
"is_owner": false,
"role_label": "Developer",
"has_valid_payment_method": false,
"kyc_status": "none",
"created_at": "2026-03-04T14:30:00Z",
"updated_at": "2026-03-04T14:30:00Z"
}
],
"active_account_uuid": "019a68b9-1a79-7820-a884-41f554aba6bd"
}
Was this helpful?