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).
Vantage API (3.0.1)
- Mock serverhttps://api.open-atlas.com/_mock/openapi/login
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.open-atlas.com/_mock/openapi/login \
-H 'Authorization: Basic bXJmb3VseTptcnBhc3N3b3Jk' \
-H 'Content-Type: application/json'{ "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature" }
Details of the plot to create
GeoJSON representation of the plot's geographical data
A list of GeoJson Features that this FeatureCollection is made of
Geometry object defining the spatial aspect of the feature, can be either Point or Polygon
Geometry object defining the spatial aspect of the feature, can be either Point or Polygon
Additional properties for the feature as key-value pairs. Optional properties include point_ha (float < 4.0)
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
The commodity type planted in the plot for analysis; if not provided here, it must be specified when executing the job
- Mock serverhttps://api.open-atlas.com/_mock/openapi/plots/make_plot
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.open-atlas.com/_mock/openapi/plots/make_plot \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature' \
-H 'Content-Type: application/json' \
-d '{
"geojson": {
"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
]
]
]
}
}
]
},
"harvest_date": "2023-11-01",
"commodity": "wood",
"plot_name": "My sustainable plot",
"notes": "GeoJSON needs to be revised",
"additional_info": {
"previous_risk_assessment": "high",
"urgency": "low"
}
}'{ "username": "jdoe", "country": "United States", "state": "California", "notes": "This plot requires frequent irrigation.", "analysis": { "analysisEnd": "2024-02-29", "analysis_end": "2024-02-29", "risk_level": "Low", "forest_percentage_2020": 93.07, "indigenous_land": { … }, "logging_area": 1.08, "forest_area_2020": 145.31, "risk_reason": "Low: Low deforestation detection", "version": "2024-11-13", "areaHa": 156.13, "protected_areas": { … }, "deforestation": { … }, "deforestation_percentage": 0.044, "protectedAreas": [ … ], "indigenous_overlap": { … } }, "plot_id": "ef6f5727-377f-4e9d-abcb-74a8a6bf0366", "plot_name": "East Field", "geojson_features": [ { … } ], "harvest_dates": [ "2024-11-01" ], "commodity": "cocoa", "lat": "34.052235", "lon": "-118.243683", "area_ha": 12.5, "tokens_cost": 150, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "analysis_image": "https://example.com/images/plot-analysis.jpg", "additional_info": { "soil_quality": "high", "access": "restricted" } }
- Mock serverhttps://api.open-atlas.com/_mock/openapi/plots/plot/{plot_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.open-atlas.com/_mock/openapi/plots/plot/{plot_id}' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature'{ "username": "jdoe", "country": "United States", "state": "California", "notes": "This plot requires frequent irrigation.", "analysis": { "analysisEnd": "2024-02-29", "analysis_end": "2024-02-29", "risk_level": "Low", "forest_percentage_2020": 93.07, "indigenous_land": { … }, "logging_area": 1.08, "forest_area_2020": 145.31, "risk_reason": "Low: Low deforestation detection", "version": "2024-11-13", "areaHa": 156.13, "protected_areas": { … }, "deforestation": { … }, "deforestation_percentage": 0.044, "protectedAreas": [ … ], "indigenous_overlap": { … } }, "plot_id": "ef6f5727-377f-4e9d-abcb-74a8a6bf0366", "plot_name": "East Field", "geojson_features": [ { … } ], "harvest_dates": [ "2024-11-01" ], "commodity": "cocoa", "lat": "34.052235", "lon": "-118.243683", "area_ha": 12.5, "tokens_cost": 150, "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "analysis_image": "https://example.com/images/plot-analysis.jpg", "additional_info": { "soil_quality": "high", "access": "restricted" } }
- Mock serverhttps://api.open-atlas.com/_mock/openapi/plots
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.open-atlas.com/_mock/openapi/plots?limit=100&cursor=string&created_at_from=string&created_at_until=string&lite=false' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature'List of Plot details retrieved successfully
Pagination metadata containing has_more, next_cursor, limit, and count
{ "plots": [ { … } ], "meta": { "next_cursor": "eyJsZWsiOiJZM0psWVhSbFpFRjBIbE02TWpBeU5TMHdOeTB6TVZReE56b3lNem8xTVI5d2JHOTBTV1FlVXpwak9EWTVaRFJsWlMwM09EZ3lMVFJoTjJFdFlqSmhaQzB4TWpkak1XRXlNemM0TjJNZmRYTmxjbTVoYldVZVV6cHZjR1Z1WVhSc1lYTmZiV0ZwYmciLCJ1Ijoib3BlbmF0bGFzX21haW4iLCJ2IjoxLCJleHAiOjE3NTYzMDc3OTY1MDgsImlhdCI6MTc1NjMwNTk5NjUwOH0.J1gFjyqEdHEmSYgaUVLH-YYePiBxNTc82LOXTowRjbA", "limit": 100, "count": 100, "has_more": true } }
- Mock serverhttps://api.open-atlas.com/_mock/openapi/analysis-runs
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.open-atlas.com/_mock/openapi/analysis-runs?plot_id=string%2Cstring' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature'[ { "run_id": "string", "job_id": "string", "plot_id": "string", "check_type": "string", "effective_config": { … }, "status": "string", "error": "string", "analysis_image": "string", "tokens_cost": 0, "created_at": "string", "updated_at": "string", "analysis": { … } } ]
- Mock serverhttps://api.open-atlas.com/_mock/openapi/analysis-runs/{run_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.open-atlas.com/_mock/openapi/analysis-runs/{run_id}' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature'{ "run_id": "string", "job_id": "string", "plot_id": "string", "check_type": "string", "effective_config": { "property1": {}, "property2": {} }, "status": "string", "error": "string", "analysis_image": "string", "tokens_cost": 0, "created_at": "string", "updated_at": "string", "analysis": { "analysisEnd": "2024-02-29", "analysis_end": "2024-02-29", "risk_level": "Low", "forest_percentage_2020": 93.07, "indigenous_land": { … }, "logging_area": 1.08, "forest_area_2020": 145.31, "risk_reason": "Low: Low deforestation detection", "version": "2024-11-13", "areaHa": 156.13, "protected_areas": { … }, "deforestation": { … }, "deforestation_percentage": 0.044, "protectedAreas": [ … ], "indigenous_overlap": { … } } }
Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization.
Details of the job to create
List of plot IDs that belong to the user to be analyzed in the job
Additional information about the job as key-value pairs, where keys and values are both strings
Optional list of check definitions to run for this job. If omitted or empty, a single 'eudr' check is run by default. Currently only 'eudr' is supported; additional check types will be added in the future.
- Mock serverhttps://api.open-atlas.com/_mock/openapi/jobs/make_job
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://api.open-atlas.com/_mock/openapi/jobs/make_job \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature' \
-H 'Content-Type: application/json' \
-H 'X-Dry-Run: true' \
-d '{
"job_name": "Planting season analysis for Q1",
"plot_ids": [
"ef6f5727-307f-4e9d-abcb-74a8b6af0366",
"asd9632d-b589-4e05-9c8b-58fed1f9823a3"
],
"notes": "Analysis for initial planting",
"additional_info": {
"soilQuality": "High",
"irrigationType": "Drip"
},
"checks": [
{
"type": "eudr",
"config": {
"harvest_date": "2024-11-01",
"commodity": "cocoa"
},
"per_plot": {
"ef6f...0366": {
"harvest_date": "2024-12-01"
}
}
}
]
}'Job created successfully and plots to be analyzed
A list of IDs of plots to be analyzed in the job
Analysis data for the plot, represented as key-value pairs
List of URLs for visualizations of analysis of plots associated with the job
{ "username": "abc_pro", "notes": "This plot requires frequent irrigation.", "job_id": "a31da612-fefe-4da8-800d-0e7120f5617e", "job_name": "August shipment 827128", "plot_ids": [ "ef6f5727-307f-4e9d-abcb-74a8b6af0366", "asd9632d-b589-4e05-9c8b-58fed1f9823a3" ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "additional_info": { "job_urgency": "high", "reviewer": "employee A" }, "token_cost": 8, "harvest_date": "string", "status": "creating", "plots": [ { … } ], "job_visualization_url": [ "https://example.com/ef6f5727-307f-4e9d-abcb-74a8b6af0366.png", "https://example.com/asd9632d-b589-4e05-9c8b-58fed1f9823a3.png" ] }
- Mock serverhttps://api.open-atlas.com/_mock/openapi/jobs/job/{job_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.open-atlas.com/_mock/openapi/jobs/job/{job_id}' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature'Job details retrieved successfully
A list of IDs of plots to be analyzed in the job
Analysis data for the plot, represented as key-value pairs
List of URLs for visualizations of analysis of plots associated with the job
{ "username": "abc_pro", "notes": "This plot requires frequent irrigation.", "job_id": "a31da612-fefe-4da8-800d-0e7120f5617e", "job_name": "August shipment 827128", "plot_ids": [ "ef6f5727-307f-4e9d-abcb-74a8b6af0366", "asd9632d-b589-4e05-9c8b-58fed1f9823a3" ], "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z", "additional_info": { "job_urgency": "high", "reviewer": "employee A" }, "token_cost": 8, "harvest_date": "string", "status": "creating", "plots": [ { … } ], "job_visualization_url": [ "https://example.com/ef6f5727-307f-4e9d-abcb-74a8b6af0366.png", "https://example.com/asd9632d-b589-4e05-9c8b-58fed1f9823a3.png" ] }
- Mock serverhttps://api.open-atlas.com/_mock/openapi/jobs
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://api.open-atlas.com/_mock/openapi/jobs?limit=100&cursor=string&created_at_from=string&created_at_until=string' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature'Successful response
List of jobs
Pagination metadata containing has_more, next_cursor, limit, and count
{ "jobs": [ { … } ], "meta": { "next_cursor": "eyJsZWsiOiJZM0psWVhSbFpFRjBIbE02TWpBeU5TMHdOeTB6TVZReE56b3lNem8xTVI5d2JHOTBTV1FlVXpwak9EWTVaRFJsWlMwM09EZ3lMVFJoTjJFdFlqSmhaQzB4TWpkak1XRXlNemM0TjJNZmRYTmxjbTVoYldVZVV6cHZjR1Z1WVhSc1lYTmZiV0ZwYmciLCJ1Ijoib3BlbmF0bGFzX21haW4iLCJ2IjoxLCJleHAiOjE3NTYzMDc3OTY1MDgsImlhdCI6MTc1NjMwNTk5NjUwOH0.J1gFjyqEdHEmSYgaUVLH-YYePiBxNTc82LOXTowRjbA", "limit": 100, "count": 100, "has_more": true } }
- Mock serverhttps://api.open-atlas.com/_mock/openapi/users/check_tokens
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
https://api.open-atlas.com/_mock/openapi/users/check_tokens \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature'{ "token_balance": 100, "reserved_tokens": 22, "free_tokens": 78 }