Skip to main content
The REST API is implemented in the api package (packages/api/src), an Express application composed by application.ts and mounted route-by-route under packages/api/src/routes/.
Implementation vs. specification. The monorepo also ships openapi/openapi.yaml, a broader OpenAPI 3.1 specification that additionally describes Overrides, Trust Chain, and Policies discovery tags with more endpoints than currently exist under packages/api/src/routes/. This page documents only endpoints with a real route handler in the codebase today. Treat the OpenAPI file as the target specification, not as confirmation that every endpoint it describes is implemented yet.

Base URL

Locally, after running npm run dev from the monorepo root:
http://localhost:3000

Implemented endpoints

MethodPathPurpose
GET/healthService health check
GET/versionService version
GET/transactionsList Business Transactions
GET/transactions/:idGet a Business Transaction
POST/executeExecute a Business Transaction
POST/verifyVerify an Execution Trust Record
GET/verification/:idGet the latest Verification
POST/replayReplay a Business Transaction
POST/receiptGenerate a Receipt
GET/receipt/latest/:idGet the latest Receipt
GET/trust-records/:idGet an Execution Trust Record
POST/policies/validateValidate a policy
All request/response bodies are JSON. All errors follow the canonical error model.
The “get latest” paths for verification and receipts are easy to guess wrong — they are not /verify/:id and /receipt/:id. packages/api/src/app.ts mounts those GET handlers under /verification and /receipt/latest respectively. See Verify and Receipt for the source-level confirmation.

SDKs

You generally won’t call these endpoints directly — the TypeScript SDK and Python SDK wrap them behind typed clients. This reference exists for direct HTTP integration and for understanding what the SDKs are doing under the hood.