---
title: "Retrieve one account"
method: GET
path: "/client"
tags: ["accounts"]
---

# Retrieve one account

`GET /client`

## Request

- The document declares no server URL.
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/hevn-inc/apis/hevn-api/docs/client/get.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve the client selected by `X-Hevn-Account`. Unknown, malformed and foreign account ids share the same not-found response.

## Headers

- `X-Hevn-Account` string, required: The selected client account, as a `cl_…` id.

## Response `200`

Successful Response

- ClientResponse
  - `id` string, required: Stable public identifier for this account.
  - `status` 'provisioning' | 'ready' | 'failed', required
  - `name` string, nullable: Legal or trading name of the account.
  - `email` string, nullable: Email address associated with the account.
  - `phone` string, nullable: Phone number in international E.164 format.
  - `baseSmartWallet` string, nullable: Base smart-wallet address controlled by the account.
  - `kybStatus` 'notStarted' | 'pending' | 'approved' | 'rfi' | 'rejected'
  - `kybApplicationId` string, nullable: Latest immutable business-verification application identifier.
  - `verifiedAt` string, date-time, nullable: When the account was verified: identity verification for a person, KYB for a business.
  - `createdAt` string, date-time, required: UTC timestamp when the account was created.
  - `failure` ClientFailureResponse
    - `code` 'provisioning_failed' | 'request_rejected' | 'request_canceled', required
    - `message` string, required: Human-readable explanation safe to show to the account holder.
    - `retriable` boolean: Whether retrying later without changing the request may succeed.
  - `pollUrl` string, nullable: Relative API URL to poll with this response's id in `X-Hevn-Account`.
  - `transferPolicy` TransferPolicyResponse: Effective account-level money-movement controls. ``isFrozen`` overrides every permission. When the account is not frozen, ``recoveryModeActivated`` restricts it to first-party fiat withdrawals. The remaining flags are then evaluated for the requested operation.
    - `allowFiat` boolean, required: Allow account-initiated fiat payouts, subject to freeze and recovery controls.
    - `allowCrypto` boolean, required: Allow account-initiated on-chain transfers, including transfers to another platform account, subject to freeze and recovery controls.
    - `allowThirdParty` boolean, required: Allow fiat or on-chain payouts to an external contact. Email and escrow payments within the same platform group use narrower controls.
    - `allowEscrowThirdParty` boolean, required: Allow escrow to another platform account. This control is independent from allowThirdParty; same-group escrow also requires allowPartnerGroupPayments.
    - `allowSwap` boolean, required: Allow balance swaps, subject to freeze and recovery controls.
    - `allowPartnerGroupPayments` boolean, required: Allow email and escrow payments between accounts in the same platform group. Email payments also require allowCrypto; escrow also requires allowEscrowThirdParty.
    - `dualApproval` boolean, required: Require a separately approved transfer request before payment co-signing.
    - `isFrozen` boolean, required: Block every new money movement, overriding every allow flag.
    - `recoveryModeActivated` boolean, required: Restrict money movement to first-party fiat payouts whose Contact belongs to this account and whose account-holder name matches the account name.

## Other responses

- `422`: Request validation failed

## Changes

- **2026-11-12** `299a3aa6f521`: 1 warning, 3 info
  - added the new `verification_not_applicable` enum value to the `error/code` response property for the response status `422`
  - added the optional property `verifiedAt` to the response with the `200` status
  - removed the `phone_required` enum value from the `error/code` response property for the response status `422`
  - removed the `rail_requirements_unmet` enum value from the `error/code` response property for the response status `422`
- **2026-10-23** `a02795de2d2b`: 9 warning, 6 info
  - deleted the `header` request parameter `x-api-key`
  - added the new `client_already_linked` enum value to the `error/code` response property for the response status `422`
  - added the new `kyb_documents_processing` enum value to the `error/code` response property for the response status `422`
  - added the new `link_code_expired` enum value to the `error/code` response property for the response status `422`
  - …11 more
- **2026-10-20** `19eb00e9f258`: 1 info
  - removed the `phone_in_use` enum value from the `error/code` response property for the response status `422`
- **2026-10-20** `bd6c9d69540e`: 1 warning
  - added the new `phone_in_use` enum value to the `error/code` response property for the response status `422`
- **2026-10-20** `19eb00e9f258`: 1 info
  - removed the `document_fields_missing` enum value from the `error/code` response property for the response status `422`

[Operation history](https://skmtc.dev/hevn-inc/apis/hevn-api/changes/client/get.md)

---

[API](https://skmtc.dev/hevn-inc/apis/hevn-api.md) - [All operations](https://skmtc.dev/hevn-inc/apis/hevn-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hevn-inc/apis/hevn-api/revisions/299a3aa6f521?raw)
