{"openapi":"3.1.0","info":{"title":"RobotsDataset API","description":"Live, provenance-tracked datasets for AI agents: every value carries `source_url`, `observed_at`, `confidence`. JSON, or Markdown by appending `.md` to any `/v1` path.\n\n**Agents start here:** [https://robotsdataset.com/llms.txt](https://robotsdataset.com/llms.txt) (rules, workflow, URL patterns), then `/v1/{{dataset}}/llms.txt` for one dataset. Filters are generated from each dataset's schema (`/v1/{{dataset}}/schema` → `filters`); `/v1/{{dataset}}/facets?by=<attr>` lists the values a filter accepts. MCP (streamable HTTP) at `/mcp`. Auth: `Authorization: Bearer <api_key>` (POST `/v1/keys`) or x402 per call; free tier without a key. Errors: `{{error, message, is_retriable, retry_after_seconds?, documentation_url}}`.","version":"1.0"},"paths":{"/v1/datasets":{"get":{"tags":["datasets"],"summary":"Catalog of datasets with links, tools and prices (free)","operationId":"list_datasets_v1_datasets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Datasets V1 Datasets Get"}}}}}}},"/v1/{ds}/schema":{"get":{"tags":["datasets"],"summary":"JSON Schema, attribute metadata and the generated filter grammar (free)","operationId":"dataset_schema_v1__ds__schema_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Dataset Schema V1  Ds  Schema Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/status":{"get":{"tags":["datasets"],"summary":"Dataset health: counts, freshness, last/next collection (free)","operationId":"dataset_status_v1__ds__status_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Dataset Status V1  Ds  Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/samples":{"get":{"tags":["datasets"],"summary":"Fictional sample records with full provenance (free)","description":"Sample records shipped with the pack: full data + provenance, free, flagged `sample: true`.","operationId":"dataset_samples_v1__ds__samples_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Dataset Samples V1  Ds  Samples Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/samples.md":{"get":{"tags":["datasets"],"summary":"Samples as Markdown (free)","operationId":"dataset_samples_md_v1__ds__samples_md_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/examples":{"get":{"tags":["datasets"],"summary":"Real showcase records, best per group, full fields (free)","description":"Free teaser of real records: `serving.showcase.per_group` best per `group_by` value, full fields\n(list shape) + provenance; `?group=` keeps one group. Markdown twin: `/examples.md`.","operationId":"dataset_examples_v1__ds__examples_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Dataset Examples V1  Ds  Examples Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/llms.txt":{"get":{"tags":["datasets"],"summary":"Agent guide for this dataset: rules, workflow, query parameters, MCP tools, fields (free)","operationId":"dataset_llms_v1__ds__llms_txt_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/llms-full.txt":{"get":{"tags":["datasets"],"summary":"Every record with public fields, regenerated nightly (free)","operationId":"dataset_llms_full_v1__ds__llms_full_txt_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/export":{"get":{"tags":["datasets"],"summary":"Signed link to the nightly CSV/JSONL/Parquet snapshot (subscription)","operationId":"dataset_export_v1__ds__export_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"csv","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Dataset Export V1  Ds  Export Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/entities":{"get":{"tags":["entities"],"summary":"Search records (schema-generated filters)","description":"Filters come from the dataset schema (`/v1/{ds}/schema` → `filters`): `<attr>=` (comma = any of),\n`min_/max_<attr>`, `like_<attr>`, `not_<attr>`, `has_<attr>`, `q` (prefix full-text), `near=lat,lng,km`.\n`fields=` selects attributes, `total=true` adds the match count, `ids=` looks up a batch,\n`format=md|csv|ndjson` (csv/ndjson: up to 1000 rows per page with a key).","operationId":"search_entities_v1__ds__entities_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"near","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Near"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"-quality","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":20,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}},{"name":"total","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Total"}},{"name":"ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ids"}},{"name":"updated_since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated Since"}},{"name":"min_quality","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Quality"}},{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Search Entities V1  Ds  Entities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/entities/batch":{"get":{"tags":["entities"],"summary":"Full records for up to 100 ids in one call","description":"Priced as `get` × number of ids (key or x402 only). Unknown ids are listed in `missing`.","operationId":"batch_entities_v1__ds__entities_batch_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","title":"Ids"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Batch Entities V1  Ds  Entities Batch Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/entities/{entity_id}":{"get":{"tags":["entities"],"summary":"One record (id or slug) with provenance","operationId":"get_entity_v1__ds__entities__entity_id__get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Get Entity V1  Ds  Entities  Entity Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/entities/{entity_id}/similar":{"get":{"tags":["entities"],"summary":"Records most similar by name","description":"Word overlap on the indexed text, best first (`score`). `differ_by=<attr>` (default:\n`serving.similar_differ_by`) returns only records with a different value there — the same product in\nother chains, competitors in other districts. Priced as `search`.","operationId":"entity_similar_v1__ds__entities__entity_id__similar_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Limit"}},{"name":"differ_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Differ By"}},{"name":"fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fields"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Entity Similar V1  Ds  Entities  Entity Id  Similar Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/entities/{entity_id}/facts":{"get":{"tags":["entities"],"summary":"Value history of one record (every fact ever observed)","operationId":"entity_facts_v1__ds__entities__entity_id__facts_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"attribute","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribute"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Entity Facts V1  Ds  Entities  Entity Id  Facts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/entities/{entity_id}/prices":{"get":{"tags":["entities"],"summary":"Price attributes of one record with provenance","operationId":"entity_prices_v1__ds__entities__entity_id__prices_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Entity Prices V1  Ds  Entities  Entity Id  Prices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/entities/{entity_id}/audit.md":{"get":{"tags":["entities"],"summary":"AI-visibility audit of one record as Markdown (free)","operationId":"entity_audit_v1__ds__entities__entity_id__audit_md_get","parameters":[{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Entity Audit V1  Ds  Entities  Entity Id  Audit Md Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/changes":{"get":{"tags":["entities"],"summary":"Full change feed since a timestamp (subscription)","operationId":"dataset_changes_v1__ds__changes_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"since","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"Since"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":1000,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Dataset Changes V1  Ds  Changes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/changelog":{"get":{"tags":["entities"],"summary":"Public changelog: values that appeared or changed, newest first (free)","description":"Public changelog (free): values that appeared or changed, newest first. Values are visible for the\npack's public fields (and samples); other attributes show the change without the value.","operationId":"dataset_changelog_v1__ds__changelog_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"attribute","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribute"}},{"name":"entity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity"}},{"name":"type","in":"query","required":false,"schema":{"type":"string","pattern":"^(all|changed|added)$","default":"all","title":"Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Dataset Changelog V1  Ds  Changelog Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/compare":{"get":{"tags":["entities"],"summary":"Up to 5 records side by side on the dataset's compare columns","operationId":"compare_v1__ds__compare_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"ids","in":"query","required":true,"schema":{"type":"string","title":"Ids"}},{"name":"attribute","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attribute"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Compare V1  Ds  Compare Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/stats":{"get":{"tags":["entities"],"summary":"Median / quartiles / mean of a numeric attribute, grouped","description":"Same filters as search. `group_by=a` → one row per value; `group_by=a,b` → nested groups\n(e.g. chain × category = a basket table).","operationId":"stats_v1__ds__stats_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"attribute","in":"query","required":true,"schema":{"type":"string","title":"Attribute"}},{"name":"group_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group By"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Stats V1  Ds  Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/facets":{"get":{"tags":["entities"],"summary":"Distinct values of an attribute with counts (free)","description":"How to discover valid filter values (chain slugs, categories, districts, localities…): the most\ncommon values of `by` over the records matching the other query params. Free.","operationId":"facets_v1__ds__facets_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"by","in":"query","required":true,"schema":{"type":"string","title":"By"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Facets V1  Ds  Facets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/{ds}/timeseries":{"get":{"tags":["entities"],"summary":"A numeric attribute over time (from the fact history)","description":"Median/min/max/mean of `attribute` as of each day (or `step=week`) over the records matching the\nother query params, optionally per `group_by` value — a price index, a basket's inflation per chain.\nFilters must match at most 5000 records. Priced as `stats`.","operationId":"timeseries_v1__ds__timeseries_get","parameters":[{"name":"ds","in":"path","required":true,"schema":{"type":"string","title":"Ds"}},{"name":"attribute","in":"query","required":true,"schema":{"type":"string","title":"Attribute"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":366,"minimum":1,"default":90,"title":"Days"}},{"name":"step","in":"query","required":false,"schema":{"type":"string","default":"day","title":"Step"}},{"name":"group_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Group By"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Timeseries V1  Ds  Timeseries Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/optout":{"delete":{"tags":["optout"],"summary":"Business opt-out: remove a record (verified by e-mail domain)","operationId":"optout_v1_optout_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptOutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Optout V1 Optout Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/claim":{"put":{"tags":["optout"],"summary":"Owner claim step 3: the verified owner edits their record","description":"Owner channel step 2: verified owner edits their own row (source.kind=owner, confidence 1.0).","operationId":"claim_update_v1_claim_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Claim Update V1 Claim Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["optout"],"summary":"Owner claim step 1: request a magic link","description":"Owner channel step 1: request a magic link (only a business-domain e-mail is accepted).","operationId":"claim_v1_claim_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Claim V1 Claim Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/claim/verify":{"get":{"tags":["optout"],"summary":"Owner claim step 2: verify the magic link","operationId":"claim_verify_v1_claim_verify_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Claim Verify V1 Claim Verify Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys":{"get":{"tags":["keys"],"summary":"Admin: list keys","operationId":"list_keys_v1_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response List Keys V1 Keys Get"}}}}}},"post":{"tags":["keys"],"summary":"Create an API key (one per e-mail, welcome credit)","operationId":"create_key_v1_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Create Key V1 Keys Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys/me":{"get":{"tags":["keys"],"summary":"My key: balance, plan, ledger","operationId":"my_key_v1_keys_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response My Key V1 Keys Me Get"}}}}}}},"/v1/keys/topup":{"post":{"tags":["keys"],"summary":"Stripe Checkout link to top up credits","operationId":"topup_v1_keys_topup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Topup"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Topup V1 Keys Topup Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys/{key_id}":{"delete":{"tags":["keys"],"summary":"Admin: revoke a key","operationId":"delete_key_v1_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Delete Key V1 Keys  Key Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/keys/grant":{"post":{"tags":["keys"],"summary":"Admin: grant credits or a plan","operationId":"grant_v1_keys_grant_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Grant"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Grant V1 Keys Grant Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ops/stats.json":{"get":{"tags":["ops"],"summary":"Stats Json","operationId":"stats_json_ops_stats_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Stats Json Ops Stats Json Get"}}}}}}},"/ops/review.json":{"get":{"tags":["ops"],"summary":"Review Json","operationId":"review_json_ops_review_json_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"open","title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Review Json Ops Review Json Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ops/review/{item_id}/approve":{"post":{"tags":["ops"],"summary":"Approve","operationId":"approve_ops_review__item_id__approve_post","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Approve Ops Review  Item Id  Approve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ops/review/{item_id}/reject":{"post":{"tags":["ops"],"summary":"Reject","operationId":"reject_ops_review__item_id__reject_post","parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Reject Ops Review  Item Id  Reject Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ops/login":{"get":{"tags":["ops"],"summary":"Login Page","operationId":"login_page_ops_login_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}},"post":{"tags":["ops"],"summary":"Login","operationId":"login_ops_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_ops_login_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Login Ops Login Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ops/logout":{"post":{"tags":["ops"],"summary":"Logout","operationId":"logout_ops_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Logout Ops Logout Post"}}}}}}},"/ops/partials/review":{"get":{"tags":["ops"],"summary":"Review Partial","operationId":"review_partial_ops_partials_review_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/ops/":{"get":{"tags":["ops"],"summary":"Dashboard","operationId":"dashboard_ops__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/ops":{"get":{"tags":["ops"],"summary":"Dashboard","operationId":"dashboard_ops_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/a2a/v1/message:send":{"post":{"tags":["a2a"],"summary":"A2A send-message (HTTP+JSON binding)","description":"A2A `SendMessage`: a data part names the skill, the reply is a Message with text + data parts.","operationId":"message_send_a2a_v1_message_send_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Message Send A2A V1 Message Send Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/healthz":{"get":{"summary":"Healthz","description":"Liveness + what ops needs after a deploy: when this process started and whether the memo is\nwarm (`entries` > 0 a few seconds after start means serve/warmup.py ran).","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Healthz Healthz Get"}}}}}}},"/llms.txt":{"get":{"summary":"Llms Index","operationId":"llms_index_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/robots.txt":{"get":{"summary":"Robots","operationId":"robots_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/.well-known/x402.json":{"get":{"summary":"X402 Json","operationId":"x402_json__well_known_x402_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response X402 Json  Well Known X402 Json Get"}}}}}}},"/.well-known/mcp/server-card.json":{"get":{"summary":"Mcp Server Card","description":"Discovery card for MCP clients/registries (same facts as ops/publish_mcp.sh).","operationId":"mcp_server_card__well_known_mcp_server_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Mcp Server Card  Well Known Mcp Server Card Json Get"}}}}}}},"/v1/catalog":{"get":{"summary":"Linkset","description":"RFC 9264 linkset: one place that points to every machine entry (MCP, llms.txt, REST, x402).","operationId":"linkset_v1_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Linkset V1 Catalog Get"}}}}}}},"/.well-known/api-catalog":{"get":{"summary":"Api Catalog","description":"RFC 9727: which APIs this publisher exposes, as a linkset. `/v1/catalog` remains the linkset of\nevery machine entry; this one is the API-shaped view a generic client knows how to read.","operationId":"api_catalog__well_known_api_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Api Catalog  Well Known Api Catalog Get"}}}}}}},"/auth.md":{"get":{"summary":"Auth Md","description":"How an agent gets and uses a credential, in Markdown (the Auth.md convention).","operationId":"auth_md_auth_md_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/.well-known/http-message-signatures-directory":{"get":{"summary":"Signature Directory","description":"Web Bot Auth key directory: the public half of the key our crawler signs with. The response is\nitself signed over the caller's authority, so a mirror of this document cannot register as us.","operationId":"signature_directory__well_known_http_message_signatures_directory_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Signature Directory  Well Known Http Message Signatures Directory Get"}}}}}}},"/.well-known/oauth-authorization-server/v1":{"get":{"summary":"Oauth As Metadata","description":"RFC 8414 authorization server metadata (ADR 0008). Advertises only implemented endpoints.","operationId":"oauth_as_metadata__well_known_oauth_authorization_server_v1_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Oauth As Metadata  Well Known Oauth Authorization Server V1 Get"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"summary":"Oauth As Metadata","description":"RFC 8414 authorization server metadata (ADR 0008). Advertises only implemented endpoints.","operationId":"oauth_as_metadata__well_known_oauth_authorization_server_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Oauth As Metadata  Well Known Oauth Authorization Server Get"}}}}}}},"/.well-known/oauth-protected-resource{resource_path}":{"get":{"summary":"Oauth Prm","description":"RFC 9728: what a 401 from the site, `/v1` or `/mcp` points at. The path of the resource is part\nof the well-known URI, so `resource` echoes back exactly what the client asked about.","operationId":"oauth_prm__well_known_oauth_protected_resource_resource_path__get","parameters":[{"name":"resource_path","in":"path","required":true,"schema":{"type":"string","title":"Resource Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Oauth Prm  Well Known Oauth Protected Resource Resource Path  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-protected-resource":{"get":{"summary":"Oauth Prm","description":"RFC 9728: what a 401 from the site, `/v1` or `/mcp` points at. The path of the resource is part\nof the well-known URI, so `resource` echoes back exactly what the client asked about.","operationId":"oauth_prm__well_known_oauth_protected_resource_get","parameters":[{"name":"resource_path","in":"query","required":false,"schema":{"type":"string","default":"","title":"Resource Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Oauth Prm  Well Known Oauth Protected Resource Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/agent-card.json":{"get":{"summary":"Agent Card","description":"A2A discovery card; the interface it advertises is served by the `/a2a/v1` router.","operationId":"agent_card__well_known_agent_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Agent Card  Well Known Agent Card Json Get"}}}}}}},"/.well-known/agent-skills/index.json":{"get":{"summary":"Agent Skills Index","description":"Agent Skills discovery (RFC v0.2.0): one instruction file for the platform, one per dataset.","operationId":"agent_skills_index__well_known_agent_skills_index_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Agent Skills Index  Well Known Agent Skills Index Json Get"}}}}}}},"/.well-known/agent-skills/{name}/SKILL.md":{"get":{"summary":"Agent Skill","operationId":"agent_skill__well_known_agent_skills__name__SKILL_md_get","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string","title":"Name"}}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/datasets.jsonld":{"get":{"summary":"Datasets Jsonld","operationId":"datasets_jsonld__well_known_datasets_jsonld_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Datasets Jsonld  Well Known Datasets Jsonld Get"}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Root  Get"}}}}}}}},"components":{"schemas":{"Body_login_ops_login_post":{"properties":{"key":{"type":"string","title":"Key"}},"type":"object","required":["key"],"title":"Body_login_ops_login_post"},"ClaimRequest":{"properties":{"dataset":{"type":"string","title":"Dataset"},"entity_id":{"type":"string","title":"Entity Id"},"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["dataset","entity_id","email"],"title":"ClaimRequest"},"ClaimUpdate":{"properties":{"token":{"type":"string","title":"Token"},"values":{"additionalProperties":true,"type":"object","title":"Values"}},"type":"object","required":["token","values"],"title":"ClaimUpdate"},"Grant":{"properties":{"key_id":{"type":"string","format":"uuid","title":"Key Id"},"amount_eur":{"type":"number","title":"Amount Eur"},"reason":{"type":"string","title":"Reason","default":"grant"}},"type":"object","required":["key_id","amount_eur"],"title":"Grant"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KeyCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"plan":{"type":"string","title":"Plan","default":"payg"}},"type":"object","required":["email"],"title":"KeyCreate"},"OptOutRequest":{"properties":{"dataset":{"type":"string","title":"Dataset"},"entity_id":{"type":"string","title":"Entity Id","description":"entity id or slug"},"contact":{"type":"string","format":"email","title":"Contact"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["dataset","entity_id","contact"],"title":"OptOutRequest"},"Topup":{"properties":{"amount_eur":{"type":"number","title":"Amount Eur"}},"type":"object","required":["amount_eur"],"title":"Topup"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"tags":[{"name":"datasets","description":"Catalog, schema, status, guides, examples, samples, export."},{"name":"entities","description":"Search (schema-generated filters), records, batch, similar, history, stats, facets, timeseries, compare, changelog."},{"name":"optout","description":"Business opt-out and owner claim (magic link)."},{"name":"keys","description":"API keys, credits, Stripe top-up. Admin: list/revoke/grant."},{"name":"ops","description":"Admin dashboard endpoints (admin key)."}]}