Get Active Account

GET /v1/account

Returns the details and settings of your active account — the account your current API key or token is scoped to. Every request you make operates inside one active account; resources you create, list, and bill against all belong to it. Use /user/accounts to see every account you belong to and /user/switch-account to change which one is active.

The response also tells you your own role and ownership in this account, so a client can decide which management controls to show.

Response (200 OK)

An account object with the following fields:

uuid string (uuid)
The account's public id. This is the account_uuid you pass to /user/switch-account.
name string
Display name of the account.
owner_user_uuid string (uuid)
The uuid of the account owner. The owner holds the plan, payment method, and full permissions.
plan string?
The slug of the plan the account is on (e.g. team). Drives the account's entitlements and limits. Omitted when the account has no plan. See /account/billing.
subscription_status string?
Subscription state for the account's plan (e.g. active, trialing, 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.
is_default bool
true for the account that was created automatically when you registered. Each user has exactly one default account.
is_owner bool
true when you are the owner of this account.
role_label string
Your role in this account, as /user/accounts labels it: "Owner" for the owner, else the name of the role you were assigned. Omitted when your role can't be read.
is_active bool
Always true here — this is the account your token is scoped to (in /user/accounts it marks the active one).
has_valid_payment_method bool
true when the account has a valid card on file. Some features require it — the same value as /account/verification-status.
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.
created_at, updated_at datetime
RFC 3339 timestamps for when the account was created and last modified.

Deprecated: until the sunset this response also carries the legacy integer id and *_id fields. Don't use them; read uuid and the *_uuid fields.

Suspension and unpaid invoices

Two more objects sit next to account. They are also on /account/entitlements, which every member can read (there without hosted_invoice_url).

suspension object
Whether the account is suspended: {suspended, kind, since}. kind is unpaid (an invoice is unpaid), usage (over the plan's limits), admin or abuse (set by ngris), or other; omitted when the account isn't suspended. since is when it was suspended (null when it isn't). While suspended the account can't be used: every request answers 403 with code account_suspended, except the caller's own user and settings, the accounts list and switching, this route and entitlements, and billing. See When an account is suspended.
unpaid object?
null when nothing is owed. Otherwise an invoice is unpaid and will suspend the account: since (when ngris first saw it unpaid), suspend_at (when the account will be suspended unless it is paid; null once it is suspended), and billing_access (whether you can see the invoice). Only when billing_access is true: invoice_count, invoice_number (the oldest unpaid invoice), amount + currency (the total still owed in the currency's smallest unit; omitted when the invoices are in more than one currency), amount_display (e.g. "$29.00") and hosted_invoice_url (the oldest unpaid invoice's payment page). See Unpaid invoice → suspension.

Errors

401 Unauthorized
Missing or invalid auth.
403 Forbidden
No active account is selected on your token, or your role doesn't include reading the account's settings (read the suspension and unpaid objects from /account/entitlements instead).
404 Not Found
The active account no longer exists.
Request
curl "https://api.ngris.com/v1/account" \ -H "X-API-KEY: <your_api_key>"
Python
from ngris import Ngris client = Ngris(api_key="<your_api_key>") account = client._get_raw("/account") print(account["name"], account["role_label"])
Response — 200 OK
{ "account": { "uuid": "019a68b9-1a79-7820-a884-41f554aba6bd", "name": "Acme Engineering", "owner_user_uuid": "019a52c2-ca1e-78ba-ab5c-50362cc29134", "plan": "team", "subscription_status": "active", "stripe_subscription_id": "sub_1Q2w3E4r5T6y7U8i", "is_default": false, "is_owner": true, "role_label": "Owner", "is_active": true, "has_valid_payment_method": true, "kyc_status": "verified", "kyc_verified_at": "2026-04-03T12:00:00Z", "created_at": "2026-04-01T09:00:00Z", "updated_at": "2026-05-20T14:30:00Z" }, "suspension": {"suspended": false, "since": null}, "unpaid": { "since": "2026-10-25T10:00:00Z", "suspend_at": "2026-11-08T10:00:00Z", "billing_access": true, "invoice_count": 1, "invoice_number": "8F3A2C1D-0004", "amount": 2900, "currency": "usd", "amount_display": "$29.00", "hosted_invoice_url": "https://invoice.example.com/i/..." } }
Was this helpful?
On this page
Get Active Account
Was this helpful?