Card snapshot
gateway.apiosk.com
·
2026-10-01 19:46:23 UTC
·
bdec4d727115197e928b8499441404a47371ea4906e0f251deb1c69c4f316fb1
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"capabilities": {
"pushNotifications": false,
"stateTransitionHistory": false,
"streaming": false
},
"defaultInputModes": [
"application/json"
],
"defaultOutputModes": [
"application/json"
],
"description": "Apiosk is the comparison layer for agentic commerce. Listings are grouped by the job they perform, so an agent that needs a task done gets every provider that can do it in one call, priced side by side, with an input mapping that makes the offers substitutable. Three chained endpoints do the comparing, and none of them charges anything: GET /v1/discover (what can perform this task, with stable candidate ids), GET /v1/compare (how those candidates perform against your requirements, scored 0-100 with the weights and per-dimension contributions that produced the number, so it can be recomputed rather than trusted) and GET /v1/decide (one provider back, the rule that picked it, every rejection with the constraint that caused it, and the runners-up in order). Browse the jobs with GET /v1/capabilities; get the candidates for one, cheapest first, with GET /v1/capabilities/{slug}. The call you pick is paid per request over x402 (HTTP 402 + USDC), with no accounts, API keys or SDKs. Describe a need in plain words at GET /v1/search and get the providers ranked. Price, settlement rail and input compatibility are compared for every offer; measured latency and success rate are published for the listings Apiosk has proxied enough calls of, and explicitly absent for the rest. Result quality is not measured anywhere.",
"documentationUrl": "https://apiosk.com/docs",
"name": "Apiosk Gateway",
"payments": {
"challengeStatus": 402,
"discovery": "https://gateway.apiosk.com/.well-known/x402",
"proofHeader": "X-Payment",
"protocol": "x402",
"settlementAsset": "USDC",
"settlementNetwork": "Base by default; see /.well-known/x402 accepts[] for other enabled EVM networks"
},
"preferredTransport": "HTTP+JSON",
"protocolVersion": "0.3.0",
"provider": {
"organization": "Apiosk",
"url": "https://apiosk.com"
},
"skills": [
{
"description": "The part a provider's own API cannot answer: how it compares to the alternatives. Three chained endpoints, none of which charges anything. GET /v1/discover returns the candidates that can perform a task, each with a stable candidate_id. GET /v1/compare turns those ids into evidence \u2014 price, measured latency, measured success rate and input compatibility side by side, each scored 0-100 alongside the weights and per-dimension contributions that produced the number, so it can be recomputed rather than trusted. GET /v1/decide returns one provider with the rule that picked it, every rejected candidate and the exact constraint that removed it, and the runners-up in order. State constraints once (max_price, max_latency_ms, min_reliability, settlement, require_all_inputs, optimize_for) and pass the same ones down the chain. Dimensions Apiosk has not measured are dropped from the weighting and named, never scored zero.",
"examples": [
"GET https://gateway.apiosk.com/v1/discover?q=read+a+web+page",
"GET https://gateway.apiosk.com/v1/compare?candidates=<id>,<id>&optimize_for=latency",
"GET https://gateway.apiosk.com/v1/decide?q=read+a+web+page&max_price=0.05",
"GET https://gateway.apiosk.com/v1/decide?capability=<capability-slug>&min_reliability=0.95"
],
"id": "compare-providers",
"name": "Discover, compare and decide between providers",
"tags": [
"comparison",
"decision",
"discovery",
"ranking"
]
},
{
"description": "POST /v1/do collapses the whole chain into one authenticated call: describe a job in plain words, and Apiosk parses it, finds the candidates, scores them, picks one, fills the winner's own documented parameters in from your words, pays it from the wallet behind your connect token (created once in the buyer portal, carrying the spending caps you set there), and returns the provider's response with the payment receipt. Fail-closed: nothing is paid when no capability matches (404), when every candidate fails your constraints (409), or when the provider requires a parameter your job did not state (422) \u2014 the missing values are named instead of guessed. Send dry_run=true for everything except the payment. GET /v1/do documents itself.",
"examples": [
"POST https://gateway.apiosk.com/v1/do {\"job\": \"Get Nvidia earnings news from the last 7 days\", \"max_price\": 0.05}",
"POST https://gateway.apiosk.com/v1/do {\"job\": \"...\", \"dry_run\": true}"
],
"id": "do-job",
"name": "Do a job end to end: decide, pay, return the answer",
"tags": [
"execution",
"payments",
"decision",
"x402"
]
},
{
"description": "The x402 discovery document: payable resources with the spec-shaped accepts[] a live 402 carries. Publishes managed listings (hosted, priced and settled through Apiosk) by default; add ?include=federated or ?include=all for the external endpoints Apiosk indexes but does not proxy. Paginated \u2014 items[] is one page, and resources are served best-documented first, so the first page is the part you can call without a second round-trip. Walk links.next; narrow with ?category=, ?q=, ?contract=documented and ?perPage= (max 100). meta.categories lists every category with its counts and a ready-made URL.",
"examples": [
"GET https://gateway.apiosk.com/.well-known/x402",
"GET https://gateway.apiosk.com/.well-known/x402?documented=true",
"GET https://gateway.apiosk.com/.well-known/x402?category=finance&perPage=50",
"GET https://gateway.apiosk.com/.well-known/x402?q=weather"
],
"id": "discover-paid-resources",
"name": "Discover paid resources",
"tags": [
"discovery",
"x402",
"payments"
]
},
{
"description": "List every active, verified listing with its provider, pricing, endpoints, schemas, examples and pricing rules. Filter on search, category, tag, listing_type, min_price, max_price, created_after, created_before; sort by name, price or newest. Results are ranked managed-first: listings Apiosk publishes and operates come before federated listings it only executes, with the requested sort applied within each group (see meta.ranking). Every listing is called and settled through the gateway either way.",
"examples": [
"GET https://gateway.apiosk.com/v1/apis?search=weather",
"GET https://gateway.apiosk.com/v1/apis?max_price=0.01&sort=price&order=asc",
"GET https://gateway.apiosk.com/v1/apis/{slug}",
"GET https://gateway.apiosk.com/types"
],
"id": "discover-apis",
"name": "Discover APIs",
"tags": [
"discovery",
"catalog"
]
},
{
"description": "Browse who publishes on the gateway (name, username, avatar, bio, sector, listing count), most listings first, then open one provider's catalog.",
"examples": [
"GET https://gateway.apiosk.com/v1/providers",
"GET https://gateway.apiosk.com/v1/providers/{username}"
],
"id": "discover-providers",
"name": "Discover providers",
"tags": [
"discovery",
"catalog",
"providers"
]
},
{
"description": "MCP-style, agent-native manifest for one API: operations, input/output schemas, pricing, tool annotations.",
"examples": [
"GET https://gateway.apiosk.com/{api_slug}/metadata"
],
"id": "read-api-metadata",
"name": "Read API metadata",
"tags": [
"discovery",
"mcp"
]
},
{
"description": "Call any listing through the uniform execute contract or the transparent proxy path \u2014 every listing is gateway-hosted. Paid endpoints return HTTP 402 with x402 payment requirements until a payment proof is supplied.",
"examples": [
"POST https://gateway.apiosk.com/{api_slug}/execute",
"GET https://gateway.apiosk.com/{api_slug}/{path}"
],
"id": "execute-api",
"name": "Execute an API",
"tags": [
"execution",
"x402",
"payments"
]
}
],
"url": "https://gateway.apiosk.com",
"version": "0.1.0"
}