{"openapi":"3.1.0","info":{"title":"ConservaNode API & Live Web Platform","description":"Crowdsourcing the structural intelligence behind global conservation. Improving the world - one node at a time. Provides human web exploration, REST APIs, cryptographic audit ledger verification, and Model Context Protocol (MCP) tools.","termsOfService":"https://conservanode.org/terms.html","contact":{"name":"ConservaNode","url":"https://conservanode.org/","email":"admin@conservanode.com"},"license":{"name":"CC0 1.0 (data); code under its repository licence","url":"https://creativecommons.org/publicdomain/zero/1.0/"},"version":"0.1.0"},"paths":{"/llms.txt":{"get":{"tags":["Agent Discovery"],"summary":"Get Llms Txt","operationId":"get_llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/llms-full.txt":{"get":{"tags":["Agent Discovery"],"summary":"Get Llms Full Txt","operationId":"get_llms_full_txt_llms_full_txt_get","responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/.well-known/agent-card.json":{"get":{"tags":["Agent Discovery"],"summary":"Get Agent Card","description":"The same Agent Card the static site serves: REST and MCP-style tools, not A2A JSON-RPC.","operationId":"get_agent_card__well_known_agent_card_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/health":{"get":{"tags":["System"],"summary":"Api Health","operationId":"api_health_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Health Api V1 Health Get"}}}}}}},"/api/v1/summary":{"get":{"tags":["Knowledge Graph"],"summary":"Api Summary","operationId":"api_summary_api_v1_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Summary Api V1 Summary Get"}}}}}}},"/api/v1/graph":{"get":{"tags":["Knowledge Graph"],"summary":"Api Graph","operationId":"api_graph_api_v1_graph_get","parameters":[{"name":"group","in":"query","required":false,"schema":{"type":"string","description":"Biological group key (`all`, `mammals`, `reptiles`, etc.)","default":"all","title":"Group"},"description":"Biological group key (`all`, `mammals`, `reptiles`, etc.)"},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional node kind filter (`SPECIES`, `PLACE`, `STATUTE`, `GROUP`)","title":"Kind"},"description":"Optional node kind filter (`SPECIES`, `PLACE`, `STATUTE`, `GROUP`)"},{"name":"stated_only","in":"query","required":false,"schema":{"type":"boolean","description":"If true, include only STATED edges","default":false,"title":"Stated Only"},"description":"If true, include only STATED edges"},{"name":"focus_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional node ID (`sp-24`) to extract a 2-hop ego network","title":"Focus Id"},"description":"Optional node ID (`sp-24`) to extract a 2-hop ego network"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":300,"minimum":1,"default":150,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api Graph Api V1 Graph Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/entities":{"get":{"tags":["Knowledge Graph"],"summary":"Api List Entities","operationId":"api_list_entities_api_v1_entities_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Search query across common names, scientific names, places, and statutes","default":"","title":"Q"},"description":"Search query across common names, scientific names, places, and statutes"},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Entity kind (`SPECIES`, `PLACE`, `STATUTE`, `AGENCY`)","title":"Kind"},"description":"Entity kind (`SPECIES`, `PLACE`, `STATUTE`, `AGENCY`)"},{"name":"group","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Biological group (`mammals`, `birds`, `reptiles`, etc.)","title":"Group"},"description":"Biological group (`mammals`, `birds`, `reptiles`, etc.)"},{"name":"resolution_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"`resolved` or `unresolved`","title":"Resolution Status"},"description":"`resolved` or `unresolved`"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api List Entities Api V1 Entities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/entities/{id_or_slug}":{"get":{"tags":["Knowledge Graph"],"summary":"Api Entity Detail","operationId":"api_entity_detail_api_v1_entities__id_or_slug__get","parameters":[{"name":"id_or_slug","in":"path","required":true,"schema":{"type":"string","title":"Id Or Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api Entity Detail Api V1 Entities  Id Or Slug  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/localities":{"get":{"tags":["Locality & Civic Action"],"summary":"Api Localities","operationId":"api_localities_api_v1_localities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Localities Api V1 Localities Get"}}}}}}},"/api/v1/localities/{code}":{"get":{"tags":["Locality & Civic Action"],"summary":"Api Locality Detail","operationId":"api_locality_detail_api_v1_localities__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api Locality Detail Api V1 Localities  Code  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notices":{"get":{"tags":["Federal Register Notices"],"summary":"Api List Notices","operationId":"api_list_notices_api_v1_notices_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Search query across headlines, titles, FR doc numbers, species, and places","default":"","title":"Q"},"description":"Search query across headlines, titles, FR doc numbers, species, and places"},{"name":"text_basis","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"`full_text_first_3500_chars` or `title_abstract_only`","title":"Text Basis"},"description":"`full_text_first_3500_chars` or `title_abstract_only`"},{"name":"has_facts","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter notices with extracted facts","title":"Has Facts"},"description":"Filter notices with extracted facts"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api List Notices Api V1 Notices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notices/{notice_id}":{"get":{"tags":["Federal Register Notices"],"summary":"Api Notice Detail","operationId":"api_notice_detail_api_v1_notices__notice_id__get","parameters":[{"name":"notice_id","in":"path","required":true,"schema":{"type":"integer","title":"Notice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api Notice Detail Api V1 Notices  Notice Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/audit/verify":{"get":{"tags":["Audit & Provenance"],"summary":"Api Verify Audit Ledger","operationId":"api_verify_audit_ledger_api_v1_audit_verify_get","parameters":[{"name":"document_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Optional Federal Register notice ID to verify","title":"Document Id"},"description":"Optional Federal Register notice ID to verify"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Api Verify Audit Ledger Api V1 Audit Verify Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/htmx/ledger":{"get":{"tags":["HTMX Partials"],"summary":"Api Htmx Ledger","operationId":"api_htmx_ledger_api_v1_htmx_ledger_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/v1/htmx/entity/{id_or_slug}":{"get":{"tags":["HTMX Partials"],"summary":"Api Htmx Entity","operationId":"api_htmx_entity_api_v1_htmx_entity__id_or_slug__get","parameters":[{"name":"id_or_slug","in":"path","required":true,"schema":{"type":"string","title":"Id Or Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/tools":{"get":{"tags":["MCP (Agent-to-Agent)"],"summary":"Api Mcp List Tools","operationId":"api_mcp_list_tools_api_v1_mcp_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Mcp List Tools Api V1 Mcp Tools Get"}}}}}}},"/api/v1/mcp/call":{"post":{"tags":["MCP (Agent-to-Agent)"],"summary":"Api Mcp Call Tool","operationId":"api_mcp_call_tool_api_v1_mcp_call_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPCallRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Api Mcp Call Tool Api V1 Mcp Call Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MCPCallRequest":{"properties":{"name":{"type":"string","title":"Name","description":"MCP tool name (`query_environmental_graph`, `trace_trade_corridor`, or `verify_provenance`)."},"arguments":{"additionalProperties":true,"type":"object","title":"Arguments","description":"Tool arguments."}},"type":"object","required":["name"],"title":"MCPCallRequest","description":"Request body for invoking a ConservaNode MCP tool over HTTP."},"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"}}}}