POST
/
v1
/
organizations
/
{organization_id}
/
ledgers
/
{ledger_id}
/
transactions
/
json
Create a Transaction using JSON
curl --request POST \
  --url https://transaction.sandbox.midaz.io/v1/organizations/{organization_id}/ledgers/{ledger_id}/transactions/json \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: <content-type>' \
  --data '{
  "description": "Description for the transaction person1 to person2 value of 100 reais.",
  "pending": true,
  "route": "5656daa5-5b2a-4637-955f-e43bafceaf5d",
  "transactionDate": "2025-04-02T14:15:22Z",
  "send": {
    "asset": "BRL",
    "value": "100.00",
    "source": {
      "from": [
        {
          "accountAlias": "@external/BRL",
          "balaceKey": "string",
          "route": "5656daa5-5b2a-4637-955f-e43bafceaf5d",
          "amount": {
            "asset": "BRL",
            "value": "100.00"
          },
          "description": "Loan payment person1",
          "metadata": {
            "1": "m",
            "Cpf": "43049498x"
          }
        }
      ]
    },
    "distribute": {
      "to": [
        {
          "accountAlias": "@account1_BRL",
          "balaceKey": "string",
          "route": "5656daa5-5b2a-4637-955f-e43bafceaf5d",
          "amount": {
            "asset": "BRL",
            "value": "100.00"
          },
          "metadata": {
            "mensagem": "Mensage"
          }
        }
      ]
    }
  },
  "metadata": {
    "mensagem": "Payment"
  }
}'
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"organizationId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ledgerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"description": "<string>",
"route": "<string>",
"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>",
"route": "<string>",
"amount": {
"value": "<string>"
},
"balance": {
"available": "<string>",
"onHold": "<string>"
},
"balanceAfter": {
"available": "<string>",
"onHold": "<string>"
},
"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

Content-Type
string
required

The type of media of the resource. Must be application/json.

X-Request-Id
string

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 hash based on the transaction data.

X-TTL
integer

The time-to-live for the key, defined in seconds.

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

application/json
description
string
required

A description for the transaction.

send
object
required

An object containing information about the transaction that will be sent.

pending
boolean
default:false

Indicates whether the transaction should follow a two-step process: authorization followed by execution. When set to true, the transaction is created in a pending state, reserving funds (on_hold) without immediately moving them. A subsequent commit is required to finalize the transfer.

route
string

Specifies the Transaction Route associated with the transaction. Important: When Transaction Routing validation is enabled for your Ledger, this field becomes mandatory and must match an existing id from your configured Transaction Routes. However, when validation is disabled (default behavior), this field is optional and accepts any free-form string.

transactionDate
string

The time when the transaction was made. Used to add past transactions. Must be a date in the past.

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

Response

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

id
string<uuid>

The unique identifier of the transaction.

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.

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