Skip to main content
POST
/
v1
/
organizations
/
{organization_id}
/
ledgers
/
{ledger_id}
/
transactions
/
dsl
Create a Transaction using DSL
curl --request POST \
  --url https://ledger.sandbox.lerian.net/v1/organizations/{organization_id}/ledgers/{ledger_id}/transactions/dsl \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form dsl='@example-file'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "parentTransactionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "ledgerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "description": "<string>",
  "route": "<string>",
  "routeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "status": {
    "code": "<string>",
    "description": "<string>"
  },
  "amount": "<string>",
  "assetCode": "<string>",
  "chartOfAccountsGroupName": "<string>",
  "source": [
    "<string>"
  ],
  "destination": [
    "<string>"
  ],
  "createdAt": "2023-11-07T05:31:56Z",
  "updatedAt": "2023-11-07T05:31:56Z",
  "deletedAt": "2023-11-07T05:31:56Z",
  "operations": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "transactionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "ledgerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "accountId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "accountAlias": "<string>",
      "balanceId": "<string>",
      "balanceKey": "<string>",
      "description": "<string>",
      "type": "CREDIT",
      "assetCode": "<string>",
      "chartOfAccounts": "<string>",
      "route": "<string>",
      "routeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "routeCode": "<string>",
      "routeDescription": "<string>",
      "direction": "debit",
      "amount": {
        "value": "<string>"
      },
      "balance": {
        "available": "<string>",
        "onHold": "<string>",
        "version": 123
      },
      "balanceAfter": {
        "available": "<string>",
        "onHold": "<string>",
        "version": 123
      },
      "status": {
        "code": "<string>",
        "description": "<string>"
      },
      "balanceAffected": true,
      "createdAt": "2023-11-07T05:31:56Z",
      "updatedAt": "2023-11-07T05:31:56Z",
      "deletedAt": "2023-11-07T05:31:56Z",
      "metadata": {}
    }
  ],
  "metadata": {}
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Authorization
string

The authorization token. This header is required if your environment has Access Manager enabled.

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.

X-Idempotency
string

A unique key that ensures transaction idempotency. If not provided, the system automatically generates a SHA-256 hash based on the request body. Keys are scoped per organization and ledger.

Always validate the X-Idempotency-Replayed response header to distinguish new transactions from cached replays.

See Retries and idempotency for best practices.

X-TTL
integer

The time-to-live for the idempotency key, defined in seconds. Defaults to 300 seconds (5 minutes) if not provided. Only the TTL from the first request is used; changing it on retries has no effect.

See Retries and idempotency for details.

Path Parameters

organization_id
string
required

The unique identifier of the Organization associated with the Ledger.

ledger_id
string
required

The unique identifier of the associated Ledger.

Body

multipart/form-data
dsl
file

The .gold file you have created with the transaction information.

Response

Indicates that the resource was successfully created and the operation was completed as expected.

The response includes the X-Idempotency-Replayed header.

If the value is false, the transaction was just processed. If the value is true, the response is a replay of a previously processed request.

See Retries and idempotency for more details.

id
string<uuid>

The unique identifier of the transaction.

parentTransactionId
string<uuid> | null

The unique identifier of the parent/original transaction for reversals. This field is populated by the server when a transaction is reverted and should be treated as read-only by clients.

organizationId
string<uuid>

The unique identifier of the Organization.

ledgerId
string<uuid>

The unique identifier of the Ledger.

description
string

Description of the transaction.

route
string

Specifies the Transaction Route associated with the transaction.

routeId
string<uuid>

The unique identifier of the Transaction Route applied to this transaction.

status
object

The transaction status (pending, completed, reversed).

amount
string

The sent amount.

assetCode
string

The name of the asset used in the operation.

chartOfAccountsGroupName
string

The name of the chart-of-accounts group.

source
string[]

The list of accounts used as source.

destination
string[]

The list of accounts used as destination.

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).

operations
object[]
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'.