---
title: "Create account"
method: POST
path: "/v1/accounts"
tags: ["Accounts"]
---

# Create account

`POST /v1/accounts`

Creates a new account.

## Headers

- `Idempotency-Key` string, required

## Request body

- CreateAccountBodyDto
  - `account_program_id` string, uuid, required — ID of the account program to create the account under.
  - `account_holder_id` string, required — ID of an existing virtual account holder to provision the account for.
  - `account_type` 'virtual_account', required — Type of account. Currently only virtual account.

## Response `200`

Account created successfully

- AccountResourceDto
  - `id` string, required — Unique identifier of the account.
  - `type` 'account', required — Resource type discriminator.
  - `currency` 'EUR' | 'GBP' | 'USD' | 'USDC', required — ISO 4217 currency code for the account.
  - `account_type` 'virtual_account' | 'payment_account' | 'collateral_account', required — Type of the account.
  - `status` 'pending' | 'active' | 'frozen' | 'closed', required — Current status of the account.
  - `asset_type` 'fiat' | 'crypto', required — Asset type of the account.
  - `label` string, required — Human-readable label for the account.
  - `financial_addresses` union[], required — Payment identifiers (e.g. IBAN, account number, wallet address) through which this account can send or receive funds.
    - union
      - IbanFinancialAddress
        - `type` 'iban', required — Discriminator for IBAN financial address.
        - `iban` string, required — International Bank Account Number.
        - `account_holder_name` string, required — Name of the account holder.
        - `bic` string, nullable, required — Bank Identifier Code, or null if not provided.
      - SortCodeFinancialAddress
        - `type` 'sort_code', required — Discriminator for UK sort code financial address.
        - `sort_code` string, required — UK sort code (6 digits).
        - `account_number` string, required — UK account number (8 digits).
        - `account_holder_name` string, required — Name of the account holder.
      - AbaFinancialAddress
        - `type` 'aba', required — Discriminator for ABA wire financial address.
        - `routing_number` string, required — ABA routing number (9 digits).
        - `account_number` string, required — Bank account number.
        - `account_holder_name` string, required — Name of the account holder.
      - CryptoWalletFinancialAddress
        - `type` 'crypto_wallet', required — Discriminator for crypto wallet financial address.
        - `address` string, required — Wallet address on the specified blockchain.
        - `blockchain` 'bitcoin' | 'ethereum' | 'solana' | 'polygon' | 'bitcoin_testnet4' | 'ethereum_sepolia' | 'solana_devnet' | 'polygon_amoy', required — Blockchain network for the crypto wallet.
  - `created_at` string, date-time, required — ISO 8601 UTC timestamp when the account was created.
  - `updated_at` string, date-time, required — ISO 8601 UTC timestamp when the account was last updated.

## Changes

- **2026-08-17** `3ed0a0aba68b` — 4 info
  - removed the `BTC` enum value from the `currency` response property for the response status `200`
  - removed the `ETH` enum value from the `currency` response property for the response status `200`
  - removed the `POL` enum value from the `currency` response property for the response status `200`
  - removed the `SOL` enum value from the `currency` response property for the response status `200`
- **2026-07-27** `1d6de495a31d` — 2 breaking, 1 warning
  - added the new required request property `account_holder_id`
  - the `header` request parameter `Idempotency-Key` became required
  - removed the request property `beneficiary_data`
- **2026-07-13** `d92a4abea6c4` — 4 warning
  - added the new `ETH` enum value to the `currency` response property for the response status `200`
  - added the new `POL` enum value to the `currency` response property for the response status `200`
  - added the new `SOL` enum value to the `currency` response property for the response status `200`
  - added the new `collateral_account` enum value to the `account_type` response property for the response status `200`
- …earlier changes not shown

[Full history](https://skmtc.dev/augustus/apis/augustus-banking-api/changes/v1/accounts/post.md)

---

[API](https://skmtc.dev/augustus/apis/augustus-banking-api.md) · [All operations](https://skmtc.dev/augustus/apis/augustus-banking-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/augustus/augustus-banking-api/revisions/37109d1ed976/schema)
