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

# Create account

`POST /core/accounts`

## Request

- Base URL: `https://api.enterprise.sandbox.uphold.com`
- URL: `https://api.enterprise.sandbox.uphold.com/core/accounts`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/core/oauth2/token` scopes: `core.accounts:create`
- TypeScript: <https://skmtc.dev/uphold/apis/core-api/docs/core/accounts/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new account.

## Headers

- `X-On-Behalf-Of` string
- `X-Uphold-User-Ip` union
  - string, ipv4
  - string, ipv6
- `X-Uphold-User-Agent` string
- `X-Uphold-User-Origin` string
- `X-Uphold-User-Country` string
- `X-Uphold-User-Subdivision` string
- `X-Uphold-User-City` string

## Request body

- object
  - `label` string, required: The label of the account.
  - `asset` string, required: The asset in which the account will be denominated.
  - `metadata` Metadata

## Response `201`

Account created.

- object
  - `account` Account, required
    - `id` string, uuid, required: The id of the account.
    - `ownerId` string, uuid, required: The id of the user that owns the account.
    - `label` string, required: The label of the account.
    - `asset` string, required: The asset in which the account is denominated.
    - `balance` object, required: The balance of the account.
      - `total` string, required: The total balance of the account.
      - `available` string, required: The available balance of the account.
    - `createdAt` string, date-time, required: The time at which the account was created.
    - `updatedAt` string, date-time, required: The last time at which the account was updated.
  - `errors` object: Additional contextual errors that occurred while processing the request.
    - `metadata` object: Error related to metadata processing.
      - `code` string, required: A short string with a brief explanation about the code reported.
      - `message` string, required: A human-readable message providing more details.
      - `details` object: Additional information about the feedback reported.

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Resource not found.
- `409`: Business logic error.
- `429`: Too Many Requests.

---

[API](https://skmtc.dev/uphold/apis/core-api.md) - [All operations](https://skmtc.dev/uphold/apis/core-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uphold/apis/core-api/revisions/6c663575c57a?raw)
