Skip to main content
API referenceSearch

Ask

Last updated

POST
/api/v1/ask

Ask a natural-language question about the registry and get a grounded answer with citations. POST a JSON body { question }; the answer carries inline [n] markers resolved by citations, each naming the surface it came from, so every claim is traceable to a registered surface rather than to the model. Use this when the question is exploratory ("which subnets expose a public inference API?"); use /api/v1/search/semantic when you want the ranked matches themselves rather than prose. Mirrored by the ask MCP tool. Served live (no static file); 503 ai_unavailable where no AI binding is configured.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

question*string
Length1 <= length

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/ask" \  -H "Content-Type: application/json" \  -d '{    "question": "string"  }'
{  "data": {    "answer": "example",    "citations": [      {        "netuid": 7,        "ref": 1,        "score": 100,        "slug": "example-subnet",        "title": "Example Subnet",        "url": "https://api.metagraph.sh/example"      }    ],    "context_count": 1,    "model": "example",    "question": "example"  },  "meta": {    "artifact_path": "example",    "cache": "short",    "contract_version": "2026-06-29.1",    "generated_at": "2026-06-01T00:00:00.000Z",    "pagination": {      "collection": "example",      "cursor": 1,      "limit": 1,      "next_cursor": 1,      "order": "asc",      "returned": 1,      "sort": "example",      "total": 1    },    "published_at": "2026-06-01T00:00:00.000Z",    "source": "live-cron-prober",    "stale_contract": {      "built_under": "example",      "live": "example"    }  },  "ok": true,  "schema_version": 1}