POST
/
api
/
ledger
/
v2
/
{ledger}
/
transactions
curl --request POST \
  --url http://localhost:55001/api/ledger/v2/{ledger}/transactions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "timestamp": "2023-11-07T05:31:56Z",
  "postings": [
    {
      "amount": 100,
      "asset": "COIN",
      "destination": "users:002",
      "source": "users:001"
    }
  ],
  "script": {
    "plain": "vars {\naccount $user\n}\nsend [COIN 10] (\n\tsource = @world\n\tdestination = $user\n)\n",
    "vars": {
      "user": "users:042"
    }
  },
  "reference": "ref:001",
  "metadata": {
    "admin": "true"
  }
}'
{
  "data": {
    "insertedAt": "2023-11-07T05:31:56Z",
    "timestamp": "2023-11-07T05:31:56Z",
    "postings": [
      {
        "amount": 100,
        "asset": "COIN",
        "destination": "users:002",
        "source": "users:001"
      }
    ],
    "reference": "ref:001",
    "metadata": {
      "admin": "true"
    },
    "id": 1,
    "reverted": true,
    "revertedAt": "2023-11-07T05:31:56Z",
    "preCommitVolumes": {
      "orders:1": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      },
      "orders:2": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      }
    },
    "postCommitVolumes": {
      "orders:1": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      },
      "orders:2": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      }
    },
    "preCommitEffectiveVolumes": {
      "orders:1": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      },
      "orders:2": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      }
    },
    "postCommitEffectiveVolumes": {
      "orders:1": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      },
      "orders:2": {
        "USD": {
          "input": 100,
          "output": 10,
          "balance": 90
        }
      }
    }
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

Idempotency-Key
string

Use an idempotency key

Path Parameters

ledger
string
required

Name of the ledger.

Example:

"ledger001"

Query Parameters

dryRun
boolean

Set the dryRun mode. dry run mode doesn't add the logs to the database or publish a message to the message broker.

Example:

true

force
boolean

Disable balance checks when passing postings

Example:

true

Body

application/json

The request body must contain at least one of the following objects:

  • postings: suitable for simple transactions
  • script: enabling more complex transactions with Numscript

The body is of type object.

Response

200
application/json

OK

The response is of type object.