Docs

Reference

API

The sandbox REST API.


The API lives at https://dapp.covergate.app/api/v1. Requests and responses are JSON. Errors return { "error": "..." } with a matching status code.

Gateway and decisions#

MethodPathPurpose
POST/gatewayRun a transaction through both gates. Set dryRun to true to skip execution.
GET/decisionsList decisions
POST/decisions/:id/approveApprove a pending decision
POST/decisions/:id/rejectReject a pending decision
POST/receipts/verifyCheck a receipt against its record
GET/receipts/keyThe public key that signs receipts

Agents and mandates#

MethodPathPurpose
GET/overviewTotals for the dashboard
GET/agentsList agents
POST/agentsCreate an agent from a mandate template
GET/agents/:idOne agent, with its cover, mandates, and decisions
POST/agents/:id/freezeFreeze or unfreeze
POST/agents/:id/sessionRevoke or restore the session key
POST/agents/:id/mandatesSave a new mandate version
GET/agents/:id/export.csvExport an agent's decisions
GET/mandate-templatesList mandate templates
GET/agents/:id/webhooksList webhooks and recent deliveries
POST/agents/:id/webhooksAdd a webhook. The signing secret is returned once.
POST/webhooks/:id/deleteRemove a webhook

Certificates#

MethodPathPurpose
GET/certificatesList certificates
POST/certificates/validateCheck a signed certificate without registering it
POST/certificatesRegister a signed certificate
POST/certificates/:id/revokeRevoke a certificate
POST/sandbox/certificatesGet a test certificate for your own agent

Claims and alerts#

MethodPathPurpose
GET/claimsList claims
POST/claimsOpen a claim
POST/claims/:id/advanceMove a claim forward. Send { "reject": true } to reject it.
GET/claims/:id/evidenceDownload a claim's evidence pack
GET/alertsList alerts
POST/alerts/:id/readMark an alert as read

Public#

MethodPathPurpose
GET/public/agents/:slugCounterparty check
GET/public/agents/:slug/badge.svgCoverage badge image

Create an agent#

bash
curl -X POST https://dapp.covergate.app/api/v1/agents \
  -H "content-type: application/json" \
  -d '{
    "name": "Invoice Agent",
    "operator": "Your team",
    "template": "payments",
    "destinations": ["<destination>"]
  }'

The response is { "id": "...", "slug": "..." }.