ExchainDocs
DocsAPI

APIReadsGet a decision

Get a decision

One decision with its request and journal proof.

GET
/v1/decisions/{decisionId}

One decision with the original request (without txBodyHex) and its inclusion proof in the journal. proof is null until the next root is published; proofPendingUntil says when.

Authorization

headerAuthorizationBearer <token>

Node Token from the Exchain console. Works for wallets this node registered; the node’s network (preprod or mainnet) decides the network of the request. Use a preprod token in the playground.

Path Parameters

decisionId*string

Decision id: dec_ and 26 Crockford base32 characters.

Match^dec_[0-9A-HJKMNP-TV-Z]{26}$

Response Body

The decision.

application/json
  1. response
decisionId*DecisionId
Match^dec_[0-9A-HJKMNP-TV-Z]{26}$
at*DateTime
Formatdate-time
outcome*string
Value in"allowed""denied""security"
detail?string
batchSize*integer
Range1 <= value
admitted*integer
Range0 <= value
denied*integer
Range0 <= value
alarm*boolean
hydra?

Set when the spend ran inside a Hydra head.

settlement?

For a landed x402 decision, the transaction that settled the authorization.

txBodyHash*|

The Cardano body hash, or for an x402 decision the Safe message hash.

members*array<>
Items1 <= items
walletId*|null
request*|
proof*|null
proofPendingUntil*|
Formatdate-time
superseded?boolean
asOf*string
Match^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}Z$
Formatdate-time
schemaVersion*string

Wire schema version, "1.1" today.

Value in"1.0""1.1"
chainTip*|null
Example Request
curl -X GET 'https://cosign.exchain.network/v1/decisions/dec_01J9XK3M4N5P6Q7R8S9T0V1W2X'
Example Response
{  "decisionId": "dec_01J9XK3M4N5P6Q7R8S9T0V1W2X",  "at": "2026-11-05T14:22:07.318Z",  "outcome": "allowed",  "batchSize": 2,  "admitted": 2,  "denied": 0,  "alarm": false,  "txBodyHash": "blake2b_256:f13f1c9731cd0d3aae2abf45e553c1fd7c94d48ba42c7515eb218aa23c247f18",  "members": [    {      "purchaseId": "pur_01J9XK3M4N5P6Q7R8S9T0V1A01",      "outputIndex": 0,      "verdict": "allowed",      "amount": "199000000",      "asset": "lovelace",      "counterparty": "sellerVkeyHash:012fde0a6fa2c5f3233b3cf1a9f4281fc3c766da7feea4310c00718b",      "jobHash": "blake2b_256:37668cb91fb17ce799389b9f893019fbd0f5dbf6b78786547eead93520f732fe",      "agentIdentifier": "67ab0c92c4ac1610895a1c965ee50aba41a8f1513b15240723b3bd0b6167656e742d7265736561726368"    },    {      "purchaseId": "pur_01J9XK3M4N5P6Q7R8S9T0V1A02",      "outputIndex": 1,      "verdict": "allowed",      "amount": "150000000",      "asset": "lovelace",      "counterparty": "sellerVkeyHash:ef9969491574b01a531d6c7296723a22af5c3da7ec4cbcd74cc9a1a3",      "jobHash": "blake2b_256:66d1207a6ae47ef778fcd2f80f009c6374b0c7b174022d3afaf10f4c603ea5a2",      "agentIdentifier": "67ab0c92c4ac1610895a1c965ee50aba41a8f1513b15240723b3bd0b6167656e742d7265736561726368"    }  ],  "walletId": "wal_01J9XK3M4N5P6Q7R8S9T0V1W2Z",  "request": {    "batchId": "7f0c3d2e-9a4b-4c1d-8e2f-3a4b5c6d7e8f",    "walletUtxoRef": "8937b6fedfaf41e921dd70dac4b25c9b3748c83109b25a80cbb585ba34029b36#0",    "intents": [      {        "purchaseId": "pur_01J9XK3M4N5P6Q7R8S9T0V1A01",        "outputIndex": 0,        "counterparty": "sellerVkeyHash:012fde0a6fa2c5f3233b3cf1a9f4281fc3c766da7feea4310c00718b",        "amount": "199000000",        "asset": "lovelace",        "jobHash": "blake2b_256:37668cb91fb17ce799389b9f893019fbd0f5dbf6b78786547eead93520f732fe",        "agentIdentifier": "67ab0c92c4ac1610895a1c965ee50aba41a8f1513b15240723b3bd0b6167656e742d7265736561726368"      },      {        "purchaseId": "pur_01J9XK3M4N5P6Q7R8S9T0V1A02",        "outputIndex": 1,        "counterparty": "sellerVkeyHash:ef9969491574b01a531d6c7296723a22af5c3da7ec4cbcd74cc9a1a3",        "amount": "150000000",        "asset": "lovelace",        "jobHash": "blake2b_256:66d1207a6ae47ef778fcd2f80f009c6374b0c7b174022d3afaf10f4c603ea5a2",        "agentIdentifier": "67ab0c92c4ac1610895a1c965ee50aba41a8f1513b15240723b3bd0b6167656e742d7265736561726368"      }    ],    "context": {      "nodeId": "acme-node-1",      "orgId": "org_acme",      "submittedAt": "2026-11-05T14:22:05Z"    }  },  "proof": {    "leaf": "8f714d245f9a3567ba69a58ce07a261181180ef0ce6218c14f191c76aad3303a",    "index": 17,    "path": [      "2edf0901c423fe740cbd2397205c4f04ca45029aeb455f5206d0e3aa78e511dd",      "4581c14c6f5beb36bde76527c589cbfd03d1ffbf53bfc0e22593c25b11a70671",      "5da3d40e7b364ddd0b6f567e9eca71562a3f6b5bce8c633ed8b42187cacdf9cb",      "e7d4bf035e9c0dac2dfbeb355f6a1c8e0eebe4e247313035ee035874d6eb06af",      "4472001dcd822bcd3887bf1948581c5910ff5288cb6c6e1a01191557cf67303a"    ],    "root": "d0f00b4eb5f17f017601f89a576ae672a90a665216d2749b7ac4e795cb2de471",    "rootPublishedAt": "2026-11-05T15:00:00Z",    "epoch": 1442  },  "proofPendingUntil": null,  "superseded": false,  "asOf": "2026-11-05T14:22:07.318Z",  "schemaVersion": "1.1",  "chainTip": {    "slot": 104118120,    "blockHash": "9a301ac2e5747e7ebeeecececd2f114f55695614277514e085211c5417d04c26"  }}

Errors

StatusCodeMeaning
401unauthorizedThe bearer credential is missing, unknown or revoked.
404not_foundThe decision does not exist, or it belongs to another node or another read token’s wallet.

Every code and what to do about it: Errors and codes.