StructureClerkAGENT API v2.0
manifest.json ↗agent.json ↗agent-card.json ↗
// AGENT DISCOVERY — 3 PROTOCOLS
GET https://structureclerk.ca/api/agent-manifest

{
  "name": "StructureClerk",
  "version": "2.0.0",
  "pricing": "credit-metered",
  "auth_required": false,
  "protocols": {
    "a2a": "/api/a2a",
    "mcp": "/api/mcp-http",
    "rest": "/api/agent/*"
  },
  "jurisdictions_covered": 192,
  "languages": ["fr", "en"]
}
A2A 0.2.1MCP 2025-03-26REST v1Credits CAD

Available endpoints

All endpoints are public and answer without a key, within a free allowance of 10 calls/day (per API key, or per IP address when unauthenticated). Past it, send Authorization: Bearer sk_sc_… and calls draw on your prepaid credit balance.

POST/api/a2aA2A v0.2.1A2A — Agent-to-Agent
POST/api/mcp-httpMCP 2025-03-26MCP — Model Context Protocol
GET/api/agent-manifestRESTAgent Manifest
POST/api/agent/compliance-checkRESTCompliance Analysis
GET/api/agent/jurisdiction-map?jurisdiction=QCRESTJurisdiction Mapping
POST/api/agent/roadmapRESTCompliance Roadmap

MCP Client Config

Add this to your MCP client configuration to use StructureClerk tools.

{
  "mcpServers": {
    "structureclerk": {
      "url": "https://structureclerk.ca/api/mcp-http",
      "transport": "streamable-http"
    }
  }
}

ERC-8004 — agent card published, on-chain registration pending

ERC-8004 is the identity protocol for autonomous agents co-authored by Google, MetaMask, Coinbase and the Ethereum Foundation. StructureClerk publishes the agent card and registration document it expects, below. The on-chain registration itself is a manual step and has not been performed yet — the manifest reports it honestly as erc8004_registered: false.

Agent CardAgent JSONRegistrationERC-8004 spec

Billing — prepaid credits, in Canadian dollars

Every endpoint answers a daily free allowance with no key and no account. Past it, calls draw on a prepaid credit balance — 1 credit = CA$0.01. No crypto, no payment header, no wallet. The live rate card is served at /api/v1/pricing; the table below is read from it, so it cannot drift from what you are actually charged.

EndpointCreditsCAD
/api/v1/authority/decide8$0.08
/api/v1/assess5$0.05
/api/v1/scan5$0.05
/api/v1/authority/verify0free
/api/v1/authority/stats0free
WHAT A REFUSAL LOOKS LIKE
Free allowance: 10 calls/day, per API key, or per IP address when unauthenticated.

429 free_tier_exhausted     allowance spent — recharge or send a key
401 invalid_api_key         key unknown, revoked or expired
403 insufficient_scope      key lacks the scope this endpoint needs
402 insufficient_credits    balance too low for this call
503 metering_unavailable    counter down; anonymous calls refused

Successful calls carry X-Credits-Charged, X-Credits-Tier and,
when authenticated, X-Credits-Balance.
Live rate cardGet an API keyTop up