{"components":{"securitySchemes":{"agentId":{"in":"header","name":"x-agent-id","type":"apiKey"},"c2Bearer":{"scheme":"bearer","type":"http"}}},"info":{"description":"Agentic-first Earth observation meta-repository and OVERMATCH C2 data backend. See /llms.txt for an orientation and /mcp for the Model Context Protocol endpoint.","title":"TerraFabric API","version":"0.1.0"},"openapi":"3.1.0","paths":{"/mcp":{"post":{"responses":{"200":{"description":"OK"}},"summary":"Model Context Protocol JSON-RPC endpoint","tags":["agents"]}},"/v1/agent/tools":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Tool manifest (JSON Schema function definitions)","tags":["agents"]}},"/v1/agent/tools/{name}":{"post":{"responses":{"200":{"description":"OK"}},"summary":"Invoke a tool by name","tags":["agents"]}},"/v1/c2/capabilities":{"get":{"responses":{"200":{"description":"OK"}},"summary":"C2 capabilities","tags":["c2"]}},"/v1/c2/coverage":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"all_weather":{"description":"Require collection through cloud.","type":"boolean"},"aoi":{"description":"Area of interest: a GeoJSON Polygon/MultiPolygon/Feature, or a [west, south, east, north] bbox in WGS84 degrees.","oneOf":[{"items":{"type":"number"},"maxItems":4,"minItems":4,"type":"array"},{"type":"object"}]},"budget_usd":{"type":"number"},"end":{"description":"Window end (default start + 72h).","format":"date-time","type":"string"},"include_commercial":{"default":true,"type":"boolean"},"include_free":{"default":true,"type":"boolean"},"intent":{"description":"Plain-language information need.","type":"string"},"license_tier":{"enum":["single-org","multi-org","government-wide","public-release"],"type":"string"},"max_gsd_m":{"description":"Maximum acceptable ground sample distance (m).","type":"number"},"max_latency_hours":{"type":"number"},"modalities":{"items":{"enum":["optical","multispectral","hyperspectral","thermal","sar","lidar","elevation","atmospheric","landcover","rf","ais","video"],"type":"string"},"type":"array"},"night":{"description":"Require night capability.","type":"boolean"},"start":{"description":"Window start (default now).","format":"date-time","type":"string"}},"required":["aoi"],"type":"object"}}},"required":true},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"content":{"application/problem+json":{}},"description":"Problem"}},"summary":"Assess coverage for a collection requirement","tags":["c2"]}},"/v1/c2/feed":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Server-sent events: orders, tasking and availability","tags":["c2"]}},"/v1/c2/tasking":{"get":{"responses":{"200":{"description":"OK"}},"summary":"List all tasking requests (admin only: Bearer TF_ADMIN_KEY)","tags":["c2"]},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"collection":{"type":"string"},"marking":{"type":"string"},"priority":{"enum":["standard","priority","urgent","flash"],"type":"string"},"requester":{"type":"string"},"requirement":{"properties":{"all_weather":{"description":"Require collection through cloud.","type":"boolean"},"aoi":{"description":"Area of interest: a GeoJSON Polygon/MultiPolygon/Feature, or a [west, south, east, north] bbox in WGS84 degrees.","oneOf":[{"items":{"type":"number"},"maxItems":4,"minItems":4,"type":"array"},{"type":"object"}]},"budget_usd":{"type":"number"},"end":{"description":"Window end (default start + 72h).","format":"date-time","type":"string"},"include_commercial":{"default":true,"type":"boolean"},"include_free":{"default":true,"type":"boolean"},"intent":{"description":"Plain-language information need.","type":"string"},"license_tier":{"enum":["single-org","multi-org","government-wide","public-release"],"type":"string"},"max_gsd_m":{"description":"Maximum acceptable ground sample distance (m).","type":"number"},"max_latency_hours":{"type":"number"},"modalities":{"items":{"enum":["optical","multispectral","hyperspectral","thermal","sar","lidar","elevation","atmospheric","landcover","rf","ais","video"],"type":"string"},"type":"array"},"night":{"description":"Require night capability.","type":"boolean"},"start":{"description":"Window start (default now).","format":"date-time","type":"string"}},"required":["aoi"],"type":"object"}},"required":["requirement"],"type":"object"}}},"required":true},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"content":{"application/problem+json":{}},"description":"Problem"}},"summary":"Submit tasking request","tags":["c2"]}},"/v1/c2/tasking/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Get tasking request","tags":["c2"]}},"/v1/c2/tasking/{id}/cot":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Tasking as Cursor-on-Target XML","tags":["c2"]}},"/v1/collections":{"get":{"responses":{"200":{"description":"OK"}},"summary":"List collections","tags":["catalog"]}},"/v1/collections/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Collection detail (JSON, JSON-LD via ?format=jsonld or Accept, Turtle via ?format=ttl)","tags":["catalog"]}},"/v1/collections/{id}/items":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Search items (STAC FeatureCollection)","tags":["catalog"]}},"/v1/graph":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Triple pattern query (s, p, o, limit)","tags":["ontology"]}},"/v1/graph.ttl":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Full knowledge graph (Turtle)","tags":["ontology"]}},"/v1/licenses":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Licences, licence tiers and priorities","tags":["commerce"]}},"/v1/mandates":{"get":{"responses":{"200":{"description":"OK"}},"summary":"List all mandates (admin only: Bearer TF_ADMIN_KEY)","tags":["commerce"]},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"agent_id":{"type":"string"},"allowed_license_tiers":{"items":{"enum":["single-org","multi-org","government-wide","public-release"],"type":"string"},"type":"array"},"budget_usd":{"minimum":0,"type":"number"},"max_order_usd":{"minimum":0,"type":"number"},"principal":{"type":"string"}},"required":["agent_id","principal","max_order_usd","budget_usd"],"type":"object"}}},"required":true},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"content":{"application/problem+json":{}},"description":"Problem"}},"summary":"Set agent spending mandate","tags":["commerce"]}},"/v1/ontology":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Ontology description (JSON)","tags":["ontology"]}},"/v1/ontology.ttl":{"get":{"responses":{"200":{"description":"OK"}},"summary":"Ontology (Turtle)","tags":["ontology"]}},"/v1/ontology/context.jsonld":{"get":{"responses":{"200":{"description":"OK"}},"summary":"JSON-LD context","tags":["ontology"]}},"/v1/orders":{"get":{"responses":{"200":{"description":"OK"}},"summary":"List all orders (admin only: Bearer TF_ADMIN_KEY)","tags":["commerce"]},"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"quote_id":{"type":"string"},"reference":{"type":"string"}},"required":["quote_id"],"type":"object"}}},"required":true},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"content":{"application/problem+json":{}},"description":"Problem"}},"summary":"Place order (x-agent-id header marks an agent bound by its mandate)","tags":["commerce"]}},"/v1/orders/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Get order","tags":["commerce"]}},"/v1/orders/{id}/approve":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Approve over-mandate order (principal)","tags":["commerce"]}},"/v1/orders/{id}/cancel":{"post":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Cancel order","tags":["commerce"]}},"/v1/providers":{"get":{"responses":{"200":{"description":"OK"}},"summary":"List providers","tags":["catalog"]}},"/v1/quotes":{"post":{"requestBody":{"content":{"application/json":{"schema":{"properties":{"aoi":{"description":"Area of interest: a GeoJSON Polygon/MultiPolygon/Feature, or a [west, south, east, north] bbox in WGS84 degrees.","oneOf":[{"items":{"type":"number"},"maxItems":4,"minItems":4,"type":"array"},{"type":"object"}]},"collection":{"type":"string"},"datetime":{"type":"string"},"license_tier":{"enum":["single-org","multi-org","government-wide","public-release"],"type":"string"},"mode":{"enum":["archive","tasking","subscription"],"type":"string"},"months":{"maximum":36,"minimum":1,"type":"integer"},"priority":{"enum":["standard","priority","urgent","flash"],"type":"string"}},"required":["collection","aoi"],"type":"object"}}},"required":true},"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"400":{"content":{"application/problem+json":{}},"description":"Problem"}},"summary":"Create quote","tags":["commerce"]}},"/v1/quotes/{id}":{"get":{"parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Get quote","tags":["commerce"]}},"/v1/search":{"get":{"parameters":[{"in":"query","name":"q","schema":{"type":"string"}},{"in":"query","name":"modality","schema":{"type":"string"}},{"in":"query","name":"access","schema":{"type":"string"}},{"in":"query","name":"tier","schema":{"type":"string"}},{"in":"query","name":"provider","schema":{"type":"string"}},{"in":"query","name":"bbox","schema":{"type":"string"}},{"in":"query","name":"datetime","schema":{"type":"string"}},{"in":"query","name":"max_gsd","schema":{"type":"string"}},{"in":"query","name":"all_weather","schema":{"type":"string"}},{"in":"query","name":"night","schema":{"type":"string"}},{"in":"query","name":"tasking","schema":{"type":"string"}},{"in":"query","name":"sort","schema":{"type":"string"}},{"in":"query","name":"limit","schema":{"type":"string"}},{"in":"query","name":"offset","schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}},"summary":"Search collections (ranked, faceted)","tags":["catalog"]}}},"servers":[{"url":"https://terrafabric.world/api"}],"tags":[{"name":"catalog"},{"name":"ontology"},{"name":"commerce"},{"name":"agents"},{"description":"OVERMATCH integration","name":"c2"}]}