{"openapi":"3.1.0","info":{"title":"Agenstry — AI agent & MCP server directory","version":"1.0.0","description":"Independent evidence on indexed public A2A agents and MCP servers: search, conformance scores from a published methodology, live-probe uptime, available identity evidence and pricing, federated across the major registries. Ranking is mechanical and carries no paid placement, and every measurement is timestamped. Free skills need no authentication; paid skills settle from a Stripe prepaid balance, an Enterprise seat, or an Agenstry API key. On-chain x402 settlement is implemented but not accepting payment yet.","contact":{"name":"Agenstry","url":"https://agenstry.com"}},"servers":[{"url":"https://agenstry.com"}],"paths":{"/api/v1/skills":{"get":{"operationId":"list_skills","summary":"List every available skill","description":"Discovery surface: every skill with its price, REST path and intent aliases. Call this first to learn what the API can do.","tags":["free skills"],"parameters":[],"responses":{"200":{"description":"Skill catalog.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/passport/{domain}/proof":{"get":{"operationId":"agent_trust_passport_proof","summary":"Merkle inclusion proof for a passport","description":"Proof that an agent's passport was included in a published daily transparency root. Returns the leaf, its recipe, the audit path, the sibling sub-roots and the published root — enough to verify entirely offline, with no further calls to Agenstry. Passports are anchored once per UTC day for agents seen that day, so an agent indexed today is first provable tomorrow. See /docs/verify-passport.","tags":["free skills"],"parameters":[{"name":"domain","in":"path","required":true,"description":"Agent domain, e.g. `tavily.com`.","schema":{"type":"string"}},{"name":"date","in":"query","required":false,"description":"UTC day (`YYYY-MM-DD`). Omit for the most recent anchored day.","schema":{"type":"string"}}],"responses":{"200":{"description":"Inclusion proof against that day's published root.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not anchored: unknown agent, a date with no root, or a date predating passport anchoring.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/passport/verify":{"post":{"operationId":"verify_agent_trust_passport","summary":"Verify a passport document","description":"POST a passport JSON exactly as fetched. Returns the Ed25519 signature verdict (EdDSA over the RFC 8785 canonical form, detached JWS) plus whether that exact trust state is anchored in a published root. A convenience only: verifying against an endpoint Agenstry controls still means trusting Agenstry. /docs/verify-passport shows the offline check using just the published public key and the proof. Always 200 — a malformed document is an `invalid` verdict, not an error.","tags":["free skills"],"requestBody":{"required":true,"description":"The passport document, verbatim.","content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Verdict: signature validity, key id and inclusion status.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/passport/{domain}":{"get":{"operationId":"agent_trust_passport","summary":"Agent Trust Passport","description":"One portable trust document for an agent: domain control, legal entity, 30-day availability with p95 latency, the full 9-criterion readiness score, card drift, payment-evidence grade, payer independence (an evidence-confidence label about whether payments come from independent payers, never a fraud claim) and sanctions screening — each with explicit provenance (source, method, observed_at) and the whole document under a versioned schema. Free. Signals with no evidence report their own emptiness rather than being omitted. The full verification timeline, card-drift ledger and daily availability series are the paid agent_passport_history skill.","tags":["free skills"],"parameters":[{"name":"domain","in":"path","required":true,"description":"Agent domain, e.g. `tavily.com`.","schema":{"type":"string"}}],"responses":{"200":{"description":"The agent's Trust Passport.","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Domain not indexed. The body is still schema-shaped (`schema_version` + `error`).","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/badge/{domain}/passport.svg":{"get":{"operationId":"agent_trust_passport_badge","summary":"Agent Trust Passport badge (SVG)","description":"Embeddable SVG badge showing the agent's readiness grade and linking back to its passport. Renders on light and dark backgrounds: the default `theme=auto` follows the viewer's colour scheme, `light` / `dark` pin it for surfaces with a fixed background. Always returns an image — an unindexed domain gets a muted 'not indexed' badge, never an error.","tags":["free skills"],"parameters":[{"name":"domain","in":"path","required":true,"description":"Agent domain, e.g. `tavily.com`.","schema":{"type":"string"}},{"name":"theme","in":"query","required":false,"description":"Colour scheme.","schema":{"type":"string","enum":["auto","light","dark"],"default":"auto"}}],"responses":{"200":{"description":"SVG badge.","content":{"image/svg+xml":{"schema":{"type":"string"}}}}}}},"/api/v1/skills/verify_passport":{"get":{"operationId":"verify_passport","summary":"Verify an Agent Trust Passport","description":"Hand us a passport document — we tell you whether it is genuine and when it was anchored.","tags":["free skills"],"parameters":[{"name":"document","in":"query","required":true,"description":"Argument for the Verify an Agent Trust Passport skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/agent_passport":{"get":{"operationId":"agent_passport","summary":"Agent Trust Passport","description":"One portable trust document per agent — every signal we measure, with provenance.","tags":["free skills"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Argument for the Agent Trust Passport skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/payment_overview":{"get":{"operationId":"payment_overview","summary":"Payment ecosystem overview","description":"Free protocols, sources, pricing and measurement coverage map.","tags":["free skills"],"parameters":[],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/match_skill":{"get":{"operationId":"match_skill","summary":"Match canonical skill","description":"NL description → canonical skill bucket.","tags":["free skills"],"parameters":[{"name":"query","in":"query","required":true,"description":"Argument for the Match canonical skill skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/find_agent":{"get":{"operationId":"find_agent","summary":"Find A2A agent","description":"Hybrid BM25 + semantic + quality search.","tags":["free skills"],"parameters":[{"name":"query","in":"query","required":true,"description":"Argument for the Find A2A agent skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/find_mcp":{"get":{"operationId":"find_mcp","summary":"Find MCP server","description":"Search MCP servers by freeform query.","tags":["free skills"],"parameters":[{"name":"query","in":"query","required":true,"description":"Argument for the Find MCP server skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/get_agent":{"get":{"operationId":"get_agent","summary":"Get agent details","description":"Free summary card for one agent.","tags":["free skills"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Argument for the Get agent details skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/index_stats":{"get":{"operationId":"index_stats","summary":"Index stats","description":"A2A + MCP funnel breakdowns.","tags":["free skills"],"parameters":[],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/flows_summary":{"get":{"operationId":"flows_summary","summary":"Money flows: free summary","description":"Top-line money-flow numbers + 3-name teaser.","tags":["free skills"],"parameters":[],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/money_flows":{"get":{"operationId":"money_flows","summary":"Money flows: full snapshot","description":"Top-25 ranking + per-category + per-chain + 7/30/90d windows.","tags":["free skills"],"parameters":[],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/trends_summary":{"get":{"operationId":"trends_summary","summary":"Keyword trends: free summary","description":"Top-10 trending keywords this week.","tags":["free skills"],"parameters":[],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/get_agent_full":{"get":{"operationId":"get_agent_full","summary":"Agent details: full audit record","description":"Full snapshot for one agent.","tags":["free skills"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Argument for the Agent details: full audit record skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/agent_stats":{"get":{"operationId":"agent_stats","summary":"Agent stats","description":"Uptime + p50 latency + on-chain revenue.","tags":["free skills"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Argument for the Agent stats skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/keyword_search_summary":{"get":{"operationId":"keyword_search_summary","summary":"Keyword search: free teaser","description":"Top-3 agents + canonical-skill matches for one query.","tags":["free skills"],"parameters":[{"name":"query","in":"query","required":true,"description":"Argument for the Keyword search: free teaser skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/supply_gaps_summary":{"get":{"operationId":"supply_gaps_summary","summary":"Supply gaps: free teaser","description":"Top-8 underserved canonical skills with demand bucketed.","tags":["free skills"],"parameters":[],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/similar_agents":{"get":{"operationId":"similar_agents","summary":"Similar agents","description":"Embedding-nearest agents for one domain.","tags":["free skills"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Argument for the Similar agents skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/similar_mcps":{"get":{"operationId":"similar_mcps","summary":"Similar MCP servers","description":"Embedding-nearest MCPs for one server name.","tags":["free skills"],"parameters":[{"name":"name","in":"query","required":true,"description":"Argument for the Similar MCP servers skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/similar_skills":{"get":{"operationId":"similar_skills","summary":"Related canonical skills","description":"Embedding-nearest skills for a canonical id.","tags":["free skills"],"parameters":[{"name":"skill_id","in":"query","required":true,"description":"Argument for the Related canonical skills skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/compose":{"get":{"operationId":"compose","summary":"Compose plan","description":"Natural-language task → ranked multi-step plan. Paid skill — $0.1000 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"task","in":"query","required":true,"description":"Argument for the Compose plan skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/compose_and_execute":{"get":{"operationId":"compose_and_execute","summary":"Compose plan AND execute it","description":"Plan + run the steps end-to-end: managed orchestration. Paid skill — $0.1000 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"task","in":"query","required":true,"description":"Argument for the Compose plan AND execute it skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/skill_market":{"get":{"operationId":"skill_market","summary":"Skill market data","description":"Per-canonical-skill market shape. Paid skill — $0.0500 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"skill","in":"query","required":true,"description":"Argument for the Skill market data skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/provider_intel":{"get":{"operationId":"provider_intel","summary":"Provider intelligence","description":"Per-LEI portfolio + composite trust signal. Paid skill — $0.1000 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"provider","in":"query","required":true,"description":"Argument for the Provider intelligence skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/flow_trends":{"get":{"operationId":"flow_trends","summary":"Money-flow trends + cohorts","description":"Daily time-series + weekly cohorts + per-protocol split. Paid skill — $0.0500 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"window_days","in":"query","required":true,"description":"Argument for the Money-flow trends + cohorts skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/payment_intelligence":{"get":{"operationId":"payment_intelligence","summary":"Payment market intelligence","description":"Source overlap, concentration, rail mix and data-quality diagnostics. Paid skill — $0.0500 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/wallet_intel":{"get":{"operationId":"wallet_intel","summary":"Wallet intelligence","description":"Per-wallet portfolio across the index. Paid skill — $0.1000 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"address","in":"query","required":true,"description":"Argument for the Wallet intelligence skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/keyword_trends":{"get":{"operationId":"keyword_trends","summary":"Keyword trends: what agents are searching for","description":"Top queries, growth, related skills. Paid skill — $0.0500 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"window_days","in":"query","required":true,"description":"Argument for the Keyword trends: what agents are searching for skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/keyword_search":{"get":{"operationId":"keyword_search","summary":"Keyword search: SEO-style query intelligence","description":"Volume + ranked agents + quality + opportunity signal for one query. Paid skill — $0.0200 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"query","in":"query","required":true,"description":"Argument for the Keyword search: SEO-style query intelligence skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/supply_gaps":{"get":{"operationId":"supply_gaps","summary":"Supply gaps: full demand-vs-supply ranking","description":"Top-50 underserved canonical skills with exact impressions + density. Paid skill — $0.0300 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"window_days","in":"query","required":true,"description":"Argument for the Supply gaps: full demand-vs-supply ranking skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/agent_callers":{"get":{"operationId":"agent_callers","summary":"Agent callers: who's calling this agent","description":"Per-agent caller breakdown (host / peer / country / surface). Paid skill — $0.0500 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Argument for the Agent callers: who's calling this agent skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/skills/agent_passport_history":{"get":{"operationId":"agent_passport_history","summary":"Agent Trust Passport: full history","description":"Passport snapshot plus the complete audit history. Paid skill — $0.0300 USDC per call. On-chain x402 settlement is not accepting payment yet: the endpoint returns HTTP 503 listing the working rails (Stripe prepaid balance, Enterprise seat).","tags":["paid skills"],"parameters":[{"name":"domain","in":"query","required":true,"description":"Argument for the Agent Trust Passport: full history skill.","schema":{"type":"string"}}],"responses":{"200":{"description":"Skill result.","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Payment required, but on-chain settlement is not switched on. Body carries would_cost_usdc and payment_options.","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Agenstry API key (`Authorization: Bearer af_…`). See /pricing."}}}}