{"items":[{"type":"link","label":"Vantage API","link":"/openapi","routeSlug":"/openapi","content":{"contentType":"overview","meta":{"name":"Vantage API"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"openapi.json","url":"/_bundle/openapi.json?download"},{"kind":"download","label":"openapi.yaml","url":"/_bundle/openapi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"externallink","title":"URL","titleTranslationKey":"info.contact.url","label":"https://open-atlas.com/contact","url":"https://open-atlas.com/contact"},{"kind":"email","title":"Ahmed Elfouly","email":"info@open-atlas.com","label":"info@open-atlas.com","withCopyButton":true,"copyContent":"info@open-atlas.com"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"OpenAtlas - User License Agreement","url":"https://open-atlas.com/license"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"Vantage API (3.1.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"REST API for queuing and running geospatial analyses on user plots. Create jobs, validate and queue plots, and retrieve per-plot analysis results (e.g., EUDR, deforestation, protected areas, crop health, climate and hazard risk, site suitability, and visual verification)."},"children":[]}]}]}]}],"sectionId":"/openapi"}],"sectionId":"/openapi"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/authentication"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Most endpoints require a bearer token in the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header. Two kinds of token are accepted interchangeably:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — obtained from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /login"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with Basic Auth credentials. Best for interactive, short-lived sessions."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — a long-lived programmatic secret that begins with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vantage_live_"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" prefix. Send it exactly like a JWT: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Authorization: Bearer vantage_live_..."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". It works on any user endpoint that accepts a JWT. Create and manage your API keys from the API page in your account at "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://web.vantage.open-atlas.com/app/api"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://web.vantage.open-atlas.com/app/api"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}],"sectionId":"/openapi/section/authentication"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/analyses"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Analyses"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Analyses are run by creating a job ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /jobs/make_job"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") with one or more "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"checks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Each check has a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" naming an analysis capability and an optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"config"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". If "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"checks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is omitted, a single "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" check is run by default."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The full capability catalog — including a machine-readable configuration schema ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"input_schema"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"), display label, result key, and token cost hint for every analysis — is available from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /v3/discovery/capabilities"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capabilities fall into three groups:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compliance and land status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (deforestation + protected areas + Indigenous land bundle), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_area"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"indigenous_land"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_risk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"forest_loss_by_year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"compliance_verification_pack"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"property_due_diligence"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_site_risk_screen"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Environment, crop and hazard signals"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"canopy_condition"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"soil_moisture"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"productivity_trend"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"farm_portfolio_health"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agricultural_drought_stress"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agricultural_climate_aridity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"enso_teleconnection"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"enso_seasonal_outlook"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"precipitation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"water_detection"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"land_cover"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surface_temperature"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fire_damage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_water_history"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_risk_5weeks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_risk_5years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_burn_history"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_risk_5weeks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_risk_5years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"coastal_erosion_risk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Site suitability and verification"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"solar_site_suitability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vineyard_site_suitability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data_center_site_suitability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_inspection_priority"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"visual_verification"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Results land in the plot's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"analysis"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object. The EUDR bundle writes the legacy top-level fields plus "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_areas"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"indigenous_land"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; every other capability writes its result under a key matching the capability name (see each capability's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"result_key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the discovery endpoint when it differs)."},"children":[]}]}]}]}],"sectionId":"/openapi/section/analyses"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/tokens"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tokens"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Running analyses consumes analysis tokens, reserved when the job is created and settled when it completes. The cost depends on the selected capabilities and the plots being analyzed. To preview the exact cost of a job before committing tokens, create it with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-Dry-Run: true"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header; per-capability cost information is also returned as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cost_hint"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" by "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /v3/discovery/capabilities"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Tokens reserved for plots that fail to complete analysis are refunded."},"children":[]}]}]}]}],"sectionId":"/openapi/section/tokens"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/versioning"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Versioning"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every request must send the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"X-API-Version"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header set to "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"3"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Requests without the header receive "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":400,\"error\":\"MISSING_API_VERSION\",\"message\":\"The X-API-Version header is required. Please set it to 3. See https://docs.open-atlas.com/docs/changelog#api-versioning for details.\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; an unsupported value receives "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":400,\"error\":\"INVALID_API_VERSION\",\"message\":\"Invalid X-API-Version value: '2'. Supported versions are: 3.\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"sectionId":"/openapi/section/versioning"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":2,"id":"section/errors"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Errors"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Most errors are returned as a JSON object "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\": <integer status>, \"message\": \"<message>\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Exceptions to be aware of:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination errors"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /plots"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /jobs"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as a string: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":\"400\",\"message\":\"Cursor not found\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /login"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", the token-balance "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"404"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and the insufficient-tokens "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" outside of make_job return the message as a plain string body (with a JSON content type)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A few endpoints return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"error\": \"<message>\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (noted per endpoint below)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A missing or invalid bearer token returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"401"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with the plain-text body "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Credentials are required to access this resource."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"WWW-Authenticate: Bearer realm=\"realm\""},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" header."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An authenticated user lacking the required role receives "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":403,\"message\":\"HTTP 403 Forbidden\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; attempting to access another user's resource receives "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":403,\"message\":\"Unauthorized access to entity retrieved\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A syntactically invalid JSON body returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":400,\"message\":\"Unable to process JSON\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". A structurally invalid body returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"400"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with one of: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Unable to process JSON: Unknown property: <name>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid check type '<value>'. Allowed types: <list>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid commodity '<value>'. Allowed types: <list>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid Polygon in GeoJSON: the ring is not closed. The first and last coordinate in a LinearRing must be identical."},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", or "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid Geometry in GeoJSON: <detail>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unhandled server errors return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"500"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <16-hex-digit id>).\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — the id correlates with our server logs; no internal details are exposed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Protocol-level errors use the generic bodies "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":404,\"message\":\"HTTP 404 Not Found\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (unknown path or non-numeric path parameter), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":405,\"message\":\"HTTP 405 Method Not Allowed\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":406,\"message\":\"HTTP 406 Not Acceptable\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":415,\"message\":\"HTTP 415 Unsupported Media Type\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. a POST without "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Content-Type: application/json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}]}],"sectionId":"/openapi/section/errors"}]}]}},{"type":"link","label":"Authentication","link":"/openapi/section/authentication","routeSlug":"/openapi/section/authentication","content":null},{"type":"link","label":"Analyses","link":"/openapi/section/analyses","routeSlug":"/openapi/section/analyses","content":null},{"type":"link","label":"Tokens","link":"/openapi/section/tokens","routeSlug":"/openapi/section/tokens","content":null},{"type":"link","label":"Versioning","link":"/openapi/section/versioning","routeSlug":"/openapi/section/versioning","content":null},{"type":"link","label":"Errors","link":"/openapi/section/errors","routeSlug":"/openapi/section/errors","content":null},{"label":"Login to receive a JWT","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/login","routeSlug":"/openapi/other/login","metadata":{"seo":{"title":"Login to receive a JWT","description":"Authenticates a user using Basic Auth credentials and returns a JWT token if successful."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"login","name":"Login to receive a JWT","isWebhook":false,"pointer":"/paths/~1login/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Login to receive a JWT","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Authenticates a user using Basic Auth credentials and returns a JWT token if successful."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BasicAuth","scopes":[],"type":"http","scheme":"basic","description":"HTTP Basic credentials (username and password). Used only by POST /login to obtain a JWT."}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":"Authorization header with Basic Auth format 'Basic base64(username:password)'","required":true,"example":"Basic bXJmb3VseTptcnBhc3N3b3Jk"}],"pointer":"/paths/~1login/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{}},"pointer":"/paths/~1login/post/requestBody","description":"Basic Authorization header with encoded username and password"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/login","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"example":"Basic bXJmb3VseTptcnBhc3N3b3Jk","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BasicAuth","type":"http","scheme":"basic"}],"scopes":[]}],"requestBody":{"application/json":{}},"responseCodes":["200","400","401","500"],"pointer":"/login","href":"other/login","openApiOperationId":"login","summary":"Login to receive a JWT"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User authenticated successfully. JWT token returned in the response.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AuthToken"}},"schemaId":"components/schemas/AuthToken"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad Request. The body is the plain message string. One of: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Missing Authorization header"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (no Authorization header sent), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid Authorization header format"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (header does not start with 'Basic '), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid credentials format"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (decoded value is not 'username:password')"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_12","exampleIds":["paths/~1login/post/responses/400/content/application~1json/examples/Missing Authorization header","paths/~1login/post/responses/400/content/application~1json/examples/Invalid Authorization header format","paths/~1login/post/responses/400/content/application~1json/examples/Invalid credentials format"]}},"schemaId":"schema_12","exampleIds":["paths/~1login/post/responses/400/content/application~1json/examples/Missing Authorization header","paths/~1login/post/responses/400/content/application~1json/examples/Invalid Authorization header format","paths/~1login/post/responses/400/content/application~1json/examples/Invalid credentials format"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthorized. The body is the plain message string "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Invalid credentials"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Returned for any authentication failure (wrong username or wrong password); the cause is deliberately not distinguished"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_13"}},"schemaId":"schema_13"},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Token issuance failed. The body is the plain message string "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Failed to issue token"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_14"}},"schemaId":"schema_14"}],"pointer":"/paths/~1login/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/AuthToken","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/AuthToken"}}},{"code":"400","schemaId":"schema_12","exampleIds":["paths/~1login/post/responses/400/content/application~1json/examples/Missing Authorization header","paths/~1login/post/responses/400/content/application~1json/examples/Invalid Authorization header format","paths/~1login/post/responses/400/content/application~1json/examples/Invalid credentials format"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_12","exampleIds":["paths/~1login/post/responses/400/content/application~1json/examples/Missing Authorization header","paths/~1login/post/responses/400/content/application~1json/examples/Invalid Authorization header format","paths/~1login/post/responses/400/content/application~1json/examples/Invalid credentials format"]}}},{"code":"401","schemaId":"schema_13","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_13"}}},{"code":"500","schemaId":"schema_14","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_14"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/login"}],"panels":[]}]},"httpPath":"/login"},{"label":"Create one or more plots","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/createplot","routeSlug":"/openapi/other/createplot","metadata":{"seo":{"title":"Create one or more plots","description":"Creates plots based on the given geojson and metadata. Geometry can be a Point, Polygon, or MultiPolygon. When the FeatureCollection contains a single Feature, a single plot object is returned; when it contains multiple Features (up to 20), one plot is created per Feature and the response wraps them in a plots array."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createPlot","name":"Create one or more plots","isWebhook":false,"pointer":"/paths/~1plots~1make_plot/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create one or more plots","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates plots based on the given geojson and metadata. Geometry can be a Point, Polygon, or MultiPolygon. When the FeatureCollection contains a single Feature, a single plot object is returned; when it contains multiple Features (up to 20), one plot is created per Feature and the response wraps them in a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"plots"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1plots~1make_plot/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PlotInput"}},"schemaId":"components/schemas/PlotInput","pointer":"/paths/~1plots~1make_plot/post/requestBody","description":"Details of the plot to create"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/plots/make_plot","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/PlotInput"}},"responseCodes":["200","400","500"],"pointer":"/plots/make_plot","href":"other/createplot","openApiOperationId":"createPlot","summary":"Create one or more plots"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/PlotInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/PlotInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Plot(s) created successfully. A single-Feature request returns a plot object; a multi-Feature request returns a BatchPlotResponse with a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"plots"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_15"}},"schemaId":"schema_15"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invalid input data. The body is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\": 400, \"message\": \"<message>\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with one of the messages below. Messages marked as templates interpolate a value at the marked position"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must be provided.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain at least one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not exceed 20 Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain exactly one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not contain null Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Feature at index N has a null or missing geometry.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson Feature must have a supported geometry type.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/The plot's coordinates are not on land or could not be geocoded","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Polygon size exceeds the maximum limit of 10,000 hectares.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Harvest date must be between 2020-12-31 and today","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid point_ha value","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry must contain coordinates","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid geometry","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry is too elongated","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry area is too small","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry coordinates are outside valid range","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid Polygon in GeoJSON: the ring is not closed"]}},"exampleIds":["paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must be provided.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain at least one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not exceed 20 Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain exactly one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not contain null Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Feature at index N has a null or missing geometry.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson Feature must have a supported geometry type.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/The plot's coordinates are not on land or could not be geocoded","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Polygon size exceeds the maximum limit of 10,000 hectares.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Harvest date must be between 2020-12-31 and today","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid point_ha value","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry must contain coordinates","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid geometry","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry is too elongated","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry area is too small","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry coordinates are outside valid range","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid Polygon in GeoJSON: the ring is not closed"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1plots~1make_plot/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_15","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_15"}}},{"code":"400","exampleIds":["paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must be provided.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain at least one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not exceed 20 Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain exactly one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not contain null Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Feature at index N has a null or missing geometry.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson Feature must have a supported geometry type.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/The plot's coordinates are not on land or could not be geocoded","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Polygon size exceeds the maximum limit of 10,000 hectares.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Harvest date must be between 2020-12-31 and today","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid point_ha value","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry must contain coordinates","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid geometry","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry is too elongated","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry area is too small","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry coordinates are outside valid range","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid Polygon in GeoJSON: the ring is not closed"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must be provided.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain at least one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not exceed 20 Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain exactly one Feature.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not contain null Features.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Feature at index N has a null or missing geometry.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson Feature must have a supported geometry type.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/The plot's coordinates are not on land or could not be geocoded","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Polygon size exceeds the maximum limit of 10,000 hectares.","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Harvest date must be between 2020-12-31 and today","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid point_ha value","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry must contain coordinates","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid geometry","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry is too elongated","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry area is too small","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry coordinates are outside valid range","paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid Polygon in GeoJSON: the ring is not closed"]}}},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/createplot"}],"panels":[]}]},"httpPath":"/plots/make_plot"},{"label":"Retrieve plot details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/getplot","routeSlug":"/openapi/other/getplot","metadata":{"seo":{"title":"Retrieve plot details","description":"Fetches details of a specific plot by its unique plot_id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPlot","name":"Retrieve plot details","isWebhook":false,"pointer":"/paths/~1plots~1plot~1{plot_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve plot details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fetches details of a specific plot by its unique plot_id"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"plot_id","in":"path","schemaId":"schema_12","required":true}],"pointer":"/paths/~1plots~1plot~1{plot_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1plots~1plot~1{plot_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/plots/plot/{plot_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"plot_id","in":"path","required":true,"schemaId":"schema_12"}],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","403","404","500"],"pointer":"/plots/plot/{plot_id}","href":"other/getplot","openApiOperationId":"getPlot","summary":"Retrieve plot details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Plots details retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Plot"}},"schemaId":"components/schemas/Plot"},{"code":"403","description":"Forbidden: The user retrieving the plot does not have permission to access it","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"]}},"exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"]},{"code":"404","description":"PlotID requested does not exist","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/404/content/application~1json/examples/PlotID not found"]}},"exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/404/content/application~1json/examples/PlotID not found"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1plots~1plot~1{plot_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Plot","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Plot"}}},{"code":"403","exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"]}}},{"code":"404","exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/404/content/application~1json/examples/PlotID not found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots~1plot~1{plot_id}/get/responses/404/content/application~1json/examples/PlotID not found"]}}},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/getplot"}],"panels":[]}]},"httpPath":"/plots/plot/{plot_id}"},{"label":"List user's plots","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/listuserplots","routeSlug":"/openapi/other/listuserplots","metadata":{"seo":{"title":"List user's plots","description":"Returns the authenticated user's plots with keyset pagination (newest first)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listUserPlots","name":"List user's plots","isWebhook":false,"pointer":"/paths/~1plots/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List user's plots","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns the authenticated user's plots with keyset pagination (newest first)."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_16","description":"Maximum number of items to return (default 100, max 1000)"},{"name":"cursor","in":"query","schemaId":"schema_12","description":"Opaque cursor for the next page"},{"name":"created_at_from","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter: inclusive lower bound for created_at (ISO-8601)"},"children":[]}]}]}]},{"name":"created_at_until","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter: inclusive upper bound for created_at (ISO-8601)"},"children":[]}]}]}]},{"name":"lite","in":"query","schemaId":"schema_17","description":"When true, returns lightweight summaries with pagination meta; when false, returns full PlotDTOv2 list"}],"pointer":"/paths/~1plots/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1plots/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/plots","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_16"},{"name":"cursor","in":"query","schemaId":"schema_12"},{"name":"created_at_from","in":"query","schemaId":"schema_12"},{"name":"created_at_until","in":"query","schemaId":"schema_12"},{"name":"lite","in":"query","schemaId":"schema_17"}],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","400"],"pointer":"/plots","href":"other/listuserplots","openApiOperationId":"listUserPlots","summary":"List user's plots"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of Plot details retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PlotsListResponse"}},"schemaId":"components/schemas/PlotsListResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invalid parameters. Note: pagination errors on this endpoint return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as a string, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":\"400\",\"message\":\"Cursor not found\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". An out-of-range "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is clamped to [1, 1000] rather than rejected"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1plots/get/responses/400/content/application~1json/examples/Invalid date range"]}},"exampleIds":["paths/~1plots/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1plots/get/responses/400/content/application~1json/examples/Invalid date range"]}],"pointer":"/paths/~1plots/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/PlotsListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PlotsListResponse"}}},{"code":"400","exampleIds":["paths/~1plots/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1plots/get/responses/400/content/application~1json/examples/Invalid date range"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1plots/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1plots/get/responses/400/content/application~1json/examples/Invalid date range"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/listuserplots"}],"panels":[]}]},"httpPath":"/plots"},{"label":"List analysis runs for a plot","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/listrunsforplot","routeSlug":"/openapi/other/listrunsforplot","metadata":{"seo":{"title":"List analysis runs for a plot","description":"Returns all analysis runs associated with the provided plot_id. Each item summarizes the run, including the check type, effective configuration, status, timing, tokens cost, and links to artifacts. A plot accumulates one run per check per job, so re-running an analysis with a different configuration produces a new, auditable run."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listRunsForPlot","name":"List analysis runs for a plot","isWebhook":false,"pointer":"/paths/~1analysis-runs/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List analysis runs for a plot","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns all analysis runs associated with the provided plot_id. Each item summarizes the run, including the check type, effective configuration, status, timing, tokens cost, and links to artifacts. A plot accumulates one run per check per job, so re-running an analysis with a different configuration produces a new, auditable run."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"plot_id","in":"query","schemaId":"schema_12","description":"Plot ID to list runs for","required":true}],"pointer":"/paths/~1analysis-runs/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1analysis-runs/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/analysis-runs","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"plot_id","in":"query","required":true,"schemaId":"schema_12"}],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","400","403","404","500"],"pointer":"/analysis-runs","href":"other/listrunsforplot","openApiOperationId":"listRunsForPlot","summary":"List analysis runs for a plot"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_18"}},"schemaId":"schema_18"},{"code":"400","description":"Invalid or missing parameters","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs/get/responses/400/content/application~1json/examples/Missing plot_id"]}},"exampleIds":["paths/~1analysis-runs/get/responses/400/content/application~1json/examples/Missing plot_id"]},{"code":"403","description":"Forbidden: The authenticated user does not have permission to access the specified plot","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs/get/responses/403/content/application~1json/examples/Unauthorized access to plot"]}},"exampleIds":["paths/~1analysis-runs/get/responses/403/content/application~1json/examples/Unauthorized access to plot"]},{"code":"404","description":"Plot not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs/get/responses/404/content/application~1json/examples/Plot not found","paths/~1analysis-runs/get/responses/404/content/application~1json/examples/PlotID not found"]}},"exampleIds":["paths/~1analysis-runs/get/responses/404/content/application~1json/examples/Plot not found","paths/~1analysis-runs/get/responses/404/content/application~1json/examples/PlotID not found"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1analysis-runs/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_18","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_18"}}},{"code":"400","exampleIds":["paths/~1analysis-runs/get/responses/400/content/application~1json/examples/Missing plot_id"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs/get/responses/400/content/application~1json/examples/Missing plot_id"]}}},{"code":"403","exampleIds":["paths/~1analysis-runs/get/responses/403/content/application~1json/examples/Unauthorized access to plot"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs/get/responses/403/content/application~1json/examples/Unauthorized access to plot"]}}},{"code":"404","exampleIds":["paths/~1analysis-runs/get/responses/404/content/application~1json/examples/Plot not found","paths/~1analysis-runs/get/responses/404/content/application~1json/examples/PlotID not found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs/get/responses/404/content/application~1json/examples/Plot not found","paths/~1analysis-runs/get/responses/404/content/application~1json/examples/PlotID not found"]}}},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/listrunsforplot"}],"panels":[]}]},"httpPath":"/analysis-runs"},{"label":"Retrieve analysis run details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/getanalysisbyrunid","routeSlug":"/openapi/other/getanalysisbyrunid","metadata":{"seo":{"title":"Retrieve analysis run details","description":"Returns the full analysis run details for the provided run_id, including analysis output, status, configuration used, and artifact links."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAnalysisByRunId","name":"Retrieve analysis run details","isWebhook":false,"pointer":"/paths/~1analysis-runs~1{run_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve analysis run details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full analysis run details for the provided run_id, including analysis output, status, configuration used, and artifact links."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"run_id","in":"path","schemaId":"schema_12","required":true}],"pointer":"/paths/~1analysis-runs~1{run_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1analysis-runs~1{run_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/analysis-runs/{run_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"run_id","in":"path","required":true,"schemaId":"schema_12"}],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","403","404","500"],"pointer":"/analysis-runs/{run_id}","href":"other/getanalysisbyrunid","openApiOperationId":"getAnalysisByRunId","summary":"Retrieve analysis run details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PlotAnalysisRunDTO"}},"schemaId":"components/schemas/PlotAnalysisRunDTO"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Forbidden: The authenticated user does not have permission to access the run. A valid run_id belonging to another user returns 403, not 404"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/403/content/application~1json/examples/Unauthorized access to run"]}},"exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/403/content/application~1json/examples/Unauthorized access to run"]},{"code":"404","description":"Run not found, or the run's parent plot no longer exists","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/Run not found","paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/PlotID not found"]}},"exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/Run not found","paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/PlotID not found"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1analysis-runs~1{run_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/PlotAnalysisRunDTO","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/PlotAnalysisRunDTO"}}},{"code":"403","exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/403/content/application~1json/examples/Unauthorized access to run"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/403/content/application~1json/examples/Unauthorized access to run"]}}},{"code":"404","exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/Run not found","paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/PlotID not found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/Run not found","paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/PlotID not found"]}}},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/getanalysisbyrunid"}],"panels":[]}]},"httpPath":"/analysis-runs/{run_id}"},{"label":"Create a new job","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/createjob","routeSlug":"/openapi/other/createjob","metadata":{"seo":{"title":"Create a new job","description":"Creates a new job that runs one or more analysis checks over the given list of plot_ids. Use the checks array to select which analyses run; if it is omitted, a single eudr check is run by default. The available check types are listed in GET /v3/discovery/capabilities."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createJob","name":"Create a new job","isWebhook":false,"pointer":"/paths/~1jobs~1make_job/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new job","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new job that runs one or more analysis checks over the given list of plot_ids. Use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"checks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" array to select which analyses run; if it is omitted, a single "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" check is run by default. The available check types are listed in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /v3/discovery/capabilities"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Warning:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This operation will consume user tokens. Tokens are reserved when the job is created; tokens reserved for plots that fail to complete analysis are refunded when the job settles."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"},{"name":"X-Dry-Run","in":"header","schemaId":"schema_19","description":"Optional boolean. When true, runs the job in dry-run mode: skips token consumption and heavy compute and returns a simulated analysis with dummy visualization. Use dry-run to preview the token cost of a job before committing tokens.","example":true}],"pointer":"/paths/~1jobs~1make_job/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/JobInput"}},"schemaId":"components/schemas/JobInput","pointer":"/paths/~1jobs~1make_job/post/requestBody","description":"Details of the job to create"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/jobs/make_job","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"},{"name":"X-Dry-Run","in":"header","example":true,"schemaId":"schema_19"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/JobInput"}},"responseCodes":["200","400","402","500","503"],"pointer":"/jobs/make_job","href":"other/createjob","openApiOperationId":"createJob","summary":"Create a new job"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/JobInput","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/JobInput"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Job created successfully and plots to be analyzed","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Job"}},"schemaId":"components/schemas/Job"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invalid input data, an unknown check type, or invalid check configuration. The body is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\": 400, \"message\": \"<message>\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" with one of the messages below (templates interpolate values at the marked positions)"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Empty plot_ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Too many plots","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown plot ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Null check entry","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Check missing type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unsupported check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability with suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability without suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Missing required config","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid commodity","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Harvest date out of range","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window incomplete","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window too short","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification invalid date"]}},"exampleIds":["paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Empty plot_ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Too many plots","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown plot ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Null check entry","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Check missing type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unsupported check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability with suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability without suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Missing required config","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid commodity","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Harvest date out of range","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window incomplete","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window too short","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification invalid date"]},{"code":"402","description":"Insufficient token balance. Template: the job cost and available balance are interpolated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1make_job/post/responses/402/content/application~1json/examples/Insufficient tokens"]}},"exampleIds":["paths/~1jobs~1make_job/post/responses/402/content/application~1json/examples/Insufficient tokens"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]},{"code":"503","description":"The analysis capability catalog is still warming up after a service restart","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1make_job/post/responses/503/content/application~1json/examples/Capability catalog not loaded"]}},"exampleIds":["paths/~1jobs~1make_job/post/responses/503/content/application~1json/examples/Capability catalog not loaded"]}],"pointer":"/paths/~1jobs~1make_job/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Job","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Job"}}},{"code":"400","exampleIds":["paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Empty plot_ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Too many plots","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown plot ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Null check entry","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Check missing type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unsupported check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability with suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability without suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Missing required config","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid commodity","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Harvest date out of range","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window incomplete","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window too short","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification invalid date"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Empty plot_ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Too many plots","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown plot ids","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Null check entry","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Check missing type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unsupported check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability with suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability without suggestions","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid check type","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Missing required config","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid commodity","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Harvest date out of range","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window incomplete","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window too short","paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification invalid date"]}}},{"code":"402","exampleIds":["paths/~1jobs~1make_job/post/responses/402/content/application~1json/examples/Insufficient tokens"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1make_job/post/responses/402/content/application~1json/examples/Insufficient tokens"]}}},{"code":"500"},{"code":"503","exampleIds":["paths/~1jobs~1make_job/post/responses/503/content/application~1json/examples/Capability catalog not loaded"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1make_job/post/responses/503/content/application~1json/examples/Capability catalog not loaded"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/createjob"}],"panels":[]}]},"httpPath":"/jobs/make_job"},{"label":"Retrieve job details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/getjob","routeSlug":"/openapi/other/getjob","metadata":{"seo":{"title":"Retrieve job details","description":"Fetches details of a specific job by its unique job_id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getJob","name":"Retrieve job details","isWebhook":false,"pointer":"/paths/~1jobs~1job~1{job_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve job details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fetches details of a specific job by its unique job_id"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"job_id","in":"path","schemaId":"schema_12","required":true}],"pointer":"/paths/~1jobs~1job~1{job_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1jobs~1job~1{job_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/jobs/job/{job_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"job_id","in":"path","required":true,"schemaId":"schema_12"}],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","400","403","404","500"],"pointer":"/jobs/job/{job_id}","href":"other/getjob","openApiOperationId":"getJob","summary":"Retrieve job details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Job details retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Job"}},"schemaId":"components/schemas/Job"},{"code":"400","description":"One or more of the job's plots no longer resolves","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/400/content/application~1json/examples/Some or all plot_ids do not exist"]}},"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/400/content/application~1json/examples/Some or all plot_ids do not exist"]},{"code":"403","description":"Forbidden: The user retrieving the job does not have permission to access it","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"]}},"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Job not found. Note the message string is the generic "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Item not found"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/404/content/application~1json/examples/Item not found"]}},"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/404/content/application~1json/examples/Item not found"]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1jobs~1job~1{job_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/Job","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/Job"}}},{"code":"400","exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/400/content/application~1json/examples/Some or all plot_ids do not exist"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/400/content/application~1json/examples/Some or all plot_ids do not exist"]}}},{"code":"403","exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"]}}},{"code":"404","exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/404/content/application~1json/examples/Item not found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs~1job~1{job_id}/get/responses/404/content/application~1json/examples/Item not found"]}}},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/getjob"}],"panels":[]}]},"httpPath":"/jobs/job/{job_id}"},{"label":"List user's jobs","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/listuserjobs","routeSlug":"/openapi/other/listuserjobs","metadata":{"seo":{"title":"List user's jobs","description":"Returns the authenticated user's jobs with keyset pagination (newest first). Each job includes plot_ids and job_visualization_url (no embedded plot objects). The response includes a meta object with pagination info."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listUserJobs","name":"List user's jobs","isWebhook":false,"pointer":"/paths/~1jobs/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List user's jobs","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the authenticated user's jobs with keyset pagination (newest first). Each job includes plot_ids and job_visualization_url (no embedded plot objects). The response includes a meta object with pagination info."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_16","description":"Maximum number of items to return (default 100, max 1000)"},{"name":"cursor","in":"query","schemaId":"schema_12","description":"Opaque cursor for the next page"},{"name":"created_at_from","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter: inclusive lower bound for created_at (ISO-8601)"},"children":[]}]}]}]},{"name":"created_at_until","in":"query","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter: inclusive upper bound for created_at (ISO-8601)"},"children":[]}]}]}]}],"pointer":"/paths/~1jobs/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1jobs/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/jobs","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_16"},{"name":"cursor","in":"query","schemaId":"schema_12"},{"name":"created_at_from","in":"query","schemaId":"schema_12"},{"name":"created_at_until","in":"query","schemaId":"schema_12"}],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","400","403"],"pointer":"/jobs","href":"other/listuserjobs","openApiOperationId":"listUserJobs","summary":"List user's jobs"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/JobsListResponse"}},"schemaId":"components/schemas/JobsListResponse"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invalid parameters. Note: pagination errors on this endpoint return "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" as a string, e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":\"400\",\"message\":\"Cursor not found\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". An out-of-range "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is clamped to [1, 1000] rather than rejected"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1jobs/get/responses/400/content/application~1json/examples/Invalid date range"]}},"exampleIds":["paths/~1jobs/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1jobs/get/responses/400/content/application~1json/examples/Invalid date range"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A listed job references a plot the user no longer owns: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":403,\"message\":\"Unauthorized access to entity retrieved\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1jobs/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/JobsListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/JobsListResponse"}}},{"code":"400","exampleIds":["paths/~1jobs/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1jobs/get/responses/400/content/application~1json/examples/Invalid date range"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1jobs/get/responses/400/content/application~1json/examples/Cursor not found","paths/~1jobs/get/responses/400/content/application~1json/examples/Invalid date range"]}}},{"code":"403"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/listuserjobs"}],"panels":[]}]},"httpPath":"/jobs"},{"label":"Get token balance info","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/other/checktokens","routeSlug":"/openapi/other/checktokens","metadata":{"seo":{"title":"Get token balance info","description":"Retrieves the total token balance, reserved tokens, and free tokens for the user associated with the provided Bearer token."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"checkTokens","name":"Get token balance info","isWebhook":false,"pointer":"/paths/~1users~1check_tokens/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get token balance info","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieves the total token balance, reserved tokens, and free tokens for the user associated with the provided Bearer token."},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1users~1check_tokens/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/users/check_tokens","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","403","404","500"],"pointer":"/users/check_tokens","href":"other/checktokens","openApiOperationId":"checkTokens","summary":"Get token balance info"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Token balance details retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_20"}},"schemaId":"schema_20"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The token lacks the USER role: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":403,\"message\":\"HTTP 403 Forbidden\"}"},"children":[]}]}]}]},{"code":"404","description":"The authenticated principal has no user record. The body is the plain message string (template: the username is interpolated)","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21"}},"schemaId":"schema_21"},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1users~1check_tokens/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_20","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_20"}}},{"code":"403"},{"code":"404","schemaId":"schema_21","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_21"}}},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/other/checktokens"}],"panels":[]}]},"httpPath":"/users/check_tokens"},{"type":"group","label":"Capabilities","link":"/openapi/capabilities","routeSlug":"/openapi/capabilities","items":[{"label":"List available analysis capabilities","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/capabilities/listcapabilities","routeSlug":"/openapi/capabilities/listcapabilities","metadata":{"seo":{"title":"List available analysis capabilities","description":"Returns the full catalog of analysis capabilities that can be requested as checks[].type in POST /jobs/make_job. Each entry includes the machine-readable configuration schema (input_schema) accepted in checks[].config, a display label, a token cost hint, and — when the result is stored under a different key than the capability name — the result_key to read from the plot's analysis object."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listCapabilities","name":"List available analysis capabilities","isWebhook":false,"pointer":"/paths/~1v3~1discovery~1capabilities/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List available analysis capabilities","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full catalog of analysis capabilities that can be requested as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"checks[].type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"POST /jobs/make_job"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Each entry includes the machine-readable configuration schema ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"input_schema"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") accepted in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"checks[].config"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", a display label, a token cost hint, and — when the result is stored under a different key than the capability name — the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"result_key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to read from the plot's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"analysis"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to discover new analyses as they are added: the catalog is live, so integrations that read it do not need an API update when a new capability ships. The catalog at the time of writing (the response example below is abbreviated — the live endpoint returns every row of this table):"},"children":[]}]}]},{"$$mdtype":"Node","type":"table","attributes":{},"children":[{"$$mdtype":"Node","type":"thead","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]}]}]},{"$$mdtype":"Node","type":"th","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Label"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"tbody","attributes":{},"children":[{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"EUDR"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deforestation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_area"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Protected Area"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"indigenous_land"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Indigenous Land"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"visual_verification"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Visual Verification"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"land_cover"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Land Cover"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surface_temperature"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Surface Temperature"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"precipitation"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Precipitation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"water_detection"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Water Detection"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fire_damage"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fire Damage"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_risk"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deforestation Risk"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"forest_loss_by_year"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Forest Loss By Year"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"canopy_condition"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Canopy Condition"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"soil_moisture"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Soil Moisture"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"productivity_trend"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Productivity Trend"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"farm_portfolio_health"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Farm Portfolio Health"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agricultural_drought_stress"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agricultural Drought Stress"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agricultural_climate_aridity"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Agricultural Climate Aridity"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"enso_teleconnection"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"El Niño Climate Sensitivity"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"enso_seasonal_outlook"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"El Niño Seasonal Stress"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_water_history"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Observed Flooding"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_risk_5weeks"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Near-Term Flood Risk"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_risk_5years"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Long-Term Flood Risk"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_burn_history"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Wildfire Burn History"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_risk_5weeks"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Near-Term Wildfire Risk"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_risk_5years"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Long-Term Wildfire Risk"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"coastal_erosion_risk"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Coastal Exposure"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"solar_site_suitability"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Solar Site Suitability"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vineyard_site_suitability"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Vineyard Site Suitability"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data_center_site_suitability"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Data Center Site Suitability"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_inspection_priority"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Asset Inspection Priority"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"property_due_diligence"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Property Due Diligence"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_site_risk_screen"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supplier Site Risk"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tr","attributes":{},"children":[{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"compliance_verification_pack"},"children":[]}]}]},{"$$mdtype":"Node","type":"td","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compliance Verification Pack"},"children":[]}]}]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1v3~1discovery~1capabilities/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v3/discovery/capabilities","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v3/discovery/capabilities","href":"capabilities/listcapabilities","openApiOperationId":"listCapabilities","summary":"List available analysis capabilities"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"The list of available capabilities","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_22","exampleIds":["paths/~1v3~1discovery~1capabilities/get/responses/200/content/application~1json/examples/Capability catalog (abbreviated)"]}},"schemaId":"schema_22","exampleIds":["paths/~1v3~1discovery~1capabilities/get/responses/200/content/application~1json/examples/Capability catalog (abbreviated)"]},{"code":"401","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Missing or invalid bearer token. The body is the plain-text string "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"Credentials are required to access this resource."},"children":[]}]}]}]},{"code":"500","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Internal server error: "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <id>).\"}"},"children":[]}]}]}]}],"pointer":"/paths/~1v3~1discovery~1capabilities/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_22","exampleIds":["paths/~1v3~1discovery~1capabilities/get/responses/200/content/application~1json/examples/Capability catalog (abbreviated)"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_22","exampleIds":["paths/~1v3~1discovery~1capabilities/get/responses/200/content/application~1json/examples/Capability catalog (abbreviated)"]}}},{"code":"401"},{"code":"500"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/capabilities/listcapabilities"}],"panels":[]}]},"httpPath":"/v3/discovery/capabilities"}],"content":{"contentType":"group","meta":{"name":"Capabilities"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Capabilities","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v3/discovery/capabilities","summary":"List available analysis capabilities","prefix":{"name":"get","color":"get"},"badges":[],"link":"/capabilities/listcapabilities","deprecated":false}]}]}]}]}},{"type":"group","label":"Protected Areas","link":"/openapi/protected-areas","routeSlug":"/openapi/protected-areas","items":[{"label":"Check protected-areas overlap","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/protected-areas/runprotectedareasanalysis","routeSlug":"/openapi/protected-areas/runprotectedareasanalysis","metadata":{"seo":{"title":"Check protected-areas overlap","description":"Accepts a JSON object with 'plot_ids' (array of strings) and/or 'geojson' (At least one of the two fields must be provided). Returns a single GeoJSON FeatureCollection with all results."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"runProtectedAreasAnalysis","name":"Check protected-areas overlap","isWebhook":false,"pointer":"/paths/~1protected-areas~1checks/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Check protected-areas overlap","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a JSON object with 'plot_ids' (array of strings) and/or 'geojson' (At least one of the two fields must be provided). Returns a single GeoJSON FeatureCollection with all results."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" this endpoint requires the PROTECTED_AREA_USER (or ADMIN) role; standard user tokens without that role receive "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"403 {\"code\":403,\"message\":\"HTTP 403 Forbidden\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1protected-areas~1checks/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ProtectedAreasAnalysisRequest","exampleIds":["paths/~1protected-areas~1checks/post/requestBody/content/application~1json/examples/Plot IDs and GeoJSON FeatureCollection"]}},"schemaId":"components/schemas/ProtectedAreasAnalysisRequest","exampleIds":["paths/~1protected-areas~1checks/post/requestBody/content/application~1json/examples/Plot IDs and GeoJSON FeatureCollection"],"pointer":"/paths/~1protected-areas~1checks/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/protected-areas/checks","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/ProtectedAreasAnalysisRequest","exampleIds":["paths/~1protected-areas~1checks/post/requestBody/content/application~1json/examples/Plot IDs and GeoJSON FeatureCollection"]}},"responseCodes":["200","400","403","404","500","502"],"pointer":"/protected-areas/checks","href":"protected-areas/runprotectedareasanalysis","openApiOperationId":"runProtectedAreasAnalysis","summary":"Check protected-areas overlap"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"schemaId":"components/schemas/ProtectedAreasAnalysisRequest","exampleIds":["paths/~1protected-areas~1checks/post/requestBody/content/application~1json/examples/Plot IDs and GeoJSON FeatureCollection"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/ProtectedAreasAnalysisRequest","exampleIds":["paths/~1protected-areas~1checks/post/requestBody/content/application~1json/examples/Plot IDs and GeoJSON FeatureCollection"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"GeoJSON FeatureCollection with protected area analysis results","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GeoJson","exampleIds":["paths/~1protected-areas~1checks/post/responses/200/content/application~1json/examples/Protected Areas Analysis Result"]}},"schemaId":"components/schemas/GeoJson","exampleIds":["paths/~1protected-areas~1checks/post/responses/200/content/application~1json/examples/Protected Areas Analysis Result"]},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No valid plot_ids or geojson features provided"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/400/content/application~1json/examples/No valid inputs"]}},"exampleIds":["paths/~1protected-areas~1checks/post/responses/400/content/application~1json/examples/No valid inputs"]},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A supplied plot_id belongs to another user, or the token lacks the PROTECTED_AREA_USER role"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved","paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Missing role"]}},"exampleIds":["paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved","paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Missing role"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A supplied plot_id does not exist"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/404/content/application~1json/examples/PlotID not found"]}},"exampleIds":["paths/~1protected-areas~1checks/post/responses/404/content/application~1json/examples/PlotID not found"]},{"code":"500","description":"Analysis of the supplied inputs failed","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/500/content/application~1json/examples/Failed to analyze provided inputs"]}},"exampleIds":["paths/~1protected-areas~1checks/post/responses/500/content/application~1json/examples/Failed to analyze provided inputs"]},{"code":"502","description":"The upstream protected-areas analysis service failed","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/502/content/application~1json/examples/Upstream analysis failure"]}},"exampleIds":["paths/~1protected-areas~1checks/post/responses/502/content/application~1json/examples/Upstream analysis failure"]}],"pointer":"/paths/~1protected-areas~1checks/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GeoJson","exampleIds":["paths/~1protected-areas~1checks/post/responses/200/content/application~1json/examples/Protected Areas Analysis Result"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GeoJson","exampleIds":["paths/~1protected-areas~1checks/post/responses/200/content/application~1json/examples/Protected Areas Analysis Result"]}}},{"code":"400","exampleIds":["paths/~1protected-areas~1checks/post/responses/400/content/application~1json/examples/No valid inputs"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/400/content/application~1json/examples/No valid inputs"]}}},{"code":"403","exampleIds":["paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved","paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Missing role"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved","paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Missing role"]}}},{"code":"404","exampleIds":["paths/~1protected-areas~1checks/post/responses/404/content/application~1json/examples/PlotID not found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/404/content/application~1json/examples/PlotID not found"]}}},{"code":"500","exampleIds":["paths/~1protected-areas~1checks/post/responses/500/content/application~1json/examples/Failed to analyze provided inputs"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/500/content/application~1json/examples/Failed to analyze provided inputs"]}}},{"code":"502","exampleIds":["paths/~1protected-areas~1checks/post/responses/502/content/application~1json/examples/Upstream analysis failure"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1checks/post/responses/502/content/application~1json/examples/Upstream analysis failure"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/protected-areas/runprotectedareasanalysis"}],"panels":[]}]},"httpPath":"/protected-areas/checks"},{"label":"Fetch protected area details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/protected-areas/getprotectedareabyid","routeSlug":"/openapi/protected-areas/getprotectedareabyid","metadata":{"seo":{"title":"Fetch protected area details","description":"Returns a GeoJSON FeatureCollection for the protected area with the given area_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getProtectedAreaById","name":"Fetch protected area details","isWebhook":false,"pointer":"/paths/~1protected-areas~1{area_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch protected area details","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a GeoJSON FeatureCollection for the protected area with the given area_id."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"BearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"area_id","in":"path","schemaId":"schema_23","required":true}],"pointer":"/paths/~1protected-areas~1{area_id}/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_12","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization."},"children":[]}]}]}],"example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}],"pointer":"/paths/~1protected-areas~1{area_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/protected-areas/{area_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"parameters":{"path":[{"name":"area_id","in":"path","required":true,"schemaId":"schema_23"}],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","example":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature","schemaId":"schema_12"}],"cookie":[]},"security":[{"schemes":[{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key"}],"scopes":[]}],"responseCodes":["200","404"],"pointer":"/protected-areas/{area_id}","href":"protected-areas/getprotectedareabyid","openApiOperationId":"getProtectedAreaById","summary":"Fetch protected area details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"GeoJSON Feature for the protected area","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GeoJsonFeature","exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/200/content/application~1json/examples/Protected Area Feature"]}},"schemaId":"components/schemas/GeoJsonFeature","exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/200/content/application~1json/examples/Protected Area Feature"]},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Protected area not found for area_id. Template: the requested id is interpolated. Note: a non-numeric area_id fails path matching first and returns the generic "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"{\"code\":404,\"message\":\"HTTP 404 Not Found\"}"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/404/content/application~1json/examples/Protected area not found"]}},"exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/404/content/application~1json/examples/Protected area not found"]}],"pointer":"/paths/~1protected-areas~1{area_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/GeoJsonFeature","exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/200/content/application~1json/examples/Protected Area Feature"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/GeoJsonFeature","exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/200/content/application~1json/examples/Protected Area Feature"]}}},{"code":"404","exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/404/content/application~1json/examples/Protected area not found"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"exampleIds":["paths/~1protected-areas~1{area_id}/get/responses/404/content/application~1json/examples/Protected area not found"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/protected-areas/getprotectedareabyid"}],"panels":[]}]},"httpPath":"/protected-areas/{area_id}"}],"content":{"contentType":"group","meta":{"name":"Protected Areas"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Protected Areas","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/protected-areas/checks","summary":"Check protected-areas overlap","prefix":{"name":"post","color":"post"},"badges":[],"link":"/protected-areas/runprotectedareasanalysis","deprecated":false},{"title":"/protected-areas/{area_id}","summary":"Fetch protected area details","prefix":{"name":"get","color":"get"},"badges":[],"link":"/protected-areas/getprotectedareabyid","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/Analysis":{"id":"components/schemas/Analysis","kind":"json-schema","title":"Analysis","data":{"type":"object","properties":{"analysisEnd":{"type":"string","description":"End date of the analysis","example":"2024-02-29","deprecated":true},"analysis_end":{"type":"string","description":"End date of the analysis","example":"2024-02-29"},"risk_level":{"type":"string","description":"Risk level assessment","example":"Low","enum":["Low","Medium","High"]},"forest_percentage_2020":{"type":"number","description":"Forest percentage in 2020","format":"double","example":93.07},"indigenous_land":{"$ref":"#/components/schemas/IndigenousLand"},"logging_area":{"type":"number","description":"Logging area in hectares","format":"double","example":1.08},"forest_area_2020":{"type":"number","description":"Forest area in 2020 in hectares","format":"double","example":145.31},"risk_reason":{"type":"string","description":"Reason for risk assessment","example":"Low: Low deforestation detection"},"version":{"type":"string","description":"Version of the analysis","example":"2026-08-11"},"areaHa":{"type":"number","description":"Total area in hectares","format":"double","example":156.13,"deprecated":true},"area_ha":{"type":"number","description":"Total area of the plot in hectares","format":"double","example":156.13},"analyzed_area_ha":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Area actually analyzed in hectares. Can differ from area_ha when a buffer is applied or when part of the plot is masked out"},"children":[]}]}]}],"format":"double","example":156.13},"protected_areas":{"$ref":"#/components/schemas/ProtectedAreas"},"deforestation":{"$ref":"#/components/schemas/DeforestationData"},"deforestation_percentage":{"type":"number","description":"Deforestation percentage","format":"double","example":0.044},"eudr":{"$ref":"#/components/schemas/DeforestationAnalysisResult"},"deforestation_analysis":{"$ref":"#/components/schemas/DeforestationAnalysisResult"},"visual_verification":{"$ref":"#/components/schemas/VisualVerificationResult"},"land_cover":{"$ref":"#/components/schemas/GeeAnalysisResult"},"surface_temperature":{"$ref":"#/components/schemas/GeeAnalysisResult"},"precipitation":{"$ref":"#/components/schemas/GeeAnalysisResult"},"water_detection":{"$ref":"#/components/schemas/GeeAnalysisResult"},"fire_damage":{"$ref":"#/components/schemas/GeeAnalysisResult"},"protectedAreas":{"type":"array","description":"List of protected area names and their overlap areas in hectares","example":[["Área De Proteção Ambiental",0.24],["Rio Negro",156.13]],"deprecated":true,"items":{"type":"array","description":"List of protected area names and their overlap areas in hectares","deprecated":true,"items":{"type":"object","description":"List of protected area names and their overlap areas in hectares","deprecated":true}}},"indigenous_overlap":{"$ref":"#/components/schemas/IndigenousOverlap"}},"additionalProperties":{"$ref":"#/components/schemas/CapabilityResult"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Complete analysis data for a plot. Legacy top-level fields (risk_level, deforestation, forest_*, etc.) are written by the EUDR bundle for backwards compatibility; the same data is also available under the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" key. Every other analysis capability writes its result under a key matching the capability name (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"soil_moisture"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_risk_5years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"solar_site_suitability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") using the standard capability result envelope, except where a dedicated schema is documented ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"visual_verification"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_analysis"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", GEE checks). The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_area"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" check writes under "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_areas"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"indigenous_land"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" check under "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"indigenous_land"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}},"components/schemas/Coordinate":{"id":"components/schemas/Coordinate","kind":"json-schema","title":"Coordinate","data":{"type":"object","properties":{"x":{"type":"number","format":"double"},"y":{"type":"number","format":"double"},"z":{"type":"number","format":"double"},"m":{"type":"number","format":"double"},"valid":{"type":"boolean"}}}},"components/schemas/DeforestationData":{"id":"components/schemas/DeforestationData","kind":"json-schema","title":"DeforestationData","data":{"type":"object","properties":{"total_yearly":{"type":"object","additionalProperties":{"type":"number","description":"Total yearly deforestation data","format":"double"},"description":"Total yearly deforestation data, keyed by year","example":{"2023":0.107}},"total_yearly_jrc":{"type":"object","additionalProperties":{"type":"number","description":"Total yearly JRC deforestation data","format":"double"},"description":"Total yearly JRC deforestation data, keyed by year"},"total":{"type":"number","description":"Total deforestation","format":"double","example":0.069},"total_jrc":{"type":"number","description":"Total JRC deforestation","format":"double","example":0.069}},"description":"Deforestation data for a plot"}},"components/schemas/DeforestationAnalysisResult":{"id":"components/schemas/DeforestationAnalysisResult","kind":"json-schema","title":"DeforestationAnalysisResult","data":{"type":"object","properties":{"risk_level":{"type":"string","description":"Risk level assessment","example":"Low","enum":["Low","Medium","High"]},"risk_reason":{"type":"string","description":"Reason for the risk assessment","example":"Low: Low deforestation detection"},"forest_percentage_2020":{"type":"number","description":"Percentage of the plot covered in forest at the 2020 baseline","format":"double","example":78.6},"forest_area_2020":{"type":"number","description":"Forest area at the 2020 baseline, in hectares","format":"double","example":2.14},"logging_area":{"type":"number","description":"Area with logging detected, in hectares","format":"double","example":0},"deforestation_percentage":{"type":"number","description":"Percentage of the plot with detected deforestation","format":"double","example":3.93},"version":{"type":"string","description":"Version of the deforestation analysis model","example":"2026-08-11"},"area_ha":{"type":"number","description":"Total plot area in hectares","format":"double","example":2.72},"analyzed_area_ha":{"type":"number","description":"Area actually analyzed in hectares","format":"double","example":2.72},"deforestation":{"$ref":"#/components/schemas/DeforestationData"},"analysis_end":{"type":"string","description":"End date of the analysis window (the harvest date for EUDR runs)","example":"2024-08-01"}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deforestation analysis result. Written under "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when run as part of the EUDR compliance bundle (which also runs protected-area and Indigenous-land checks), and under "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_analysis"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" when the standalone "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" check is run."},"children":[]}]}]}]}},"components/schemas/VisualVerificationResult":{"id":"components/schemas/VisualVerificationResult","kind":"json-schema","title":"VisualVerificationResult","data":{"type":"object","properties":{"display":{"type":"string","description":"Full answer text produced by the vision-language model","example":"The plot is covered by mature oil palm rows with no visible signs of recent clearing or construction."},"cell":{"$ref":"#/components/schemas/ResultCell"},"tier":{"type":"string","description":"Maturity tier of the analysis","example":"provisional","enum":["validated","provisional","templated","composed"]},"value":{"type":"object","description":"The verification outcome: the model's answer and the prompt it was asked","properties":{"answer":{"type":"object","description":"The model's answer. A string for free-form prompts, or a structured object for yes/no/unclear verification prompts"},"prompt":{"type":"string","description":"The prompt that was asked","example":"Is there active construction inside the plot boundary?"}}},"metadata":{"type":"object","description":"Evidence and provenance for the answer","properties":{"prompt":{"type":"string","description":"The prompt that was asked"},"window":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The [start_date, end_date] imagery window used, ISO-8601 dates"},"children":[]}]}]}],"example":["2025-08-23","2026-08-23"],"items":{"type":"string"}},"evidence":{"type":"object","description":"Imagery evidence backing the answer","properties":{"composites":{"type":"integer","description":"Number of cloud-free composites the model reviewed"},"scenes":{"type":"integer","description":"Number of satellite scenes contributing to the composites"},"clear_obs_per_pixel":{"type":"string","description":"Range of clear (unmasked) observations per pixel","example":"4–11"},"sources":{"type":"array","description":"Imagery and data sources used","example":["Sentinel-2 RGB","Dynamic World stats"],"items":{"type":"string"}},"masking":{"type":"string","description":"Cloud/shadow masking strategy applied to the imagery"}}},"model":{"type":"string","description":"The vision-language model that produced the answer","example":"gemini-2.5-flash"}}}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Result of a "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"visual_verification"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" check: a vision-language model reviews recent satellite imagery of the plot and answers the configured prompt, with the imagery evidence documented in metadata."},"children":[]}]}]}]}},"components/schemas/ResultCell":{"id":"components/schemas/ResultCell","kind":"json-schema","title":"ResultCell","data":{"type":"object","properties":{"kind":{"type":"string","description":"The value kind of this cell","enum":["numeric","categorical","boolean","string"]},"value":{"type":"object","description":"Compact machine-readable value for the cell (number, category, boolean, or short string depending on kind)"},"display":{"type":"string","description":"Short human-readable rendering of the value, suitable for a table cell","example":"High (12.4 ha)"},"color":{"type":"string","description":"Suggested severity color for rendering the cell","enum":["red","amber","green","neutral"]}},"description":"Compact, render-ready summary of an analysis result for table display"}},"components/schemas/CapabilityResult":{"id":"components/schemas/CapabilityResult","kind":"json-schema","title":"CapabilityResult","data":{"type":"object","properties":{"value":{"type":"object","description":"Primary machine-readable value of the analysis (number, string, or object depending on the capability)","example":0.0142},"display":{"type":"string","description":"Human-readable rendering of the result","example":"1.4% of the plot deforested since the 2020-12-31 cutoff"},"units":{"type":"string","description":"Units of the primary value, when applicable","example":"fraction"},"category":{"type":"string","description":"Severity/risk category assigned by the analysis","enum":["High","Medium","Low"]},"confidence":{"type":"number","description":"Confidence in the result, between 0 and 1","format":"double","minimum":0,"maximum":1,"example":0.9},"tier":{"type":"string","description":"Maturity tier of the analysis. 'validated' analyses have vetted methodology; 'provisional' analyses are decision-support screens whose methodology is still stabilizing","enum":["validated","provisional","templated","composed"]},"cell":{"$ref":"#/components/schemas/ResultCell"},"metadata":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capability-specific detail backing the result. For example, "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_risk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reports "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cutoff_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"loss_counted_from_year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_ha"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_pct"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"plot_area_ha"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"thresholds"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" used; "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"soil_moisture"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" reports the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reference_frame"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"recent_window"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hazards"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"classification_bins"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". See each capability's documentation for its metadata fields"},"children":[]}]}]}],"example":{"analysis":"deforestation_risk","cutoff_date":"2020-12-31","loss_counted_from_year":2021,"deforestation_ha":0.18,"deforestation_pct":1.42,"plot_area_ha":12.7,"thresholds":{"high":15,"medium":10,"source":"EUDR risk model parity"}}}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Standard result envelope for analysis capabilities (crop and productivity signals, climate and hazard risk screens, site suitability screens, and other named analyses). Stored in the plot's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"analysis"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object under a key matching the capability name."},"children":[]}]}]}]}},"components/schemas/GeeAnalysisResult":{"id":"components/schemas/GeeAnalysisResult","kind":"json-schema","title":"GeeAnalysisResult","data":{"type":"object","properties":{"label_mode":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"land_cover"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only: the modal Dynamic World land-cover class over the plot and window"},"children":[]}]}]}],"example":"trees"},"lst_celsius":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surface_temperature"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only: mean land surface temperature over the plot and window, in degrees Celsius"},"children":[]}]}]}],"format":"double","example":27.4},"precipitation_total":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"precipitation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only: accumulated precipitation over the plot and window, in millimetres"},"children":[]}]}]}],"format":"double","example":412.6},"ndwi_mean":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"water_detection"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only: mean NDWI water index over the plot and window"},"children":[]}]}]}],"format":"double","example":0.12},"nbr_mean":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fire_damage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" only: mean NBR burn index over the plot and window"},"children":[]}]}]}],"format":"double","example":0.31},"summary":{"type":"object","description":"Interpretation of the metric against the capability's thresholds","properties":{"risk_level":{"type":"string","description":"Risk level derived from the metric","enum":["High","Medium","Low"]},"category":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Category label derived from the metric (used by surface_temperature)"},"children":[]}]}]}]}}}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Result of an Earth-observation measurement check ("},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"land_cover"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surface_temperature"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"precipitation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"water_detection"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fire_damage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"). Each check populates its own metric field plus an interpretation summary. These checks require "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in the check config (window of up to 730 days) and support plots up to 50,000 hectares."},"children":[]}]}]}]}},"components/schemas/CapabilityDTO":{"id":"components/schemas/CapabilityDTO","kind":"json-schema","title":"CapabilityDTO","data":{"type":"object","properties":{"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capability name. Use this value as "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"checks[].type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in POST /jobs/make_job"},"children":[]}]}]}],"example":"soil_moisture"},"label":{"type":"string","description":"Human-readable display label for the capability","example":"Soil Moisture"},"description":{"type":"string","description":"What the analysis measures and how to interpret it"},"input_schema":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JSON Schema describing the configuration object accepted in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"checks[].config"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for this capability"},"children":[]}]}]}]},"transport":{"type":"string","description":"How results are delivered. All capabilities currently complete within the job lifecycle ('sync'); 'async' is reserved for future long-running analyses","enum":["sync","async"]},"cost_hint":{"$ref":"#/components/schemas/CostHintDTO"},"result_key":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key under the plot's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"analysis"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" object where this capability's result is stored. Only present when it differs from the capability name (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_area"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" results are stored under "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_areas"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")"},"children":[]}]}]}],"example":"protected_areas"}},"description":"A single entry in the analysis capability catalog"}},"components/schemas/CostHintDTO":{"id":"components/schemas/CostHintDTO","kind":"json-schema","title":"CostHintDTO","data":{"type":"object","properties":{"rate":{"type":"number","description":"Token rate per unit","format":"double"},"unit":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Billing unit. HECTARE: rate × hectares (rounded up) per plot. PLOT: rate per plot. PER_10_PLOTS: rate per 10 plots (rounded up) per analysis. The *_MONTH and *_YEAR units additionally multiply by the length of the configured time window"},"children":[]}]}]}],"enum":["PLOT","HECTARE","PER_10_PLOTS","PLOT_MONTH","HECTARE_MONTH","PLOT_YEAR","HECTARE_YEAR"]},"notes":{"type":"string","description":"Additional pricing context, e.g. bundle discounts","nullable":true,"example":"Included at no extra cost when bundled with EUDR"}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Indicative token cost for running a capability. Use the X-Dry-Run header on POST /jobs/make_job for an exact quote on a concrete set of plots"},"children":[]}]}]}]}},"components/schemas/Job":{"id":"components/schemas/Job","kind":"json-schema","title":"Job","data":{"type":"object","properties":{"username":{"type":"string","description":"Name of the user account that created and owns the job","example":"abc_pro"},"notes":{"type":"string","description":"Additional notes related to the plot","example":"This plot requires frequent irrigation."},"job_id":{"type":"string","description":"Unique identifier for the job","example":"a31da612-fefe-4da8-800d-0e7120f5617e"},"job_name":{"type":"string","description":"Name of the job","example":"August shipment 827128"},"plot_ids":{"type":"array","description":"A list of IDs of plots to be analyzed in the job","example":["ef6f5727-307f-4e9d-abcb-74a8b6af0366","asd9632d-b589-4e05-9c8b-58fed1f9823a3"],"items":{"type":"string","description":"A list of IDs of plots to be analyzed in the job","example":"[\"ef6f5727-307f-4e9d-abcb-74a8b6af0366\",\"asd9632d-b589-4e05-9c8b-58fed1f9823a3\"]"}},"created_at":{"type":"string","description":"Timestamp of job creation","format":"date-time"},"updated_at":{"type":"string","description":"Timestamp of job update, for example when the job's analysis is complete","format":"date-time"},"additional_info":{"type":"object","description":"Analysis data for the plot, represented as key-value pairs","example":{"job_urgency":"high","reviewer":"employee A"}},"token_cost":{"type":"integer","description":"Amount of tokens the job costs based on the plots and the selected checks","format":"int32","example":8},"harvest_date":{"type":"string","deprecated":true},"status":{"type":"string","description":"Current status of the job","enum":["creating","pending","incomplete","done-with-errors","done"]},"plots":{"type":"array","description":"List of plots associated with the job","items":{"$ref":"#/components/schemas/Plot"}},"job_visualization_url":{"type":"array","description":"List of URLs for visualizations of analysis of plots associated with the job","example":["https://example.com/ef6f5727-307f-4e9d-abcb-74a8b6af0366.png","https://example.com/asd9632d-b589-4e05-9c8b-58fed1f9823a3.png"],"items":{"type":"string","description":"List of URLs for visualizations of analysis of plots associated with the job","example":"[\"https://example.com/ef6f5727-307f-4e9d-abcb-74a8b6af0366.png\",\"https://example.com/asd9632d-b589-4e05-9c8b-58fed1f9823a3.png\"]"}}},"description":"Job object with metadata and plots with analysis if analyzed"}},"components/schemas/Plot":{"id":"components/schemas/Plot","kind":"json-schema","title":"Plot","data":{"type":"object","properties":{"username":{"type":"string","description":"Username of the account that created the plot, the plot owner","example":"jdoe"},"country":{"type":"string","description":"Country where the plot is located","example":"United States"},"state":{"type":"string","description":"State or region where the plot is located","example":"California"},"notes":{"type":"string","description":"Additional notes related to the plot","example":"This plot requires frequent irrigation."},"analysis":{"$ref":"#/components/schemas/Analysis"},"plot_id":{"type":"string","description":"Unique identifier for the plot","example":"ef6f5727-377f-4e9d-abcb-74a8a6bf0366"},"plot_name":{"type":"string","description":"Name of the plot","example":"East Field"},"geojson_features":{"type":"array","items":{"$ref":"#/components/schemas/GeoJsonFeature"}},"harvest_dates":{"type":"array","items":{"type":"string","description":"List of Harvest dates of the plot","format":"date","example":"2024-11-01"}},"commodity":{"type":"string","description":"Type of commodity planted in the plot to do analysis on","example":"cocoa","enum":["wood","soy","cocoa","coffee","palm_oil","beef","rubber"]},"lat":{"type":"string","description":"Latitude of the plot's center","example":"34.052235"},"lon":{"type":"string","description":"Longitude of the plot's center","example":"-118.243683"},"area_ha":{"type":"number","description":"Area of the plot in hectares","format":"double","example":12.5},"tokens_cost":{"type":"integer","description":"Cost of the analyzing the plot in tokens","format":"int32","example":150},"created_at":{"type":"string","description":"Timestamp of plot creation","format":"date-time"},"updated_at":{"type":"string","description":"Timestamp of the last plot update","format":"date-time"},"analysis_image":{"type":"string","description":"URL for the visualization of the analysis of the plot","example":"https://example.com/images/plot-analysis.jpg"},"additional_info":{"type":"object","description":"Additional information about the plot as key-value pairs","example":{"soil_quality":"high","access":"restricted"}}},"description":"Plot object with metadata and analysis if a job ran analysis on it"}},"components/schemas/Point":{"id":"components/schemas/Point","kind":"json-schema","title":"Point","data":{"required":["coordinates"],"type":"object","properties":{"type":{"type":"string"},"coordinates":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array of 2 coordinates [longitude, latitude]"},"children":[]}]}]}],"example":[20.01750003723791,-0.03010959663886581],"items":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array of 2 coordinates [longitude, latitude]"},"children":[]}]}]}],"format":"double"}}}}},"components/schemas/Polygon":{"id":"components/schemas/Polygon","kind":"json-schema","title":"Polygon","data":{"required":["coordinates"],"type":"object","properties":{"type":{"type":"string"},"coordinates":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array of [longitude, latitude] pairs. For polygons, the first and last coordinates should be the same to close the shape"},"children":[]}]}]}],"example":[[[20.01750003723791,-0.03010959663886581],[20.01857837976968,-0.029779656058593673],[20.01958831997618,-0.031143678695514154],[20.018349030798674,-0.03160640023472183],[20.017491989905864,-0.03011764397074046]]],"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array of [longitude, latitude] pairs. For polygons, the first and last coordinates should be the same to close the shape"},"children":[]}]}]}],"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array of [longitude, latitude] pairs. For polygons, the first and last coordinates should be the same to close the shape"},"children":[]}]}]}],"items":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array of [longitude, latitude] pairs. For polygons, the first and last coordinates should be the same to close the shape"},"children":[]}]}]}],"format":"double"}}}}}}},"components/schemas/GeoJsonFeature":{"id":"components/schemas/GeoJsonFeature","kind":"json-schema","title":"GeoJsonFeature","data":{"required":["geometry","type"],"type":"object","properties":{"geometry":{"$ref":"#/components/schemas/Geometry"},"properties":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additional properties for the feature as key-value pairs. Optional properties include "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"point_ha"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (float < 4.0)"},"children":[]}]}]}],"example":{"point_ha":3.5}},"type":{"type":"string","description":"Type of the GeoJSON feature","example":"Feature"}},"description":"Represents a GeoJSON feature with geometry and properties"}},"components/schemas/Geometry":{"id":"components/schemas/Geometry","kind":"json-schema","title":"Geometry","data":{"description":"Geometry object defining the spatial aspect of the feature. Supports Point, Polygon, or MultiPolygon GeoJSON geometries","oneOf":[{"$ref":"#/components/schemas/Point"},{"$ref":"#/components/schemas/Polygon"},{"$ref":"#/components/schemas/MultiPolygon"}]}},"components/schemas/MultiPolygon":{"id":"components/schemas/MultiPolygon","kind":"json-schema","title":"MultiPolygon","data":{"required":["coordinates"],"type":"object","properties":{"type":{"type":"string","example":"MultiPolygon"},"coordinates":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An array of Polygon coordinate arrays. Each polygon is an array of linear rings, and each ring is an array of [longitude, latitude] pairs whose first and last coordinates are the same to close the shape"},"children":[]}]}]}],"example":[[[[20.01750003723791,-0.03010959663886581],[20.01857837976968,-0.029779656058593673],[20.01958831997618,-0.031143678695514154],[20.01750003723791,-0.03010959663886581]]]],"items":{"type":"array","description":"A single polygon's coordinate array (an array of linear rings)","items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A linear ring: an array of [longitude, latitude] pairs"},"children":[]}]}]}],"items":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A [longitude, latitude] pair"},"children":[]}]}]}],"items":{"type":"number","format":"double"}}}}}}}},"components/schemas/IndigenousLand":{"id":"components/schemas/IndigenousLand","kind":"json-schema","title":"IndigenousLand","data":{"type":"object","properties":{"indigenous_land_overlap_summary":{"$ref":"#/components/schemas/IndigenousLandOverlapSummary"},"indigenous_land_details":{"type":"array","description":"Detailed information about each overlapping indigenous land","items":{"$ref":"#/components/schemas/IndigenousLandDetail"}},"sources":{"type":"array","description":"Sources of indigenous land data","items":{"$ref":"#/components/schemas/IndigenousLandSource"}}},"description":"Analysis of indigenous lands overlapping with a plot"}},"components/schemas/IndigenousLandDetail":{"id":"components/schemas/IndigenousLandDetail","kind":"json-schema","title":"IndigenousLandDetail","data":{"required":["id"],"type":"object","properties":{"id":{"type":"string","description":"Unique identifier of the indigenous land","example":"IL-202"},"name":{"type":"string","description":"Name of the indigenous land","example":"Yanomami Territory"},"government_acknowledged":{"type":"boolean","description":"Acknowledgment of government","example":true},"overlap_area_ha":{"minimum":0,"type":"number","description":"Overlap area in hectares","format":"double","example":3.1},"land_status":{"type":"string","description":"Status of the land, e.g. 'Community'","example":"Community"}},"description":"Detailed information about an overlapping indigenous land area"}},"components/schemas/IndigenousLandOverlapSummary":{"id":"components/schemas/IndigenousLandOverlapSummary","kind":"json-schema","title":"IndigenousLandOverlapSummary","data":{"required":["indigenous_land_overlap"],"type":"object","properties":{"indigenous_land_overlap":{"type":"boolean","description":"Indicates if the plot overlaps with any indigenous land"},"total_overlap_percentage":{"maximum":100,"minimum":0,"type":"number","description":"Percentage of plot area that overlaps with indigenous land","format":"double","example":25.3},"total_overlap_area_ha":{"type":"number","description":"Plot area (in hectares) that overlaps with indigenous land","format":"double","example":155.3}},"description":"Summary of indigenous land overlap with plot"}},"components/schemas/IndigenousLandSource":{"id":"components/schemas/IndigenousLandSource","kind":"json-schema","title":"IndigenousLandSource","data":{"required":["source_name"],"type":"object","properties":{"source_name":{"type":"string","description":"Name of the data source","example":"CNUC"},"data_version":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string","description":"Version or date of the data","example":"2024-11-20"}},"description":"Source of indigenous people data"}},"components/schemas/IndigenousOverlap":{"id":"components/schemas/IndigenousOverlap","kind":"json-schema","title":"IndigenousOverlap","data":{"type":"object","properties":{"total_overlap_area":{"type":"number","description":"Total area of overlap with indigenous territories in hectares","format":"double","example":150.5},"overlapping_territories":{"type":"array","description":"List of overlapping indigenous territories","items":{"type":"object","description":"List of overlapping indigenous territories"}},"overlap_percentage":{"maximum":100,"minimum":0,"type":"number","description":"Percentage of overlap with indigenous territories","format":"double","example":25.5}},"description":"Indigenous territories overlap analysis","deprecated":true}},"components/schemas/ProtectedAreaDetail":{"id":"components/schemas/ProtectedAreaDetail","kind":"json-schema","title":"ProtectedAreaDetail","data":{"required":["area_id"],"type":"object","properties":{"area_id":{"type":"string","description":"Unique identifier of the protected area","example":"37514"},"area_name":{"type":"string","description":"Name of the protected area","example":"Cordillera Beata"},"local_name":{"type":"string","description":"Local name of the protected area","example":"Cordillera Beata"},"source_name":{"type":"string","description":"Source/authority providing the protected area data","example":"Parques Nacionales Naturales de Colombia"},"iucn_category":{"type":"string","description":"IUCN protected area category","example":"V","enum":["Ia","Ib","II","III","IV","V","VI"]},"overlap_area_ha":{"minimum":0,"type":"number","description":"Area of overlap in hectares","format":"double","example":2208.6384},"extractive_activity_legality":{"type":"string","description":"Legality status of extractive activities within the protected area","example":"limited"},"extractive_activity_conditions":{"type":"string","description":"Conditions or notes describing what extractive activities are permitted","example":"Activities permitted: Research, education, and eco-tourism."},"regulation_names":{"type":"array","description":"Names/titles of applicable regulations","items":{"type":"string"},"example":["DECRETO 622 DE MARZO 16 DE 1977","LEY 99 DE 1993"]},"regulation_urls":{"type":"array","description":"URLs linking to applicable regulations","items":{"type":"string","format":"uri"},"example":["https://old.parquesnacionales.gov.co/portal/wp-content/uploads/2018/07/Decreto_622_de_1977.pdf","https://www.minambiente.gov.co/wp-content/uploads/2021/08/ley-99-1993.pdf","https://www.funcionpublica.gov.co/eva/gestornormativo/norma.php"]},"type":{"type":"string","description":"Type/classification of the protected area","example":"Reserva Natural"}},"description":"Detailed information about an overlapping protected area"}},"components/schemas/ProtectedAreaOverlapSummary":{"id":"components/schemas/ProtectedAreaOverlapSummary","kind":"json-schema","title":"ProtectedAreaOverlapSummary","data":{"required":["protected_area_overlap"],"type":"object","properties":{"protected_area_overlap":{"type":"boolean","description":"Indicates if the plot overlaps with any protected area"},"total_overlap_percentage":{"maximum":100,"minimum":0,"type":"number","description":"Percentage of plot area that overlaps with protected areas","format":"double","example":25.3},"total_overlap_area_ha":{"type":"number","description":"Plot area (in hectares) that overlaps with protected areas","format":"double","example":155.3},"most_restrictive_extractive_activity_legality":{"type":"string","description":"Legality status of the most restrictive extractive activities of all the extractive activities returned with the protected areas","example":"prohibited"}},"description":"Summary of protected area overlap with plot"}},"components/schemas/ProtectedAreaSource":{"id":"components/schemas/ProtectedAreaSource","kind":"json-schema","title":"ProtectedAreaSource","data":{"required":["source_name"],"type":"object","properties":{"source_name":{"type":"string","description":"Name of the data source","example":"CNUC"},"data_version":{"pattern":"^\\d{4}-\\d{2}-\\d{2}$","type":"string","description":"Version or date of the data","example":"2024-11-20"}},"description":"Source of protected area data"}},"components/schemas/ProtectedAreas":{"id":"components/schemas/ProtectedAreas","kind":"json-schema","title":"ProtectedAreas","data":{"type":"object","properties":{"protected_area_overlap_summary":{"$ref":"#/components/schemas/ProtectedAreaOverlapSummary"},"protected_area_details":{"type":"array","description":"Detailed information about each overlapping protected area","items":{"$ref":"#/components/schemas/ProtectedAreaDetail"}},"sources":{"type":"array","description":"Sources of protected area data","items":{"$ref":"#/components/schemas/ProtectedAreaSource"}}},"description":"Analysis of protected areas overlapping with a plot"}},"components/schemas/JobCheckConfig":{"id":"components/schemas/JobCheckConfig","kind":"json-schema","title":"JobCheckConfig","data":{"type":"object","properties":{"type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The analysis capability to run. Any name from "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /v3/discovery/capabilities"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is accepted; the values below are the catalog at the time of writing."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compliance and land status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (deforestation + protected areas + Indigenous land bundle; requires "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"commodity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"harvest_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" on the plot or in config), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (standalone deforestation analysis), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"protected_area"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"indigenous_land"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_risk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (fast Hansen-based deforestation screen), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"forest_loss_by_year"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (per-year forest-loss breakdown, EUDR-aligned), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"compliance_verification_pack"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"property_due_diligence"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"supplier_site_risk_screen"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Crop and productivity"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"canopy_condition"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"soil_moisture"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"productivity_trend"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"farm_portfolio_health"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Climate and hazard risk"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agricultural_drought_stress"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"agricultural_climate_aridity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"enso_teleconnection"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"enso_seasonal_outlook"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_water_history"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_risk_5weeks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"flood_risk_5years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_burn_history"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_risk_5weeks"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"wildfire_risk_5years"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"coastal_erosion_risk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Earth-observation measurements"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (require "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in config): "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"land_cover"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surface_temperature"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"precipitation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"water_detection"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fire_damage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Site suitability and verification"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"solar_site_suitability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"vineyard_site_suitability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"data_center_site_suitability"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"asset_inspection_priority"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"visual_verification"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (requires "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prompt"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in config)."},"children":[]}]}]}],"example":"eudr","enum":["eudr","deforestation","protected_area","indigenous_land","visual_verification","land_cover","surface_temperature","precipitation","water_detection","fire_damage","deforestation_risk","forest_loss_by_year","canopy_condition","soil_moisture","productivity_trend","farm_portfolio_health","agricultural_drought_stress","agricultural_climate_aridity","enso_teleconnection","enso_seasonal_outlook","flood_water_history","flood_risk_5weeks","flood_risk_5years","wildfire_burn_history","wildfire_risk_5weeks","wildfire_risk_5years","coastal_erosion_risk","solar_site_suitability","vineyard_site_suitability","data_center_site_suitability","asset_inspection_priority","property_due_diligence","supplier_site_risk_screen","compliance_verification_pack"]},"config":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check-level configuration applied to all plots in the job. The accepted fields per capability are described by the capability's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"input_schema"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" in "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"GET /v3/discovery/capabilities"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Common cases:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"eudr"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"harvest_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (yyyy-MM-dd) and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"commodity"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":". Only needed when missing from plot registration; values here override the plot's values."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"time_range"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (e.g. \"2020-01-01/2024-12-31\")."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"visual_verification"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prompt"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (the question to answer about the plot), optional "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for the imagery window (defaults to the trailing 12 months; window must span at least 3 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"land_cover"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"surface_temperature"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"precipitation"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"water_detection"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" / "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fire_damage"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": required "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"end_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (window up to 730 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Other capabilities: see the capability's "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"input_schema"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"; most run with an empty config using sensible defaults (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"deforestation_risk"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" defaults "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cutoff_date"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to 2020-12-31)."},"children":[]}]}]}]}],"example":{"harvest_date":"2024-11-01","commodity":"cocoa"}},"per_plot":{"type":"object","additionalProperties":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-plot overrides keyed by plot_id. Values override entries from 'config' for that specific plot."},"children":[]}]}]}],"example":{"harvest_date":"2024-12-01"}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Per-plot overrides keyed by plot_id. Values override entries from 'config' for that specific plot."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Global 'config' applies to all plots unless a plot has an entry here, in which case the per_plot entry takes precedence."},"children":[]}]}]}],"example":{"ef6f5727-377f-4e9d-abcb-74a8a6bf0366":{"harvest_date":"2024-12-01"}}},"buffer_km":{"type":"number","description":"Optional buffer, in kilometres, applied around each plot's geometry before analysis. Useful for context-sensitive analyses (e.g. hazard screens that consider the surrounding area). A buffer increases the billed area for per-hectare priced checks","format":"double","default":0},"generate_imagery":{"type":"boolean","description":"Whether to generate the visual artifact (analysis image) for this check where the capability supports it. Disable to speed up large batch runs when only the numeric results are needed","default":true}},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single check definition inside a job. Select the analysis with 'type' and configure it with 'config' and optional 'per_plot' overrides."},"children":[]}]}]}],"example":{"type":"eudr","config":{"harvest_date":"2024-11-01","commodity":"cocoa"},"per_plot":{"ef6f...0366":{"harvest_date":"2024-12-01"}}}}},"components/schemas/JobInput":{"id":"components/schemas/JobInput","kind":"json-schema","title":"JobInput","data":{"required":["plot_ids"],"type":"object","properties":{"job_name":{"type":"string","description":"Name of the job","example":"Planting season analysis for Q1"},"plot_ids":{"type":"array","description":"List of plot IDs that belong to the user to be analyzed in the job. Up to 10,000 plots per job; each plot ID can appear only once per job","example":["ef6f5727-307f-4e9d-abcb-74a8b6af0366","asd9632d-b589-4e05-9c8b-58fed1f9823a3"],"items":{"type":"string","description":"List of plot IDs that belong to the user to be analyzed in the job","example":"[\"ef6f5727-307f-4e9d-abcb-74a8b6af0366\",\"asd9632d-b589-4e05-9c8b-58fed1f9823a3\"]"}},"notes":{"type":"string","description":"Additional notes about the job","example":"Analysis for initial planting"},"additional_info":{"type":"object","description":"Additional information about the job as key-value pairs, where keys and values are both strings","example":{"soilQuality":"High","irrigationType":"Drip"}},"checks":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional list of check definitions to run for this job. If omitted or empty, a single 'eudr' check is run by default. Each check names an analysis capability from GET /v3/discovery/capabilities and can carry its own configuration. Multiple checks can be combined in one job; each check produces its own analysis run per plot. Duplicate entries with the same type are collapsed — the first occurrence wins and the job is priced once per distinct check."},"children":[]}]}]}],"example":[{"type":"eudr","config":{"harvest_date":"2024-11-01","commodity":"cocoa"},"per_plot":{"ef6f...0366":{"harvest_date":"2024-12-01"}}},{"type":"soil_moisture"},{"type":"visual_verification","config":{"prompt":"Is there active construction inside the plot boundary?"}}],"items":{"$ref":"#/components/schemas/JobCheckConfig"}}},"description":"Input data required to create a new job"}},"components/schemas/AuthToken":{"id":"components/schemas/AuthToken","kind":"json-schema","title":"AuthToken","data":{"type":"object","properties":{"token":{"type":"string","description":"JSON Web Token (JWT)","example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature"}}}},"components/schemas/PlotAnalysisRunDTO":{"id":"components/schemas/PlotAnalysisRunDTO","kind":"json-schema","title":"PlotAnalysisRunDTO","data":{"type":"object","properties":{"run_id":{"type":"string","description":"Unique identifier of this analysis run"},"job_id":{"type":"string","description":"The job this run belongs to"},"plot_id":{"type":"string","description":"The plot this run analyzed"},"check_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The analysis capability that was run, e.g. 'eudr', 'protected_area', 'soil_moisture', 'visual_verification'"},"children":[]}]}]}],"example":"eudr"},"effective_config":{"type":"object","additionalProperties":{"type":"object"},"description":"The exact configuration used for this run, after merging plot metadata, job-level config, and per-plot overrides","example":{"harvest_date":"2024-11-01","commodity":"cocoa"}},"status":{"type":"string","description":"Current status of this analysis run"},"error":{"type":"string","description":"Error message when the run failed"},"analysis_image":{"type":"string","description":"URL of the generated visualization artifact, when the capability produces one"},"tokens_cost":{"type":"integer","description":"Tokens consumed by this run","format":"int32"},"created_at":{"type":"string","description":"Timestamp when the run was created"},"updated_at":{"type":"string","description":"Timestamp when the run was last updated"},"analysis":{"$ref":"#/components/schemas/Analysis"}},"description":"A single analysis execution for one plot and one check type, capturing the exact configuration, status, cost, and output of that execution"}},"components/schemas/GeoJson":{"id":"components/schemas/GeoJson","kind":"json-schema","title":"GeoJson","data":{"required":["features","type"],"type":"object","properties":{"type":{"type":"string"},"features":{"type":"array","description":"A list of GeoJson Features that this FeatureCollection is made of","items":{"$ref":"#/components/schemas/GeoJsonFeature"}}},"description":"GeoJSON representation of the plot's geographical data","example":{"type":"FeatureCollection","features":[{"type":"Feature","geometry":{"type":"Polygon","coordinates":[[[20.01750003723791,-0.03010959663886581],[20.01857837976968,-0.029779656058593673],[20.01958831997618,-0.031143678695514154],[20.018349030798674,-0.03160640023472183],[20.017491989905864,-0.03011764397074046]]]}}]}}},"components/schemas/ProtectedAreasAnalysisRequest":{"id":"components/schemas/ProtectedAreasAnalysisRequest","kind":"json-schema","title":"ProtectedAreasAnalysisRequest","data":{"type":"object","properties":{"plot_ids":{"type":"array","items":{"type":"string"}},"geojson":{"$ref":"#/components/schemas/GeoJson"}}}},"components/schemas/BatchPlotResponse":{"id":"components/schemas/BatchPlotResponse","kind":"json-schema","title":"BatchPlotResponse","data":{"type":"object","properties":{"plots":{"type":"array","description":"Collection of plots created from the submitted FeatureCollection","items":{"$ref":"#/components/schemas/Plot"}}},"description":"Response payload returned when a GeoJSON FeatureCollection creates multiple plots"}},"components/schemas/PlotInput":{"id":"components/schemas/PlotInput","kind":"json-schema","title":"PlotInput","data":{"required":["geojson"],"type":"object","properties":{"geojson":{"$ref":"#/components/schemas/GeoJson"},"harvest_date":{"type":"string","description":"The harvest date of the plot and the end date of analysis, in the format yyyy-MM-dd; if not provided here, it must be specified when executing the job","format":"date","example":"2023-11-01"},"commodity":{"type":"string","description":"The commodity type planted in the plot for analysis; if not provided here, it must be specified when executing the job","example":"wood","enum":["wood","soy","cocoa","coffee","palm_oil","beef","rubber"]},"plot_name":{"type":"string","description":"Name assigned to the plot","example":"My sustainable plot"},"notes":{"type":"string","description":"Additional notes related to the plot","example":"GeoJSON needs to be revised"},"additional_info":{"type":"object","description":"Additional information as key-value pairs","example":{"previous_risk_assessment":"high","urgency":"low"}}},"description":"Input model for creating one or more plots. The geojson accepts Point, Polygon, or MultiPolygon geometries; when the FeatureCollection contains more than one Feature, one plot is created per Feature (up to 20), all sharing the metadata provided here"}},"components/schemas/JobsListResponse":{"id":"components/schemas/JobsListResponse","kind":"json-schema","title":"JobsListResponse","data":{"type":"object","properties":{"jobs":{"type":"array","description":"List of jobs","example":[{"job_id":"a31da612-fefe-4da8-800d-0e7120f5617e","job_name":"August shipment 827128","plot_ids":["ef6f5727-307f-4e9d-abcb-74a8b6af0366","asd9632d-b589-4e05-9c8b-58fed1f9823a3"],"username":"abc_pro","created_at":"2024-09-04T18:18:01","updated_at":"2024-09-04T18:18:03","notes":"Initial batch run","additional_info":{"job_urgency":"high","reviewer":"employee A"},"token_cost":8,"status":"pending","job_visualization_url":["https://jobviz.s3.eu-central-1.amazonaws.com/path/to/plot1.png","https://jobviz.s3.eu-central-1.amazonaws.com/path/to/plot2.png"]}],"items":{"$ref":"#/components/schemas/Job"}},"meta":{"type":"object","additionalProperties":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination metadata containing has_more, next_cursor, limit, and count"},"children":[]}]}]}]},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination metadata containing has_more, next_cursor, limit, and count"},"children":[]}]}]}],"example":{"next_cursor":"eyJsZWsiOiJZM0psWVhSbFpFRjBIbE02TWpBeU5TMHdOeTB6TVZReE56b3lNem8xTVI5d2JHOTBTV1FlVXpwak9EWTVaRFJsWlMwM09EZ3lMVFJoTjJFdFlqSmhaQzB4TWpkak1XRXlNemM0TjJNZmRYTmxjbTVoYldVZVV6cHZjR1Z1WVhSc1lYTmZiV0ZwYmciLCJ1Ijoib3BlbmF0bGFzX21haW4iLCJ2IjoxLCJleHAiOjE3NTYzMDc3OTY1MDgsImlhdCI6MTc1NjMwNTk5NjUwOH0.J1gFjyqEdHEmSYgaUVLH-YYePiBxNTc82LOXTowRjbA","limit":100,"count":100,"has_more":true}}},"description":"Response envelope for listing jobs including pagination metadata"}},"components/schemas/PlotsListResponse":{"id":"components/schemas/PlotsListResponse","kind":"json-schema","title":"PlotsListResponse","data":{"type":"object","properties":{"plots":{"type":"array","description":"List of plots","items":{"$ref":"#/components/schemas/Plot"}},"meta":{"type":"object","additionalProperties":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination metadata containing has_more, next_cursor, limit, and count"},"children":[]}]}]}]},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination metadata containing has_more, next_cursor, limit, and count"},"children":[]}]}]}],"example":{"next_cursor":"eyJsZWsiOiJZM0psWVhSbFpFRjBIbE02TWpBeU5TMHdOeTB6TVZReE56b3lNem8xTVI5d2JHOTBTV1FlVXpwak9EWTVaRFJsWlMwM09EZ3lMVFJoTjJFdFlqSmhaQzB4TWpkak1XRXlNemM0TjJNZmRYTmxjbTVoYldVZVV6cHZjR1Z1WVhSc1lYTmZiV0ZwYmciLCJ1Ijoib3BlbmF0bGFzX21haW4iLCJ2IjoxLCJleHAiOjE3NTYzMDc3OTY1MDgsImlhdCI6MTc1NjMwNTk5NjUwOH0.J1gFjyqEdHEmSYgaUVLH-YYePiBxNTc82LOXTowRjbA","limit":100,"count":100,"has_more":true}}},"description":"Response envelope for listing plots including pagination metadata"}},"schema_12":{"kind":"json-schema","data":{"type":"string"},"id":"schema_12"},"schema_13":{"kind":"json-schema","data":{"type":"string","example":"Invalid credentials"},"id":"schema_13"},"schema_14":{"kind":"json-schema","data":{"type":"string","example":"Failed to issue token"},"id":"schema_14"},"schema_15":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/Plot"},{"$ref":"#/components/schemas/BatchPlotResponse"}]},"id":"schema_15"},"schema_16":{"kind":"json-schema","data":{"type":"integer","format":"int32","default":100},"id":"schema_16"},"schema_17":{"kind":"json-schema","data":{"type":"boolean","default":false},"id":"schema_17"},"schema_18":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/PlotAnalysisRunDTO"}},"id":"schema_18"},"schema_19":{"kind":"json-schema","data":{"type":"boolean"},"id":"schema_19"},"schema_20":{"kind":"json-schema","data":{"type":"string","example":{"token_balance":100,"reserved_tokens":22,"free_tokens":78}},"id":"schema_20"},"schema_21":{"kind":"json-schema","data":{"type":"string","example":"User not found for username: some_user"},"id":"schema_21"},"schema_22":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/CapabilityDTO"}},"id":"schema_22"},"schema_23":{"kind":"json-schema","data":{"type":"integer","format":"int32"},"id":"schema_23"}},"exampleStore":{"paths/~1login/post/responses/400/content/application~1json/examples/Missing Authorization header":{"value":"Missing Authorization header","key":"Missing Authorization header","summary":"Missing Authorization header","id":"paths/~1login/post/responses/400/content/application~1json/examples/Missing Authorization header"},"paths/~1login/post/responses/400/content/application~1json/examples/Invalid Authorization header format":{"value":"Invalid Authorization header format","key":"Invalid Authorization header format","summary":"Invalid Authorization header format","id":"paths/~1login/post/responses/400/content/application~1json/examples/Invalid Authorization header format"},"paths/~1login/post/responses/400/content/application~1json/examples/Invalid credentials format":{"value":"Invalid credentials format","key":"Invalid credentials format","summary":"Invalid credentials format","id":"paths/~1login/post/responses/400/content/application~1json/examples/Invalid credentials format"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must be provided.":{"value":{"code":400,"message":"GeoJson FeatureCollection must be provided."},"key":"GeoJson FeatureCollection must be provided.","summary":"GeoJson FeatureCollection must be provided.","description":"The request body has no geojson FeatureCollection","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must be provided."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain at least one Feature.":{"value":{"code":400,"message":"GeoJson FeatureCollection must contain at least one Feature."},"key":"GeoJson FeatureCollection must contain at least one Feature.","summary":"GeoJson FeatureCollection must contain at least one Feature.","description":"Provide at least one Feature in the FeatureCollection payload","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain at least one Feature."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not exceed 20 Features.":{"value":{"code":400,"message":"GeoJson FeatureCollection must not exceed 20 Features."},"key":"GeoJson FeatureCollection must not exceed 20 Features.","summary":"GeoJson FeatureCollection must not exceed 20 Features.","description":"The FeatureCollection contains more Features than the supported limit of 20","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not exceed 20 Features."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain exactly one Feature.":{"value":{"code":400,"message":"GeoJson FeatureCollection must contain exactly one Feature."},"key":"GeoJson FeatureCollection must contain exactly one Feature.","summary":"GeoJson FeatureCollection must contain exactly one Feature.","description":"Returned by the single-plot creation path when the FeatureCollection unexpectedly carries multiple Features","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must contain exactly one Feature."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not contain null Features.":{"value":{"code":400,"message":"GeoJson FeatureCollection must not contain null Features."},"key":"GeoJson FeatureCollection must not contain null Features.","summary":"GeoJson FeatureCollection must not contain null Features.","description":"A Feature entry in the FeatureCollection is null","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson FeatureCollection must not contain null Features."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Feature at index N has a null or missing geometry.":{"value":{"code":400,"message":"Feature at index 2 has a null or missing geometry."},"key":"Feature at index N has a null or missing geometry.","summary":"Feature at index N has a null or missing geometry.","description":"Template: N is the zero-based index of the offending Feature","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Feature at index N has a null or missing geometry."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson Feature must have a supported geometry type.":{"value":{"code":400,"message":"Plot registration failed: The 'type' field in 'geometry' in the 'geoJson' Feature must be either 'Point', 'Polygon', or 'MultiPolygon'."},"key":"GeoJson Feature must have a supported geometry type.","summary":"GeoJson Feature must have a supported geometry type.","description":"The 'type' field in 'geometry' must be 'Point', 'Polygon', or 'MultiPolygon'","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/GeoJson Feature must have a supported geometry type."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/The plot's coordinates are not on land or could not be geocoded":{"value":{"code":400,"message":"The plot's coordinates are not on land or could not be geocoded"},"key":"The plot's coordinates are not on land or could not be geocoded","summary":"The plot's coordinates are not on land or could not be geocoded","description":"The plot is not fully on land (e.g. part covers ocean) or reverse geocoding failed","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/The plot's coordinates are not on land or could not be geocoded"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Polygon size exceeds the maximum limit of 10,000 hectares.":{"value":{"code":400,"message":"Polygon size exceeds the maximum limit of 10,000 hectares."},"key":"Polygon size exceeds the maximum limit of 10,000 hectares.","summary":"Polygon size exceeds the maximum limit of 10,000 hectares.","description":"The plot's area is larger than the 10,000-hectare maximum. For multi-Feature requests every Feature is validated before any plot is created","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Polygon size exceeds the maximum limit of 10,000 hectares."},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Harvest date must be between 2020-12-31 and today":{"value":{"code":400,"message":"Harvest date must be between 2020-12-31 and today"},"key":"Harvest date must be between 2020-12-31 and today","summary":"Harvest date must be between 2020-12-31 and today","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Harvest date must be between 2020-12-31 and today"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid point_ha value":{"value":{"code":400,"message":"The 'point_ha' value must be a float less than 4 hectares. To use a default area, remove `point_ha` from the `properties` field."},"key":"Invalid point_ha value","summary":"Invalid point_ha value","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid point_ha value"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry must contain coordinates":{"value":{"code":400,"message":"Geometry must contain coordinates"},"key":"Geometry must contain coordinates","summary":"Geometry must contain coordinates","description":"The geometry object has no coordinates array","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry must contain coordinates"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid geometry":{"value":{"code":400,"message":"Invalid geometry: Contains self-intersections, invalid polygon (3 nodes or non closing polygon) or invalid point ordering"},"key":"Invalid geometry","summary":"Invalid geometry","description":"The geometry is self-intersecting, has fewer than the required nodes, is not closed, or has invalid point ordering","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid geometry"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry is too elongated":{"value":{"code":400,"message":"Geometry is too elongated. Compactness ratio: 0.00"},"key":"Geometry is too elongated","summary":"Geometry is too elongated","description":"Template: the compactness ratio is interpolated with two decimals. Excessively elongated shapes usually indicate coordinate input mistakes","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry is too elongated"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry area is too small":{"value":{"code":400,"message":"Geometry area is too small. Your geometry is approximately 0.0000 ha (0.50 m²). Minimum allowed is ~0.001 ha (~10 m²)"},"key":"Geometry area is too small","summary":"Geometry area is too small","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry area is too small"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry coordinates are outside valid range":{"value":{"code":400,"message":"Geometry coordinates are outside valid range"},"key":"Geometry coordinates are outside valid range","summary":"Geometry coordinates are outside valid range","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Geometry coordinates are outside valid range"},"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid Polygon in GeoJSON: the ring is not closed":{"value":{"code":400,"message":"Invalid Polygon in GeoJSON: the ring is not closed. The first and last coordinate in a LinearRing must be identical."},"key":"Invalid Polygon in GeoJSON: the ring is not closed","summary":"Invalid Polygon in GeoJSON: the ring is not closed","description":"Raised while parsing the request body when a Polygon ring's first and last coordinates differ","id":"paths/~1plots~1make_plot/post/responses/400/content/application~1json/examples/Invalid Polygon in GeoJSON: the ring is not closed"},"paths/~1plots~1plot~1{plot_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved":{"value":{"code":403,"message":"Unauthorized access to entity retrieved"},"key":"Unauthorized access to entity retrieved","summary":"Unauthorized access to entity retrieved","description":"Forbidden: The user retrieving the plot does not have permission to access it","id":"paths/~1plots~1plot~1{plot_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"},"paths/~1plots~1plot~1{plot_id}/get/responses/404/content/application~1json/examples/PlotID not found":{"value":{"code":404,"message":"PlotID not found"},"key":"PlotID not found","summary":"PlotID not found","description":"PlotID requested does not exist","id":"paths/~1plots~1plot~1{plot_id}/get/responses/404/content/application~1json/examples/PlotID not found"},"paths/~1plots/get/responses/400/content/application~1json/examples/Cursor not found":{"value":{"code":"400","message":"Cursor not found"},"key":"Cursor not found","summary":"Cursor not found","description":"The cursor is invalid, expired, tampered with, or belongs to a different user","id":"paths/~1plots/get/responses/400/content/application~1json/examples/Cursor not found"},"paths/~1plots/get/responses/400/content/application~1json/examples/Invalid date range":{"value":{"code":"400","message":"created_at_until must be greater than or equal to created_at_from"},"key":"Invalid date range","summary":"Invalid date range","id":"paths/~1plots/get/responses/400/content/application~1json/examples/Invalid date range"},"paths/~1analysis-runs/get/responses/400/content/application~1json/examples/Missing plot_id":{"value":{"error":"plot_id is required"},"key":"Missing plot_id","summary":"Missing plot_id","id":"paths/~1analysis-runs/get/responses/400/content/application~1json/examples/Missing plot_id"},"paths/~1analysis-runs/get/responses/403/content/application~1json/examples/Unauthorized access to plot":{"value":{"code":403,"message":"Unauthorized access to entity retrieved"},"key":"Unauthorized access to plot","summary":"Unauthorized access to plot","description":"The user does not own the plot or lacks required permissions","id":"paths/~1analysis-runs/get/responses/403/content/application~1json/examples/Unauthorized access to plot"},"paths/~1analysis-runs/get/responses/404/content/application~1json/examples/Plot not found":{"value":{"code":404,"message":"Plot not found"},"key":"Plot not found","summary":"Plot not found","id":"paths/~1analysis-runs/get/responses/404/content/application~1json/examples/Plot not found"},"paths/~1analysis-runs/get/responses/404/content/application~1json/examples/PlotID not found":{"value":{"code":404,"message":"PlotID not found"},"key":"PlotID not found","summary":"PlotID not found","description":"Alternative not-found message emitted by the ownership-checked lookup on the same path","id":"paths/~1analysis-runs/get/responses/404/content/application~1json/examples/PlotID not found"},"paths/~1analysis-runs~1{run_id}/get/responses/403/content/application~1json/examples/Unauthorized access to run":{"value":{"code":403,"message":"Unauthorized access to entity retrieved"},"key":"Unauthorized access to run","summary":"Unauthorized access to run","description":"The user does not own the plot associated with the run","id":"paths/~1analysis-runs~1{run_id}/get/responses/403/content/application~1json/examples/Unauthorized access to run"},"paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/Run not found":{"value":{"error":"Run not found"},"key":"Run not found","summary":"Run not found","id":"paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/Run not found"},"paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/PlotID not found":{"value":{"code":404,"message":"PlotID not found"},"key":"PlotID not found","summary":"PlotID not found","description":"The run exists but its parent plot does not","id":"paths/~1analysis-runs~1{run_id}/get/responses/404/content/application~1json/examples/PlotID not found"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Empty plot_ids":{"value":{"code":400,"message":"The plot_ids list is empty. Please include plot_ids of registered plots in the Job request to proceed."},"key":"Empty plot_ids","summary":"Empty plot_ids","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Empty plot_ids"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Too many plots":{"value":{"code":400,"message":"A job can include a maximum of 10,000 plots. Please reduce the number of plots or split your plots over multiple jobs to proceed."},"key":"Too many plots","summary":"Too many plots","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Too many plots"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown plot ids":{"value":{"code":400,"message":"Some or all plot_ids do not exist"},"key":"Unknown plot ids","summary":"Unknown plot ids","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown plot ids"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Null check entry":{"value":{"code":400,"message":"checks[] entries must not be null"},"key":"Null check entry","summary":"Null check entry","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Null check entry"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Check missing type":{"value":{"code":400,"message":"Each check must specify a `type` — either a native check type (eudr, deforestation, visual_verification, protected_area, indigenous_land, land_cover, surface_temperature, precipitation, water_detection, fire_damage) or an argus capability name (e.g. soil_moisture, canopy_condition, productivity_trend, solar_site_suitability, wildfire_burn_history, flood_water_history)."},"key":"Check missing type","summary":"Check missing type","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Check missing type"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unsupported check type":{"value":{"code":400,"message":"Check type ``land_use_change`` is not supported. Call ``GET /v3/discovery/capabilities`` for the list of supported analyses."},"key":"Unsupported check type","summary":"Unsupported check type","description":"Template: the submitted name is interpolated. Returned for legacy check-type names that are recognized but no longer runnable","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unsupported check type"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability with suggestions":{"value":{"code":400,"message":"Unknown argus capability ``soil_moistur``. Did you mean: soil_moisture?"},"key":"Unknown capability with suggestions","summary":"Unknown capability with suggestions","description":"Template: the submitted name and up to 3 closest matches are interpolated","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability with suggestions"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability without suggestions":{"value":{"code":400,"message":"Unknown argus capability ``bogus_name``. Call ``GET /v3/discovery/capabilities`` for the list of valid names."},"key":"Unknown capability without suggestions","summary":"Unknown capability without suggestions","description":"Template: shown when no close match exists for the submitted name","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Unknown capability without suggestions"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid check type":{"value":{"code":400,"message":"Invalid check type 'eudrr'. Allowed types: eudr, deforestation, land_use_change, vegetation_decline, crop_change, visual_verification, protected_area, indigenous_land, land_cover, surface_temperature, precipitation, water_detection, fire_damage, soil_properties, terrain"},"key":"Invalid check type","summary":"Invalid check type","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid check type"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Missing required config":{"value":{"code":400,"message":"Missing required config for eudr on plot ef6f5727-377f-4e9d-abcb-74a8a6bf0366: [harvest_date, commodity]"},"key":"Missing required config","summary":"Missing required config","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Missing required config"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid commodity":{"value":{"code":400,"message":"Invalid commodity 'bananas'. Allowed types: wood, soy, cocoa, coffee, palm_oil, beef, rubber"},"key":"Invalid commodity","summary":"Invalid commodity","description":"Template: the submitted value and the allowed list are interpolated","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Invalid commodity"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Harvest date out of range":{"value":{"code":400,"message":"Harvest date must be between 2020-12-31 and today"},"key":"Harvest date out of range","summary":"Harvest date out of range","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Harvest date out of range"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window incomplete":{"value":{"code":400,"message":"visual_verification needs both start_date and end_date (or neither, for the default trailing-12-months window) on plot ef6f5727-377f-4e9d-abcb-74a8a6bf0366."},"key":"Visual verification window incomplete","summary":"Visual verification window incomplete","description":"Template: the plot id is interpolated","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window incomplete"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window too short":{"value":{"code":400,"message":"end_date must be at least 3 days after start_date for visual_verification on plot ef6f5727-377f-4e9d-abcb-74a8a6bf0366 (the evidence window is split into 3 temporal slices)."},"key":"Visual verification window too short","summary":"Visual verification window too short","description":"Template: the plot id is interpolated","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification window too short"},"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification invalid date":{"value":{"code":400,"message":"Invalid start_date '01/11/2024' for visual_verification on plot ef6f5727-377f-4e9d-abcb-74a8a6bf0366. Expected YYYY-MM-DD format."},"key":"Visual verification invalid date","summary":"Visual verification invalid date","id":"paths/~1jobs~1make_job/post/responses/400/content/application~1json/examples/Visual verification invalid date"},"paths/~1jobs~1make_job/post/responses/402/content/application~1json/examples/Insufficient tokens":{"value":{"code":402,"message":"User account has insufficient tokens to run analysis job, job costs: 42, available tokens: 10"},"key":"Insufficient tokens","summary":"Insufficient tokens","id":"paths/~1jobs~1make_job/post/responses/402/content/application~1json/examples/Insufficient tokens"},"paths/~1jobs~1make_job/post/responses/503/content/application~1json/examples/Capability catalog not loaded":{"value":{"code":503,"message":"Argus capability catalog has not been loaded yet; retry shortly. If this persists, argus may be unreachable."},"key":"Capability catalog not loaded","summary":"Capability catalog not loaded","id":"paths/~1jobs~1make_job/post/responses/503/content/application~1json/examples/Capability catalog not loaded"},"paths/~1jobs~1job~1{job_id}/get/responses/400/content/application~1json/examples/Some or all plot_ids do not exist":{"value":{"code":400,"message":"Some or all plot_ids do not exist"},"key":"Some or all plot_ids do not exist","summary":"Some or all plot_ids do not exist","id":"paths/~1jobs~1job~1{job_id}/get/responses/400/content/application~1json/examples/Some or all plot_ids do not exist"},"paths/~1jobs~1job~1{job_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved":{"value":{"code":403,"message":"Unauthorized access to entity retrieved"},"key":"Unauthorized access to entity retrieved","summary":"Unauthorized access to entity retrieved","id":"paths/~1jobs~1job~1{job_id}/get/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"},"paths/~1jobs~1job~1{job_id}/get/responses/404/content/application~1json/examples/Item not found":{"value":{"code":404,"message":"Item not found"},"key":"Item not found","summary":"Item not found","id":"paths/~1jobs~1job~1{job_id}/get/responses/404/content/application~1json/examples/Item not found"},"paths/~1jobs/get/responses/400/content/application~1json/examples/Cursor not found":{"value":{"code":"400","message":"Cursor not found"},"key":"Cursor not found","summary":"Cursor not found","description":"The cursor is invalid, expired, tampered with, or belongs to a different user","id":"paths/~1jobs/get/responses/400/content/application~1json/examples/Cursor not found"},"paths/~1jobs/get/responses/400/content/application~1json/examples/Invalid date range":{"value":{"code":"400","message":"created_at_until must be greater than or equal to created_at_from"},"key":"Invalid date range","summary":"Invalid date range","id":"paths/~1jobs/get/responses/400/content/application~1json/examples/Invalid date range"},"paths/~1v3~1discovery~1capabilities/get/responses/200/content/application~1json/examples/Capability catalog (abbreviated)":{"value":[{"name":"eudr","label":"EUDR","description":"EUDR compliance bundle: deforestation analysis with protected-area and Indigenous-land checks included.","input_schema":{"type":"object","properties":{"commodity":{"type":"string","enum":["wood","soy","cocoa","coffee","palm_oil","beef","rubber"]},"harvest_date":{"type":"string","format":"date"}},"additionalProperties":false,"required":["commodity","harvest_date"]},"transport":"sync"},{"name":"protected_area","label":"Protected Area","description":"Checks whether the plot overlaps protected areas and returns overlap, source, and regulatory metadata.","input_schema":{"type":"object","properties":{},"additionalProperties":false,"required":[]},"transport":"sync","result_key":"protected_areas"},{"name":"visual_verification","label":"Visual Verification","description":"VLM-based verification of an area of interest using recent satellite imagery.","input_schema":{"type":"object","properties":{"prompt":{"type":"string"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}},"additionalProperties":false,"required":["prompt"]},"transport":"sync"},{"name":"soil_moisture","label":"Soil Moisture","description":"Compares recent surface soil moisture with the same place and season in prior years, with rainfall anomaly as supporting context.","input_schema":{"type":"object","properties":{}},"transport":"sync"}],"key":"Capability catalog (abbreviated)","summary":"Capability catalog (abbreviated)","description":"Abbreviated example showing one capability of each kind (native bundle, ranger-backed overlap check, per-plot VLM check, and a standard analysis). The live response contains all 33 capabilities listed in the endpoint description","id":"paths/~1v3~1discovery~1capabilities/get/responses/200/content/application~1json/examples/Capability catalog (abbreviated)"},"paths/~1protected-areas~1checks/post/requestBody/content/application~1json/examples/Plot IDs and GeoJSON FeatureCollection":{"value":{"plot_ids":["b7e1c2d3-4f5a-6789-0abc-def123456789"],"geojson":{"type":"FeatureCollection","features":[{"type":"Feature","properties":{},"geometry":{"coordinates":[[[10.12345,20.54321],[10.54321,20.12345],[10.6789,20.6789],[10.12345,20.54321]]],"type":"Polygon"}}]}},"key":"Plot IDs and GeoJSON FeatureCollection","summary":"Plot IDs and GeoJSON FeatureCollection","description":"Plot IDs and GeoJSON FeatureCollection","id":"paths/~1protected-areas~1checks/post/requestBody/content/application~1json/examples/Plot IDs and GeoJSON FeatureCollection"},"paths/~1protected-areas~1checks/post/responses/200/content/application~1json/examples/Protected Areas Analysis Result":{"value":{"type":"FeatureCollection","features":[{"geometry":{"type":"Polygon","coordinates":[[[-71.67370201,-46.78932844],[-71.1882715,-46.80453387],[-71.29871365,-46.6639686],[-71.67370201,-46.78932844]]]},"properties":{"protected_areas":{"protected_area_overlap_summary":{"protected_area_overlap":true,"total_overlap_percentage":17.741321358361883,"total_overlap_area_ha":5023.546300126338},"protected_area_details":[{"area_id":"7","area_name":"PATAGONIA","iucn_category":"II","overlap_area_ha":5023.546300126338}],"sources":[{"source_name":"Administración de Parques Nacionales. Sistema de Información de Biodiversidad. sib.gob.ar","data_version":"2024"}]},"plot_id":"cfa1df5b-d70b-4826-81dd-48658f1894d5"},"type":"Feature"},{"geometry":{"type":"Polygon","coordinates":[[[-71.39181567,-46.83188252],[-71.39180924,-46.87021335],[-71.30040289,-46.86616663],[-71.30039428,-46.82376187],[-71.39181567,-46.83188252]]]},"properties":{"protected_areas":{"protected_area_overlap_summary":{"protected_area_overlap":false,"total_overlap_percentage":0,"total_overlap_area_ha":0},"protected_area_details":[],"sources":[]},"plot_id":"cc7fc139-90c6-408c-acb3-bc2209b94669"},"type":"Feature"}]},"key":"Protected Areas Analysis Result","summary":"Protected Areas Analysis Result","description":"Protected Areas Analysis Result","id":"paths/~1protected-areas~1checks/post/responses/200/content/application~1json/examples/Protected Areas Analysis Result"},"paths/~1protected-areas~1checks/post/responses/400/content/application~1json/examples/No valid inputs":{"value":{"error":"No valid plot_ids or geojson features provided"},"key":"No valid inputs","summary":"No valid inputs","id":"paths/~1protected-areas~1checks/post/responses/400/content/application~1json/examples/No valid inputs"},"paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved":{"value":{"code":403,"message":"Unauthorized access to entity retrieved"},"key":"Unauthorized access to entity retrieved","summary":"Unauthorized access to entity retrieved","id":"paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Unauthorized access to entity retrieved"},"paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Missing role":{"value":{"code":403,"message":"HTTP 403 Forbidden"},"key":"Missing role","summary":"Missing role","id":"paths/~1protected-areas~1checks/post/responses/403/content/application~1json/examples/Missing role"},"paths/~1protected-areas~1checks/post/responses/404/content/application~1json/examples/PlotID not found":{"value":{"code":404,"message":"PlotID not found"},"key":"PlotID not found","summary":"PlotID not found","id":"paths/~1protected-areas~1checks/post/responses/404/content/application~1json/examples/PlotID not found"},"paths/~1protected-areas~1checks/post/responses/500/content/application~1json/examples/Failed to analyze provided inputs":{"value":{"error":"Failed to analyze provided inputs"},"key":"Failed to analyze provided inputs","summary":"Failed to analyze provided inputs","id":"paths/~1protected-areas~1checks/post/responses/500/content/application~1json/examples/Failed to analyze provided inputs"},"paths/~1protected-areas~1checks/post/responses/502/content/application~1json/examples/Upstream analysis failure":{"value":{"code":502,"message":"Protected-areas analysis failed: Unable to process geographic features due to a service error. Please try again later or contact support if the problem persists."},"key":"Upstream analysis failure","summary":"Upstream analysis failure","id":"paths/~1protected-areas~1checks/post/responses/502/content/application~1json/examples/Upstream analysis failure"},"paths/~1protected-areas~1{area_id}/get/responses/200/content/application~1json/examples/Protected Area Feature":{"value":{"geometry":{"type":"MultiPolygon","coordinates":[[[[-95.46394368,30.18561754],[-95.46391804,30.18473713],[-95.46612682,30.18474856],[-95.46613386,30.1847486],[-95.46613386,30.18560282],[-95.46394384,30.18562288],[-95.46394368,30.18561754]]]]},"properties":{"area_name":"Shenandoah Park","iucn_category":"Unknown","source":"USGS","area_id":"311224"},"type":"Feature"},"key":"Protected Area Feature","summary":"Protected Area Feature","description":"Protected Area Feature","id":"paths/~1protected-areas~1{area_id}/get/responses/200/content/application~1json/examples/Protected Area Feature"},"paths/~1protected-areas~1{area_id}/get/responses/404/content/application~1json/examples/Protected area not found":{"value":{"error":"Protected area not found for area_id: 123"},"key":"Protected area not found","summary":"Protected area not found","id":"paths/~1protected-areas~1{area_id}/get/responses/404/content/application~1json/examples/Protected area not found"}},"securitySchemeStore":{"BasicAuth":{"id":"BasicAuth","type":"http","scheme":"basic","description":"HTTP Basic credentials (username and password). Used only by POST /login to obtain a JWT."},"BearerAuth":{"id":"BearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT or vantage_live_ API key","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A bearer token in the Authorization header, formatted as 'Bearer [token]'. The token can be either:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"JWT"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" obtained from POST /login (best for short-lived, interactive sessions), or"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"programmatic API key"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" whose value begins with the 'vantage_live_' prefix."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both are sent exactly the same way - 'Authorization: Bearer [token]' - and are accepted interchangeably on every user endpoint; an API key is simply a long-lived bearer token. Create and manage your API keys from the API page in your account at https://web.vantage.open-atlas.com/app/api. API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups)."},"children":[]}]}]}]}},"servers":[{"url":"/_mock/openapi","isMockServer":true,"description":"Mock server"}]},"options":{"hideSidebar":true,"mockServer":{"url":"/_mock/openapi","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/openapi.json?download"},{"url":"/_bundle/openapi.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"Vantage API","description":"REST API for queuing and running geospatial analyses on user plots. Create jobs, validate and queue plots, and retrieve per-plot analysis results (e.g., EUDR, deforestation, protected areas, crop health, climate and hazard risk, site suitability, and visual verification).\n\n## Authentication\n\nMost endpoints require a bearer token in the `Authorization` header. Two kinds of token are accepted interchangeably:\n\n- **JWT** — obtained from `POST /login` with Basic Auth credentials. Best for interactive, short-lived sessions.\n- **API key** — a long-lived programmatic secret that begins with the `vantage_live_` prefix. Send it exactly like a JWT: `Authorization: Bearer vantage_live_...`. It works on any user endpoint that accepts a JWT. Create and manage your API keys from the API page in your account at [https://web.vantage.open-atlas.com/app/api](https://web.vantage.open-atlas.com/app/api). API keys are the recommended way to authenticate accounts that have no password (e.g. Google sign-ups).\n\n## Analyses\n\nAnalyses are run by creating a job (`POST /jobs/make_job`) with one or more `checks`. Each check has a `type` naming an analysis capability and an optional `config`. If `checks` is omitted, a single `eudr` check is run by default.\n\nThe full capability catalog — including a machine-readable configuration schema (`input_schema`), display label, result key, and token cost hint for every analysis — is available from `GET /v3/discovery/capabilities`.\n\nCapabilities fall into three groups:\n\n- **Compliance and land status** — `eudr` (deforestation + protected areas + Indigenous land bundle), `deforestation`, `protected_area`, `indigenous_land`, `deforestation_risk`, `forest_loss_by_year`, `compliance_verification_pack`, `property_due_diligence`, `supplier_site_risk_screen`.\n- **Environment, crop and hazard signals** — `canopy_condition`, `soil_moisture`, `productivity_trend`, `farm_portfolio_health`, `agricultural_drought_stress`, `agricultural_climate_aridity`, `enso_teleconnection`, `enso_seasonal_outlook`, `precipitation`, `water_detection`, `land_cover`, `surface_temperature`, `fire_damage`, `flood_water_history`, `flood_risk_5weeks`, `flood_risk_5years`, `wildfire_burn_history`, `wildfire_risk_5weeks`, `wildfire_risk_5years`, `coastal_erosion_risk`.\n- **Site suitability and verification** — `solar_site_suitability`, `vineyard_site_suitability`, `data_center_site_suitability`, `asset_inspection_priority`, `visual_verification`.\n\nResults land in the plot's `analysis` object. The EUDR bundle writes the legacy top-level fields plus `eudr`, `protected_areas`, and `indigenous_land`; every other capability writes its result under a key matching the capability name (see each capability's `result_key` in the discovery endpoint when it differs).\n\n## Tokens\n\nRunning analyses consumes analysis tokens, reserved when the job is created and settled when it completes. The cost depends on the selected capabilities and the plots being analyzed. To preview the exact cost of a job before committing tokens, create it with the `X-Dry-Run: true` header; per-capability cost information is also returned as `cost_hint` by `GET /v3/discovery/capabilities`. Tokens reserved for plots that fail to complete analysis are refunded.\n\n## Versioning\n\nEvery request must send the `X-API-Version` header set to `3`. Requests without the header receive `400` `{\"code\":400,\"error\":\"MISSING_API_VERSION\",\"message\":\"The X-API-Version header is required. Please set it to 3. See https://docs.open-atlas.com/docs/changelog#api-versioning for details.\"}`; an unsupported value receives `400` `{\"code\":400,\"error\":\"INVALID_API_VERSION\",\"message\":\"Invalid X-API-Version value: '2'. Supported versions are: 3.\"}`.\n\n## Errors\n\nMost errors are returned as a JSON object `{\"code\": <integer status>, \"message\": \"<message>\"}`. Exceptions to be aware of:\n\n- **Pagination errors** on `GET /plots` and `GET /jobs` return `code` as a string: `{\"code\":\"400\",\"message\":\"Cursor not found\"}`.\n- **`POST /login`**, the token-balance `404`, and the insufficient-tokens `400` outside of make_job return the message as a plain string body (with a JSON content type).\n- A few endpoints return `{\"error\": \"<message>\"}` (noted per endpoint below).\n- A missing or invalid bearer token returns `401` with the plain-text body `Credentials are required to access this resource.` and a `WWW-Authenticate: Bearer realm=\"realm\"` header.\n- An authenticated user lacking the required role receives `403` `{\"code\":403,\"message\":\"HTTP 403 Forbidden\"}`; attempting to access another user's resource receives `403` `{\"code\":403,\"message\":\"Unauthorized access to entity retrieved\"}`.\n- A syntactically invalid JSON body returns `400` `{\"code\":400,\"message\":\"Unable to process JSON\"}`. A structurally invalid body returns `400` with one of: `Unable to process JSON: Unknown property: <name>`, `Invalid check type '<value>'. Allowed types: <list>`, `Invalid commodity '<value>'. Allowed types: <list>`, `Invalid Polygon in GeoJSON: the ring is not closed. The first and last coordinate in a LinearRing must be identical.`, or `Invalid Geometry in GeoJSON: <detail>`.\n- Unhandled server errors return `500` `{\"code\":500,\"message\":\"There was an error processing your request. It has been logged (ID <16-hex-digit id>).\"}` — the id correlates with our server logs; no internal details are exposed.\n- Protocol-level errors use the generic bodies `{\"code\":404,\"message\":\"HTTP 404 Not Found\"}` (unknown path or non-numeric path parameter), `{\"code\":405,\"message\":\"HTTP 405 Method Not Allowed\"}`, `{\"code\":406,\"message\":\"HTTP 406 Not Acceptable\"}`, and `{\"code\":415,\"message\":\"HTTP 415 Unsupported Media Type\"}` (e.g. a POST without `Content-Type: application/json`)."}},"baseSlug":"/openapi","routesMapping":{}}