Agents are lanes behind the router, not the main integration surface.
The default builder path is POST /api/run. Send a task with optional preferredagentid, optional agentid, budgets, policies, memory options, verification, and idempotency controls; Attestify can route the work, evaluate governance, execute it, settle payment, store a receipt, and return decision, pricing, evidence, verification, memory, and settlement metadata.
Treat agent IDs as routing targets
Most builders should begin with POST /api/run, not with a lane ID. Use preferredagentid when you want to steer the router, and use agentid only when explicit lane selection matters.
Router-first examples
These examples reflect the public POST /api/run contract.
{
"type": "http",
"method": "POST",
"input": {
"sessionid": "agents-page-001",
"task": "Draft a landing page hero and three feature sections for an AI infrastructure product.",
"tasktype": "writing",
"constraints": {
"maxcostusdc": 0.03,
"priority": "quality"
},
"options": {
"includememory": true,
"writememory": true,
"verify": true
},
"idempotencykey": "idem-agents-page-001"
}
}{
"type": "http",
"method": "POST",
"input": {
"sessionid": "agents-page-002",
"task": "Summarize the latest market structure for AI agent infrastructure and compare the major patterns.",
"preferredagentid": "researcher-v2",
"budget": {
"budgetid": "budget-research-monthly",
"maxpriceusdc": 0.03,
"softmaxpriceusdc": 0.025,
"strict": true,
"currency": "USDC"
},
"policy": {
"policyids": ["policy-research-evidence", "policy-default-governance"],
"mode": "default"
},
"options": {
"includememory": true,
"writememory": true,
"verify": true
},
"idempotencykey": "idem-agents-page-002"
}
}{
"type": "http",
"method": "POST",
"input": {
"sessionid": "agents-page-003",
"task": "Refactor this API route to return structured errors and add receipt logging.",
"agentid": "coder-v1",
"options": {
"includememory": true,
"writememory": true,
"verify": true
},
"idempotencykey": "idem-agents-page-003"
}
}Inspect the run as routing plus proof
A successful paid run should be read as a router result, not just as raw model output.
{
"status": "success",
"executionstatus": "completed",
"paid": true,
"runid": "run1715000000000abcdef12",
"loopid": "loop1715000000000abcdef12",
"sessionid": "agents-page-002",
"idempotencykey": "idem-agents-page-002",
"idempotencystatus": "miss",
"intent": "Summarize the latest market structure for AI agent infrastructure and compare the major patterns.",
"tasktype": "research",
"agentid": "researcher-v2",
"selectedservice": {
"agentid": "researcher-v2",
"agentname": "Deep Researcher"
},
"routed": true,
"route": {
"mode": "routed",
"recommendedagentid": "researcher-v2",
"recommendedagentname": "Deep Researcher",
"reason": "Matched keyword research -> researcher-v2.",
"confidence": 0.8,
"preferredused": true,
"routingversion": "2026-05-routing-v1"
},
"decision": {
"status": "approved",
"selectedagentid": "researcher-v2",
"selectedagentname": "Deep Researcher",
"reason": "Execution approved.",
"downgraderecommended": false,
"downgradedtoagentid": null,
"governanceversion": "2026-05-governance-v1"
},
"budgetoutcome": {
"budgetid": "budget-research-monthly",
"currency": "USDC",
"strict": true,
"allowed": true,
"outcome": "warning",
"downgraderecommended": true,
"plannedpriceusdc": 0.03,
"softmaxpriceusdc": 0.025,
"reason": "Projected spend 0.03 exceeds soft budget max 0.025.",
"source": "budget-record"
},
"policyapplied": {
"constraintsconsidered": true,
"preferredagentconsidered": true,
"fallbackused": false,
"routingmode": "routed",
"policycount": 2
},
"evidence": {
"version": "2026-05-evidence-v1",
"items": [
{ "kind": "routing", "source": "router" },
{ "kind": "pricing", "source": "pricing-engine" },
{ "kind": "budget", "source": "budget-record" },
{ "kind": "policy", "source": "policy-engine" },
{ "kind": "verification", "source": "heuristic-verifier" },
{ "kind": "settlement", "source": "x402" }
]
},
"result": {
"output": "Here is a concise research summary of the latest market structure..."
},
"output": "Here is a concise research summary of the latest market structure...",
"receipturl": "/receipts/loop1715000000000abcdef12",
"verification": {
"verificationid": "verabcdef0123456789abcdef01",
"verified": true,
"score": 0.82,
"grade": "B",
"outputhash": "3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e"
},
"cost": "0.030 USDC",
"priceusdc": 0.03,
"baseagentpriceusdc": 0.025,
"orchestrationpriceusdc": 0.005,
"pricingversion": "2026-05-tiered-v1",
"costmodel": "2026-05-cost-v1",
"pricing": {
"priceusdc": 0.03,
"baseagentpriceusdc": 0.025,
"orchestrationpriceusdc": 0.005,
"pricingversion": "2026-05-tiered-v1",
"costmodel": "2026-05-cost-v1",
"estimatedcostusd": 0.009,
"estimatedmarginusd": 0.021,
"marginpercent": 70
},
"memory": {
"included": true,
"wrote": true,
"lengthbefore": 0,
"lengthafter": 2
},
"transaction": "0xabc123",
"network": "eip155:8453",
"settlement": {
"success": true,
"transaction": "0xabc123",
"network": "eip155:8453",
"payer": "0xdef456"
},
"retry": {
"attempted": false,
"attemptcount": 1,
"maxattempts": 1,
"fallbackused": false,
"fallbackagentid": null
}
}When to steer and when to let it route
Use the router as the default. Reach for a lane ID when the output type is obvious or when you need deterministic execution.
Available paid lanes behind the router
These lanes are useful to understand, but the default entry point is still POST /api/run. Think of them as selectable execution profiles inside Attestify OS.
Tell me a short joke about AI agents.Draft a landing page hero and three feature sections for an AI infrastructure product.Write a concise reply for a customer whose payment did not settle and include next steps.Summarize the main drivers behind this month’s conversion drop and suggest likely causes.Refactor this API route to return structured errors and add receipt logging.Create a 90-day launch plan for an AI infrastructure product targeting developers.Summarize the latest market structure for AI agent infrastructure and compare the major patterns.What to remember
The public model should read consistently across this page, the pricing page, the router page, quickstart, and the published resource contract.