Skip to content

Create one or more plots

Request

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 10,000), one plot is created per Feature and the response wraps them in a plots array.

Multi-Feature requests. Every Feature is validated before any plot is created (geometry, area limit, geocoding, naming). If any Feature is rejected, the request returns 400 listing each rejected Feature by index and no plots are created, so the request can simply be corrected and resubmitted. Plots are named {plot_name} #1, #2, … when plot_name is given; otherwise from each Feature's properties.name, falling back to Plot #n. Geometries too large to store (roughly above 150 KB of GeoJSON) are simplified with a topology-preserving algorithm at up to 10 m tolerance; area, centroid and location are always computed from the original outline, and any simplification is disclosed in the plot's additional_info (geometry_simplified, vertex counts, tolerance, area drift). Requests are processed synchronously; a 3,500-Feature collection completes in seconds.

Foreign members. Per RFC 7946 §6.1, members not defined by GeoJSON (for example metadata, bbox, crs or name on the FeatureCollection or on a Feature) are accepted and ignored. Feature properties are stored with the plot.

Security
BearerAuth
Headers
Authorizationstring

Authorization header with a Bearer token, formatted as 'Bearer [JWT]' where [JWT] is the JSON Web Token used for user authentication and authorization.

Example:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.your-payload-here.signature
Bodyapplication/jsonrequired

Details of the plot to create

geojsonobject(GeoJson)required

GeoJSON representation of the plot's geographical data

Example:
{ "type": "FeatureCollection", "features": [ { … } ] }
harvest_datestring, (date)

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

Example:"2023-11-01"
commoditystring

The commodity type planted in the plot for analysis; if not provided here, it must be specified when executing the job

Enum:"wood""soy""cocoa""coffee""palm_oil""beef""rubber"
Example:"wood"
plot_namestring, <= 255 characters

Name assigned to the plot. Free-text label of up to 255 characters. Digits, spaces, punctuation and non-Latin characters are permitted; control characters (line breaks, tabs and other non-printing characters) are rejected. Stored and returned exactly as sent; never used as an identifier (use plot_id)

Example:"My sustainable plot"
notesstring

Additional notes related to the plot

Example:"GeoJSON needs to be revised"
additional_infoobject

Additional information as key-value pairs

Example:
{ "previous_risk_assessment": "high", "urgency": "low" }
curl -i -X POST \
  https://api.open-atlas.com/_mock/openapi/plots/make_plot \
  -H 'Authorization: Bearer <YOUR_JWT or vantage_live_ API key_HERE>' \
  -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"
    }
  }'

Responses

Plot(s) created successfully. A single-Feature request returns a plot object; a multi-Feature request returns a BatchPlotResponse with a plots array

Bodyapplication/json
One of:

Plot object with metadata and analysis if a job ran analysis on it

usernamestring

Username of the account that created the plot, the plot owner

Example:"jdoe"
countrystring

Country where the plot is located. "N/A" when the plot's centroid is not inside any country boundary (open water): such plots are accepted, with state also "N/A" and no country_code; land-based analyses (EUDR, deforestation) may fail or be meaningless on them, while hazard analyses run normally.

Example:"United States"
statestring

State or region where the plot is located ("N/A" for open-water plots, see country)

Example:"California"
notesstring

Additional notes related to the plot

Example:"This plot requires frequent irrigation."
analysisobject(Analysis)

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 eudr key. Every other analysis capability writes its result under a key matching the capability name (e.g. soil_moisture, flood_structural, solar_site_suitability) using the standard capability result envelope, except where a dedicated schema is documented (visual_verification, deforestation_analysis, GEE checks). The protected_area check writes under protected_areas and the indigenous_land check under indigenous_land.

plot_idstring

Unique identifier for the plot

Example:"ef6f5727-377f-4e9d-abcb-74a8a6bf0366"
plot_namestring, <= 255 characters

Name of the plot

Example:"East Field"
geojson_featuresArray of objects(GeoJsonFeature)
harvest_datesArray of strings
commoditystring

Type of commodity planted in the plot to do analysis on

Enum:"wood""soy""cocoa""coffee""palm_oil""beef""rubber"
Example:"cocoa"
latstring

Latitude of the plot's center

Example:"34.052235"
lonstring

Longitude of the plot's center

Example:"-118.243683"
area_hanumber, (double)

Area of the plot in hectares

Example:12.5
tokens_costinteger, (int32)

Cost of the analyzing the plot in tokens

Example:150
created_atstring, (date-time)

Timestamp of plot creation

updated_atstring, (date-time)

Timestamp of the last plot update

analysis_imagestring

URL for the visualization of the analysis of the plot

Example:"https://example.com/images/plot-analysis.jpg"
additional_infoobject

Additional information about the plot as key-value pairs

Example:
{ "soil_quality": "high", "access": "restricted" }
Response
{ "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": "2026-08-11", "areaHa": 156.13, "area_ha": 156.13, "analyzed_area_ha": 156.13, "protected_areas": { … }, "deforestation": { … }, "deforestation_percentage": 0.044, "eudr": { … }, "deforestation_analysis": { … }, "visual_verification": { … }, "land_cover": { … }, "surface_temperature": { … }, "precipitation": { … }, "water_detection": { … }, "fire_damage": { … }, "protectedAreas": [ … ], "indigenous_overlap": { … }, "property1": { … }, "property2": { … } }, "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" } }