---
title: "Get account details"
method: GET
path: "/v1/accounts/{id}"
tags: ["Accounts"]
---

# Get account details

`GET /v1/accounts/{id}`

## Request

- Base URL: `https://api.honkio.ca`
- URL: `https://api.honkio.ca/v1/accounts/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Requires `account:r`.

## Path parameters

- `id` string, required

## Response `200`

Account with its active API keys.

- AccountDocument: The account with its rent position, number allowance and active API keys, from GET /v1/accounts/{id}. GET /v1/accounts/me returns it with caller added.
  - `account` object, required: An account, as signup and PATCH /v1/accounts/{id} return it.
    - `id` string, required
    - `name` string, required
    - `email` string, required
    - `stripe_customer_id` string, nullable, required
    - `email_verified_at` string, date-time, nullable, required
    - `status` 'PENDING_PAYMENT' | 'ACTIVE' | 'SUSPENDED' | 'CLOSED', required
    - `balance_cents` integer, required: Credit balance in cents CAD.
    - `verified_phone` string, nullable, required
    - `phone_verified_at` string, date-time, nullable, required
    - `email_undeliverable` boolean, required: True when platform email to this address is bouncing or being marked as spam.
    - `email_undeliverable_at` string, date-time, nullable, required: The bounce or complaint that made the address unreachable.
    - `email_undeliverable_reason` string, nullable, required: BOUNCE or COMPLAINT.
    - `terms_accepted_at` string, date-time, nullable, required: When the owner accepted the Terms of Service and Privacy Policy.
    - `terms_version` string, nullable, required: The Terms version (last-updated date) that was accepted.
    - `created_at` string, date-time, required
    - `monthly_rent_cents` integer, required: Monthly rent owed on every number not yet released (ACTIVE and SUSPENDED).
    - `low_balance` boolean, required: True when the credit balance would not cover next month's phone-number rent.
    - `phone_number_limit` integer, required: Maximum phone numbers this account may hold.
    - `phone_numbers_used` integer, required: Numbers currently held (ACTIVE and SUSPENDED).
    - `email_domain_limit` integer: Maximum live sending domains this account may hold. Present only while email is available.
    - `email_domains_used` integer: Live sending domains held (every status but FAILED). Present only while email is available.
    - `inbound_email_daily_cap` integer: Received emails this account may accept per rolling 24 h before further mail is stored rejected and uncharged (0 = unlimited); the account's own override, or the platform default. Present only while email is available.
    - `inbound_email_received_24h` integer: Received emails counted against the cap above, in the current rolling 24 h window. Present only while email is available.
    - `inbound_email_daily_mb_cap` integer: Billable MB of received email (each message's started MB above the first, the part priced per MB) this account may accept per rolling 24 h; a message that would go past it is stored rejected (daily_mb_cap) and uncharged (0 = unlimited). The account's own override, or the platform default. Present only while email is available.
    - `inbound_email_mb_received_24h` integer: Billable MB counted against the MB cap above, in the current rolling 24 h window. Present only while email is available.
    - `inbound_sms_daily_cap` integer, required: Received texts this account may accept per rolling 24 h before further texts are stored uncharged and not delivered as message.received (0 = unlimited); the account's own override, or the platform default.
    - `inbound_sms_received_24h` integer, required: Received texts counted against the cap above, in the current rolling 24 h window.
  - `api_keys` object[], required: The account's active USER keys (dashboard session keys are not listed).
    - `id` string, required
    - `keyPrefix` string, required: Non-secret prefix for display and identification.
    - `mode` 'LIVE' | 'TEST', required
    - `label` string, nullable, required
    - `createdAt` string, date-time, required
    - `lastUsedAt` string, date-time, nullable, required
    - `defaultDeny` boolean, required: Present on GET /v1/accounts/me and /v1/accounts/{id}; absent from the login response.
    - `permissions` ApiKeyPermissions, required: Per-resource permissions. Each key is a resource name; value is a string of allowed operation letters: r=read, w=write/create, m=modify/update, d=delete. A missing key denies all access to that resource.
    - `email_domain_ids` string[], nullable, required: The email domains this key may send from (ids from /v1/email-domains): null when unrestricted, [] when restricted to none (its domains were deleted). Present on GET /v1/accounts/me and /v1/accounts/{id}; absent from the login response.
    - `oauth_grant` boolean, required: True when an OAuth connection holds this key: it can be revoked but not rotated (409 CONFLICT, details.reason "oauth_grant"). Present on GET /v1/accounts/me and /v1/accounts/{id}; absent from the login response.
  - `features` object, required: Platform capabilities currently available to this account.
    - `email` boolean, required: True when the email product is live; false while it is still gated.

## Other responses

- `401`: Missing, invalid, revoked or expired API key.
- `402`: The account has no balance, or a LIVE key was used before the first top-up.
- `403`: FORBIDDEN: the id is not the calling key's account, or the key lacks the permission this operation requires.
- `404`: NOT_FOUND: no such resource on this account.
- `429`: Rate limit reached: 100 requests per second per account, or a route-specific limit (Retry-After set where one applies).
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/honkio/apis/honkio-api.md) · [All operations](https://skmtc.dev/honkio/apis/honkio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/honkio/apis/honkio-api/revisions/ce4ed3fe9691?raw)
