v1

latestOpenAPI 3.1.02026-07-263644911022.4 KB
Assets API

Create an Asset

Use this endpoint to create the Asset that will be used with the transactions. You can create multiple Assets. However, the Assets must be created one at a time, with each Asset requiring specific decimal place settings and other individual parameters to be defined during the creation process.

Asset code: must consist of uppercase letters only (A-Z). This applies to all asset types, not just currencies; codes containing digits or symbols are rejected.

Side effect: creating an Asset automatically provisions a dedicated external account (alias @external/<CODE>, type external) together with its default balance. These system-managed resources back external (off-ledger) movements for the asset.

post/v1/organizations/{organization_id}/ledgers/{ledger_id}/assets

Path parameters

organization_idstring uuid required

The unique identifier of the Organization associated with the Ledger.

ledger_idstring uuid required

The unique identifier of the associated Ledger.

Headers

Content-Typestring

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

X-Request-Idstring uuid

A unique identifier used to trace and track each request.

Authorizationstring

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>

Request body

namestring required

The name of the Asset, which must be unique.

type'currency' | 'crypto' | 'commodity' | 'others' enum required

The type of Asset.

codestring required

The code used to refer to the Asset, according to its type. The code must consist of uppercase letters only (A-Z); digits and symbols are rejected. Important: It's not possible to create assets with the same type and code. Also, if the Asset is a currency (type = currency), the code must follow the ISO 4217 values.

metadataMetadata

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.

idstring uuid

The unique identifier of the Asset.

organizationIdstring uuid

The unique identifier of the Organization.

ledgerIdstring uuid

The unique identifier of the Ledger.

namestring

The name of the Asset.

type'currency' | 'crypto' | 'commodity' | 'others' enum

The type of Asset.

codestring

The code used to refer to the Asset.

metadataMetadata

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.

createdAtstring date-time

Timestamp of creation (UTC).

updatedAtstring date-time

Timestamp of last update (UTC).

deletedAtstring date-time nullable

Timestamp of soft deletion, if applicable (UTC).