Skip to main content

What you will learn

  • All available API endpoints with request/response schemas
  • Curl examples for each endpoint
  • How endpoints map to the transaction pipeline

Base URL

All responses include the header X-ISCL-Version: 0.1.0.

Health

GET /v1/health

Health check endpoint. Always returns 200.

Transaction pipeline

POST /v1/tx/build

Build a transaction from a TxIntent. Evaluates policy before building. Request Body: TxIntent (see TxIntent Schema)
Response (200):
Errors: 400 (validation), 403 (policy denied)

POST /v1/tx/preflight

Simulate a transaction and compute a risk score. Requires RPC. Request Body: TxIntent
Response (200):
Errors: 400 (validation), 502 (no RPC)

POST /v1/tx/approve-request

Run the full pipeline (build + preflight + approval prompt) and return an approval token. Request Body: TxIntent
Response (200):
Errors: 400 (validation), 403 (policy denied, user declined)
In web approval mode, this call blocks until the operator approves or denies via the web dashboard or HTTP API.

POST /v1/tx/sign-and-send

Sign a transaction and broadcast it. Requires a valid approval token. Request Body:
Response (200):
Errors: 400 (validation), 403 (policy denied, approval required, invalid token, signing failed)

GET /v1/tx/:hash

Look up a transaction receipt by hash.
Response (200):
Errors: 404 (not found), 502 (no RPC)

Balance

GET /v1/balance/:token/:account

Look up an ERC-20 token or native ETH balance. Use ?chainId=N for multi-chain.
Response (200):
Errors: 400 (invalid address format), 502 (no RPC)

Approval endpoints

GET /v1/approvals/pending

List pending approval requests (web mode only).

POST /v1/approvals/:requestId/decide

Submit an approve or deny decision.
Errors: 404 (request expired or not found)

GET /v1/approvals/history

Recent audit events. ?limit=N (default 20, max 100).

GET /approval-ui

Serves the web approval dashboard as HTML. Open in a browser.

Skill registry

POST /v1/skills/register

Register a skill manifest.
Errors: 400 (schema, signature, hash, scan), 409 (duplicate)

GET /v1/skills

List all registered skills.

GET /v1/skills/:name

Get skill details by name. Errors: 404 (skill not found)

DELETE /v1/skills/:name

Revoke a registered skill. Errors: 404 (skill not found)

Next steps