POST
/
api
/
ledger
/
{ledger}
/
script
curl --request POST \
  --url http://localhost:55001/api/ledger/{ledger}/script \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "plain": "vars {\naccount $user\n}\nsend [COIN 10] (\n\tsource = @world\n\tdestination = $user\n)\n",
  "vars": {
    "user": "users:042"
  },
  "reference": "order_1234",
  "metadata": {}
}'
{
  "errorCode": "INSUFFICIENT_FUND",
  "errorMessage": "account had insufficient funds",
  "details": "https://play.numscript.org/?payload=eyJlcnJvciI6ImFjY291bnQgaGFkIGluc3VmZmljaWVudCBmdW5kcyJ9",
  "transaction": {
    "timestamp": "2023-11-07T05:31:56Z",
    "postings": [
      {
        "amount": 100,
        "asset": "COIN",
        "destination": "users:002",
        "source": "users:001"
      }
    ],
    "reference": "ref:001",
    "metadata": {},
    "txid": 1,
    "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
        }
      }
    }
  }
}

Authorizations

Authorization
string
header
required

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

Path Parameters

ledger
string
required

Name of the ledger.

Example:

"ledger001"

Query Parameters

preview
boolean

Set the preview mode. Preview mode doesn't add the logs to the database or publish a message to the message broker.

Example:

true

Body

application/json

Response

200 - application/json

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.

The response is of type object.