v1
latestOpenAPI 3.0.32026-07-1765123145.7 KBledger.v1
Execute a Numscript
This route is deprecated, and has been merged into POST /{ledger}/transactions.
post/{ledger}/script
Path parameters
ledgerstring required
Example:ledger001
Name of the ledger.
Query parameters
previewboolean
Example:true
Set the preview mode. Preview mode doesn't add the logs to the database or publish a message to the message broker.
Request body
Example request
{
"plain": "vars {\naccount $user\n}\nsend [COIN 10] (\n\tsource = @world\n\tdestination = $user\n)\n",
"vars": {
"user": "users:042"
},
"reference": "order_1234"
}Response
On success, it will return a 200 status code, and the resulting transaction under the transaction field.
On failure, it will also return a 200 status code, and the following fields:
- details: contains a URL. When there is an error parsing Numscript, the result can be difficult to read—the provided URL will render the error in an easy-to-read format.
- errorCode and error_code (deprecated): contains the string code of the error
- errorMessage and error_message (deprecated): contains a human-readable indication of what went wrong, for example that an account had insufficient funds, or that there was an error in the provided Numscript.
Example response
{
"errorCode": "INSUFFICIENT_FUND",
"errorMessage": "account had insufficient funds",
"details": "https://play.numscript.org/?payload=eyJlcnJvciI6ImFjY291bnQgaGFkIGluc3VmZmljaWVudCBmdW5kcyJ9",
"transaction": {
"postings": [
{
"amount": 100,
"asset": "COIN",
"destination": "users:002",
"source": "users:001"
}
],
"reference": "ref:001",
"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
}
}
}
}
}