Skip to main content
GET
/
trust-records
/
{businessTransactionId}
Get Execution Trust Record
curl --request GET \
  --url http://localhost:3000/trust-records/{businessTransactionId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "http://localhost:3000/trust-records/{businessTransactionId}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('http://localhost:3000/trust-records/{businessTransactionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/trust-records/{businessTransactionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "http://localhost:3000/trust-records/{businessTransactionId}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("http://localhost:3000/trust-records/{businessTransactionId}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/trust-records/{businessTransactionId}")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "trustRecordId": "65fee934-532c-4feb-88d9-72c0cd912a81",
  "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
  "transaction": {
    "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
    "metadata": {
      "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
      "correlationId": "cc1ca975-4935-4e9a-a591-8897af6b56fb",
      "sourceSystem": "vendor-payment-service",
      "submittedBy": "ap-automation",
      "submittedAt": "2026-07-13T17:36:00.835Z"
    },
    "authority": {
      "authorityId": "db5c5260-bb4c-40a2-a081-2928b5fe7720",
      "authorityType": "SERVICE",
      "principalId": "ap-automation-svc",
      "displayName": "Accounts Payable Automation",
      "issuedAt": "2026-07-13T17:36:00.835Z"
    },
    "authorization": {
      "authorizationId": "63bdc429-14e4-4ef4-8007-f3c0c9564261",
      "authorityId": "db5c5260-bb4c-40a2-a081-2928b5fe7720",
      "purpose": "Authorize vendor payment disbursement",
      "issuedAt": "2026-07-13T17:36:00.835Z"
    },
    "intent": {
      "intentId": "1e77d0b3-2e57-4e31-b780-03abc92f1b69",
      "authorizationId": "63bdc429-14e4-4ef4-8007-f3c0c9564261",
      "action": "payments:execute",
      "target": "vendor/V-500",
      "parameters": {
        "amount": 5000,
        "currency": "USD"
      },
      "createdAt": "2026-07-13T17:36:00.835Z"
    },
    "policy": {
      "name": "vendor-payment",
      "version": "2.0.0",
      "schemaVersion": "1.0.0"
    },
    "signals": {
      "vendorVerified": true,
      "invoiceVerified": true,
      "paymentApproved": true,
      "sufficientFunds": true,
      "paymentAmount": 5000,
      "riskScore": 12
    },
    "status": "RECEIVED",
    "createdAt": "2026-07-13T17:36:00.965Z"
  },
  "overrides": [],
  "executions": [
    {
      "executionId": "90746492-7721-4228-b244-67bf8a45ca68",
      "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
      "decision": {
        "decisionId": "8ec880cb-677a-4889-96f1-5a18a4edc1b5",
        "intentId": "1e77d0b3-2e57-4e31-b780-03abc92f1b69",
        "policy": {
          "name": "vendor-payment",
          "version": "2.0.0",
          "schemaVersion": "1.0.0"
        },
        "signals": {
          "vendorVerified": true,
          "invoiceVerified": true,
          "paymentApproved": true,
          "sufficientFunds": true,
          "paymentAmount": 5000,
          "riskScore": 12
        },
        "outcome": "APPROVED",
        "reason": "Vendor payment authorized. Vendor verification, invoice verification, payment approval, funding, and risk assessment requirements were satisfied.",
        "evaluatedAt": "2026-07-13T17:36:00.967Z"
      },
      "status": "COMPLETED",
      "mode": "SYNC",
      "startedAt": "2026-07-13T17:36:00.968Z",
      "metadata": {
        "authorizationId": "dbc09266-2078-4d4e-93d0-f355eb7eebcc"
      },
      "evidence": {
        "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
        "action": "payments:execute",
        "target": "vendor/V-500",
        "parameters": {
          "amount": 5000,
          "currency": "USD"
        },
        "success": true,
        "executedAt": "2026-07-13T17:36:00.970Z",
        "attributes": {
          "connector": {
            "connectorId": "vendor-payment",
            "connectorVersion": "1.0.0",
            "capability": "payments:execute",
            "sanitizedEndpoint": "vendor/V-500",
            "credentialProviderId": "environment",
            "requestSummary": {
              "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
              "action": "payments:execute",
              "target": "vendor/V-500",
              "parameters": {
                "amount": 5000,
                "currency": "USD"
              }
            },
            "responseSummary": {
              "success": true,
              "metadata": {}
            },
            "startedAt": "2026-07-13T17:36:00.970Z",
            "completedAt": "2026-07-13T17:36:00.970Z",
            "connectorEvidenceHash": "c97411026a82b608d9b0f8b137a64e26d8af24bdda09310b639e527e08a9aada"
          }
        }
      },
      "completedAt": "2026-07-13T17:36:00.970Z"
    }
  ],
  "verifications": [
    {
      "verificationId": "e22354e0-7f22-49b2-bd2f-09e47881d788",
      "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
      "status": "VERIFIED",
      "message": "Execution Trust Record verified successfully.",
      "verifiedAt": "2026-07-13T17:36:00.973Z",
      "trustRecordHash": "e20a8861864f1a0a6c5fe00e64abca04de18a7d165a82ef9d7beb458c2096b3f"
    }
  ],
  "receipts": [
    {
      "receiptId": "863947e6-9d36-492e-b9c9-78b0f3e9b6df",
      "businessTransactionId": "44b34a79-e0f2-49d7-a48e-e52fff88182e",
      "trustRecordHash": "e20a8861864f1a0a6c5fe00e64abca04de18a7d165a82ef9d7beb458c2096b3f",
      "receiptHash": "c9666b08b42bb5ff77650b544c3c2183609f25e4d8dc09359b71a970c57ed3ce",
      "issuedAt": "2026-07-13T17:36:00.973Z",
      "algorithm": "ed25519",
      "signature": "Pcr42EvbaUbLogvVhYiV3g7uuwvZr82HUJhVptnXRxmTtiEGiz2SCdz5Z80xRDvmvSxpOSG5OnvMAaRzJXncBg=="
    }
  ],
  "createdAt": "2026-07-13T17:36:00.971Z",
  "updatedAt": "2026-07-13T17:36:00.971Z",
  "trustRecordHash": "e20a8861864f1a0a6c5fe00e64abca04de18a7d165a82ef9d7beb458c2096b3f",
  "signature": {
    "algorithm": "ed25519",
    "keyId": "default",
    "value": "gjDYmHUBKIrv7bT3uwAkt3wHeoSwz5uANXQV5MfsFgbUIh83KiufZwxht3F3Een+7K/ZW9SRn0F0J7ACJRLbAg==",
    "signedAt": "2026-07-13T17:36:00.972Z"
  }
}
{
"error": "authentication required"
}
{
"error": "Execution Trust Record not found."
}

Authorizations

Authorization
string
header
required

Caller API key issued by scripts/generate-api-key.ts. Sent as Authorization: Bearer . Verified against a stored SHA-256 hash in constant time by packages/api/src/auth/StaticKeyAuthenticator.ts. Required on every route except GET /health. See /api-reference/authentication.

Path Parameters

businessTransactionId
string
required

Business Transaction identifier (not the Trust Record's own trustRecordId).

Response

Execution Trust Record found.

Canonical immutable record representing everything Parmana knows about a Business Transaction: the authoritative source for replay, verification, audit, and receipt generation. One Execution Trust Record exists per Business Transaction. overrides, executions, verifications, and receipts are append-only: existing entries are never modified or removed.

trustRecordId
string
required

Unique Execution Trust Record identifier.

businessTransactionId
string
required

Business Transaction identifier.

transaction
Business Transaction · object
required

Canonical immutable business context accepted by Parmana for execution: Authority -> Authorization -> Intent -> Business Transaction -> Policy. Every Business Transaction produces exactly one Decision, one Execution, and one Execution Trust Record.

Example:
{
"businessTransactionId": "eed2a972-1bf5-4166-8472-761f76fbf1b2",
"metadata": {
"businessTransactionId": "eed2a972-1bf5-4166-8472-761f76fbf1b2",
"correlationId": "6b97caca-1605-4711-bf00-7e5a65434d93",
"sourceSystem": "vendor-payment-service",
"submittedBy": "ap-automation",
"submittedAt": "2026-07-07T16:38:59.285Z"
},
"authority": {
"authorityId": "c0c01c23-04a2-45f2-a821-ef24bfca02d3",
"authorityType": "SERVICE",
"principalId": "ap-automation-svc",
"displayName": "Accounts Payable Automation",
"issuedAt": "2026-07-07T16:38:59.285Z"
},
"authorization": {
"authorizationId": "6e9d6aa6-6d20-40a8-b05d-383516365cc7",
"authorityId": "c0c01c23-04a2-45f2-a821-ef24bfca02d3",
"purpose": "Authorize vendor payment disbursement",
"issuedAt": "2026-07-07T16:38:59.285Z"
},
"intent": {
"intentId": "ae5865f6-181b-409a-90ec-1b4b8b8414ba",
"authorizationId": "6e9d6aa6-6d20-40a8-b05d-383516365cc7",
"action": "payments:execute",
"target": "vendor/V-100",
"parameters": { "amount": 4500, "currency": "USD" },
"createdAt": "2026-07-07T16:38:59.285Z"
},
"policy": {
"name": "vendor-payment",
"version": "2.0.0",
"schemaVersion": "1.0.0"
},
"signals": {
"vendorVerified": true,
"invoiceVerified": true,
"paymentApproved": true,
"sufficientFunds": true,
"paymentAmount": 4500,
"riskScore": 10
},
"status": "RECEIVED",
"createdAt": "2026-07-07T16:38:59.325Z"
}
overrides
Override · object[]
required

Override history. Append-only; empty on every transaction in this repository today (no route creates an Override).

executions
Execution · object[]
required

Execution history. Append-only.

verifications
Verification · object[]
required

Verification history. Append-only.

receipts
Receipt · object[]
required

Receipt history. Append-only.

trustRecordHash
string
required

Canonical hash of the Execution Trust Record, computed over its canonical serialized form.

signature
object
required

Cryptographic signature over the canonical Execution Trust Record, proving it was produced by Parmana and has not been modified since signing.

createdAt
string<date-time>
required

UTC timestamp when the Execution Trust Record was first created.

updatedAt
string<date-time>
required

UTC timestamp when the Execution Trust Record was last extended with a new immutable artifact.