Skip to main content
POST
Create an Account

Headers

Content-Type
string

The type of media of the resource. Recommended value is application/json.

X-Request-Id
string<uuid>

A unique identifier used to trace and track each request.

Authorization
string

Bearer JWT token for authentication. Required when PLUGIN_AUTH_ENABLED=true (enforced in multi-tenant deployments). Optional in default OSS single-tenant mode. Format: Bearer <token>

Path Parameters

organization_id
string<uuid>
required

The unique identifier of the Organization associated with the Ledger.

ledger_id
string<uuid>
required

The unique identifier of the associated Ledger.

Body

application/json
assetCode
string
required

The code that identifies the Asset used in the Account. Important: Must be an Asset that you've already created using the Create an Asset endpoint.

Maximum string length: 100
type
string
required

Specifies the Account Type associated with the account. This field is required. Important: When Account Type validation is enabled for your Organization and Ledger, the value must match an existing keyValue defined in your Account Types configuration. When validation is disabled (default behavior), the field is still required but accepts any free-form string without validation. The value external is reserved and rejected on input.

Maximum string length: 256
name
string

The name of the Account.

Maximum string length: 256
alias
string

A unique, user-friendly identifier for the account. Used to reference the account in transactions and other operations. If not provided, the system will use the account's ID as the alias. Note: the alias must not contain the reserved prefix @external/, which is reserved for system-managed external accounts.

Maximum string length: 100
Pattern: ^[a-zA-Z0-9@:_-]+$
blocked
boolean
default:false

Defines whether the account should start locked.

parentAccountId
string<uuid> | null

The unique identifier of the parent Account, if this is a sub-account.

entityId
string | null

The unique identifier of the Entity responsible for the Account.

Maximum string length: 256
portfolioId
string<uuid> | null

The unique identifier of the associated Portfolio.

segmentId
string<uuid> | null

The unique identifier of the Segment which is used to cluster the Account.

status
object

An object containing information about the status. Important: If not provided, the default status will be 'ACTIVE'.

metadata
object

An object containing key-value pairs to add as metadata, where the field name is the key and the field value is the value. For example, to add a Cost Center, use 'costCenter': 'BR_11101997'.

Constraints: keys must be at most 100 characters; string values at most 2000 characters. Nested objects are not allowed (values must be string, number, or boolean), the structure may not exceed a maximum depth of 10, and a maximum of 100 keys is permitted.

Response

Indicates that the request was successful and the response contains the expected data.

id
string<uuid>

The unique identifier of the Account.

organizationId
string<uuid>

The unique identifier of the Organization.

ledgerId
string<uuid>

The unique identifier of the Ledger.

assetCode
string

The code that identifies the Asset used in the Account.

name
string

The name of the Account.

Maximum string length: 256
alias
string

A unique, user-friendly identifier for the account. Used to reference the account in transactions and other operations.

type
string

Specifies the Account Type associated with the account.

blocked
boolean
default:false

Defines whether the account should be blocked.

parentAccountId
string<uuid> | null

The unique identifier of the Parent Account.

entityId
string | null

The unique identifier of the Entity responsible for the Account.

portfolioId
string<uuid> | null

The unique identifier of the associated Portfolio.

segmentId
string<uuid> | null

The unique identifier of the Segment which is used to cluster the Account.

status
object

An object containing information about the status.

metadata
object

An object containing key-value pairs to add as metadata, where the field name is the key and the field value is the value. For example, to add a Cost Center, use 'costCenter': 'BR_11101997'.

Constraints: keys must be at most 100 characters; string values at most 2000 characters. Nested objects are not allowed (values must be string, number, or boolean), the structure may not exceed a maximum depth of 10, and a maximum of 100 keys is permitted.

createdAt
string<date-time>

Timestamp of creation (UTC).

updatedAt
string<date-time>

Timestamp of last update (UTC).

deletedAt
string<date-time> | null

Timestamp of soft deletion, if applicable (UTC).