### Annotation Search Response Schema Source: https://docs.olmoearth.allenai.org/api Example response structure for a successful annotation search query. ```json { "records": [ { "id": "123e4567-e89b-12d3-a456-426614174000", "status": "pending", "start_time": "2026-07-12T06:04:38.836Z", "end_time": "2026-07-12T06:04:38.836Z", "metadata_values": [ { "id": "123e4567-e89b-12d3-a456-426614174000", "metadata_field_id": "123e4567-e89b-12d3-a456-426614174000", "name": "string", "data_type": "bool", "display_name": "string", "value": true, "label_id": "123e4567-e89b-12d3-a456-426614174000", "label_name": "string", "required": false, "read_only": false } ], "annotator_id": "123e4567-e89b-12d3-a456-426614174000", "project_id": "123e4567-e89b-12d3-a456-426614174000", "task_id": "123e4567-e89b-12d3-a456-426614174000", "dataset_id": "123e4567-e89b-12d3-a456-426614174000", "annotation_images": [ { "latitude": 1, "longitude": 1, "capture_time": "2026-07-12T06:04:38.836Z", "id": "123e4567-e89b-12d3-a456-426614174000", "creation_time": "2026-07-12T06:04:38.836Z", "annotation_id": "123e4567-e89b-12d3-a456-426614174000", "user_id": "123e4567-e89b-12d3-a456-426614174000", "image_url": "string" } ], "creation_time": "2026-07-12T06:04:38.836Z", "updated_time": "2026-07-12T06:04:38.836Z", "geom_wkt": "string" } ], "meta": { "total": 1 }, "errors": [ { "code": "not_found_error", "message": "string" } ] } ``` -------------------------------- ### Create a Simple Polygon Area via cURL Source: https://docs.olmoearth.allenai.org/area-management Example request to create a single polygon area for a research site. ```bash curl -X POST "https://olmoearth.allenai.org/api/v1/areas" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Nandi County Research Site", "geom": { "type": "Polygon", "coordinates": [[ [35.1000, 0.1000], [35.2000, 0.1000], [35.2000, 0.2000], [35.1000, 0.2000], [35.1000, 0.1000] ]] } }' ``` -------------------------------- ### Create a MultiPolygon Area via cURL Source: https://docs.olmoearth.allenai.org/area-management Example request to create an area consisting of multiple non-contiguous geographic regions. ```bash curl -X POST "https://olmoearth.allenai.org/api/v1/areas" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Multiple Field Sites", "geom": { "type": "MultiPolygon", "coordinates": [ [[[35.1000, 0.1000], [35.1500, 0.1000], [35.1500, 0.1500], [35.1000, 0.1500], [35.1000, 0.1000]]], [[[35.3000, 0.3000], [35.3500, 0.3000], [35.3500, 0.3500], [35.3000, 0.3500], [35.3000, 0.3000]]] ] } }' ``` -------------------------------- ### Retrieve a Single Area via GET Source: https://docs.olmoearth.allenai.org/area-management Fetches a specific area by its unique ID, returning the full GeoJSON geometry. ```bash curl -X GET "https://olmoearth.allenai.org/api/v1/areas/f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f" \ -H "Authorization: Bearer YOUR_API_TOKEN" ``` -------------------------------- ### Area Retrieval Response Source: https://docs.olmoearth.allenai.org/area-management Example JSON response containing the area's full GeoJSON geometry. ```json { "records": [ { "id": "f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f", "name": "Nandi County Research Site", "geom": { "type": "Polygon", "coordinates": [[ [35.1000, 0.1000], [35.2000, 0.1000], [35.2000, 0.2000], [35.1000, 0.2000], [35.1000, 0.1000] ]] }, "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T10:30:00Z" } ] } ``` -------------------------------- ### Search Areas Response Source: https://docs.olmoearth.allenai.org/area-management Example JSON response for a search query, which omits geometry data. ```json { "records": [ { "id": "f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f", "name": "Nandi County Research Site", "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T10:30:00Z" }, { "id": "a2b3c4d5-e6f7-4a5b-8c9d-0e1f2a3b4c5d", "name": "Kenya Coastal Region", "created_time": "2024-01-14T08:15:00Z", "updated_time": "2024-01-14T08:15:00Z" } ], "total": 2, "limit": 50, "offset": 0 } ``` -------------------------------- ### GET /api/v1/areas/{area_id} Source: https://docs.olmoearth.allenai.org/area-management Retrieves a specific area by its unique identifier, including its full GeoJSON geometry. ```APIDOC ## GET /api/v1/areas/{area_id} ### Description Retrieve a specific area by ID. This endpoint returns the area with its full GeoJSON geometry. ### Method GET ### Endpoint /api/v1/areas/{area_id} ### Parameters #### Path Parameters - **area_id** (string) - Required - The unique identifier of the area. ### Response #### Success Response (200) - **records** (array) - List containing the requested area object with id, name, geom, created_time, and updated_time. ``` -------------------------------- ### POST /api/v1/annotations/search Source: https://docs.olmoearth.allenai.org/api Query for annotations using filters, sorting, and pagination. ```APIDOC ## POST /api/v1/annotations/search ### Description Query for Annotations using filters, sorting, and pagination. ### Method POST ### Endpoint /api/v1/annotations/search ### Request Body - **annotator_id** (object) - Optional - Filter by annotator ID. - **creation_time** (object) - Optional - Filter by creation time. - **dataset_id** (object) - Optional - Filter by dataset ID. - **end_time** (object) - Optional - Filter by end time. - **has_feedback** (boolean) - Optional - Filter by feedback presence. - **has_images** (boolean) - Optional - Filter by image presence. - **has_labels** (boolean) - Optional - Filter by label presence. - **id** (object) - Optional - Filter by annotation ID. - **image_id** (object) - Optional - Filter by image ID. - **intersects_area_id** (string) - Optional - Filter by area intersection. - **intersects_geometry** (object) - Optional - Filter by geometry intersection. - **limit** (integer) - Optional - Limit the number of results (0-10000, default 100). ### Request Example { "sort_by": "creation_time", "sort_direction": "desc", "limit": 100, "offset": 0 } ### Response #### Success Response (200) - **annotations** (array) - List of matching annotations. #### Response Example { "annotations": [] } ``` -------------------------------- ### Search Annotations via cURL Source: https://docs.olmoearth.allenai.org/api Query for annotations using filters, sorting, and pagination via a POST request. ```Shell curl /api/v1/annotations/search \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \ --data '{ "sort_by": "creation_time", "sort_direction": "desc", "limit": 100, "offset": 0, "id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "task_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "annotator_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "status": { "eq": "pending", "neq": "pending", "inc": [ "pending" ], "ninc": [ "pending" ], "exists": true }, "project_id": { "eq": "", "inc": [ "" ] }, "dataset_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "image_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "metadata_filters": [ { "metadata_field_id": "", "label_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "numeric": { "eq": 1, "neq": 1, "gte": 1, ``` -------------------------------- ### Authenticate API requests with cURL Source: https://docs.olmoearth.allenai.org/authentication Include the API key as a bearer token in the Authorization header for all requests. ```bash curl -H "Authorization: Bearer YOUR_API_KEY" "https://olmoearth.allenai.org/api/v1/..." ``` -------------------------------- ### POST /api/v1/annotations/search Source: https://docs.olmoearth.allenai.org/api Searches for annotations based on provided filter criteria, sorting, and pagination parameters. ```APIDOC ## POST /api/v1/annotations/search ### Description Searches for annotations based on provided filter criteria, sorting, and pagination parameters. ### Method POST ### Endpoint /api/v1/annotations/search ### Request Body - **sort_by** (string) - Optional - Field to sort by (e.g., "creation_time") - **sort_direction** (string) - Optional - Sort direction (e.g., "desc") - **limit** (integer) - Optional - Maximum number of records to return - **offset** (integer) - Optional - Number of records to skip - **id** (object) - Optional - Filter by ID - **task_id** (object) - Optional - Filter by task ID - **annotator_id** (object) - Optional - Filter by annotator ID ### Request Example { "sort_by": "creation_time", "sort_direction": "desc", "limit": 100, "offset": 0 } ``` -------------------------------- ### POST /api/v1/annotations/aggregate Source: https://docs.olmoearth.allenai.org/api Aggregate annotation resources using filters, metrics, and grouping parameters. ```APIDOC ## POST /api/v1/annotations/aggregate ### Description Aggregate Annotation resources using filters, metric, and group_by. ### Method POST ### Endpoint /api/v1/annotations/aggregate ### Request Body - **metric** (object) - Required - MetricInput for aggregation - **annotator_id** (object) - Optional - KeywordFilter[UUID] - **creation_time** (object) - Optional - DatetimeFilter - **dataset_id** (object) - Optional - KeywordFilter[UUID] - **end_time** (object) - Optional - DatetimeFilter - **group_by** (array) - Optional - Grouping criteria - **has_feedback** (boolean) - Optional - Filter by feedback presence - **has_images** (boolean) - Optional - Filter by image presence - **has_labels** (boolean) - Optional - Filter by label presence - **id** (object) - Optional - KeywordFilter[UUID] - **image_id** (object) - Optional - KeywordFilter[UUID] - **intersects_area_id** (string) - Optional - Filter by area ID ### Response #### Success Response (200) - **Successful Response** (application/json) ``` -------------------------------- ### Aggregate Annotations Request Source: https://docs.olmoearth.allenai.org/api cURL command to perform an aggregation request on annotation resources. ```bash curl /api/v1/annotations/aggregate \ --request POST \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \ --data '{ "metric": { "type": "count", "field": "" }, "group_by": [ { "field": "", "interval": "day", "num_buckets": 1 } ], "id": { "eq": "", "neq": "", ``` -------------------------------- ### POST /api/v1/annotations/search Source: https://docs.olmoearth.allenai.org/api Search for annotation records based on various filters including time ranges, geometry, and boolean flags. ```APIDOC ## POST /api/v1/annotations/search ### Description Search for annotation resources using specific filters. ### Method POST ### Endpoint /api/v1/annotations/search ### Request Body - **has_feedback** (boolean) - Optional - Filter by feedback presence - **has_images** (boolean) - Optional - Filter by image presence - **has_labels** (boolean) - Optional - Filter by label presence - **creation_time** (object) - Optional - Filter by creation time range - **updated_time** (object) - Optional - Filter by update time range - **start_time** (object) - Optional - Filter by start time range - **end_time** (object) - Optional - Filter by end time range - **intersects_geometry** (object) - Optional - Filter by geometric intersection - **intersects_area_id** (string) - Optional - Filter by area ID ### Response #### Success Response (200) - **records** (array) - List of annotation objects - **meta** (object) - Metadata including total count ``` -------------------------------- ### Area Creation Response Source: https://docs.olmoearth.allenai.org/area-management The JSON response returned after successfully creating an area, including the generated unique ID. ```json { "records": [ { "id": "f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f", "name": "Nandi County Research Site", "geom": { "type": "Polygon", "coordinates": [[...]] }, "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T10:30:00Z" } ] } ``` -------------------------------- ### Authenticate API Requests Source: https://docs.olmoearth.allenai.org/api Include the API token in the Authorization header as a bearer token for all requests. ```HTTP Authorization: Bearer YOUR_API_TOKEN ``` -------------------------------- ### POST /api/v1/annotations/aggregate Source: https://docs.olmoearth.allenai.org/api Aggregates annotation data based on specified criteria. ```APIDOC ## POST /api/v1/annotations/aggregate ### Description Aggregates annotation data based on specified criteria. ### Method POST ### Endpoint /api/v1/annotations/aggregate ### Response #### Success Response (200) - **records** (array) - List of aggregated records - **meta** (object) - Metadata including total count #### Response Example { "records": [ { "key": { "additionalProperty": "string" }, "value": 1 } ], "meta": { "total": 1 } } ``` -------------------------------- ### Search Areas via POST Source: https://docs.olmoearth.allenai.org/area-management Performs a search or filter operation on areas. Geometries are excluded from these results to optimize performance. ```bash curl -X POST "https://olmoearth.allenai.org/api/v1/areas/search" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "limit": 50, "offset": 0 }' ``` ```bash curl -X POST "https://olmoearth.allenai.org/api/v1/areas/search" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Kenya", "limit": 10 }' ``` -------------------------------- ### Update Area Response Format Source: https://docs.olmoearth.allenai.org/area-management The JSON response structure returned after a successful area update. ```json { "records": [ { "id": "f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f", "name": "Nandi County - Expanded Research Site", "geom": { "type": "Polygon", "coordinates": [[...]] }, "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T14:22:00Z" } ] } ``` -------------------------------- ### Define Area Request Format Source: https://docs.olmoearth.allenai.org/area-management The expected JSON structure for defining a geographic area using a GeoJSON Polygon. ```json { "name": "Study Region Name", "geom": { "type": "Polygon", "coordinates": [[ [longitude, latitude], [longitude, latitude], [longitude, latitude], [longitude, latitude], [longitude, latitude] ]] } } ``` -------------------------------- ### Annotation Aggregate Response Schema Source: https://docs.olmoearth.allenai.org/api The expected JSON response structure for the aggregate endpoint. ```json { "records": [ { "key": { "additionalProperty": "string" }, "value": 1 } ], "meta": { "total": 1 }, "errors": [ { "code": "not_found_error", "message": "string" } ] } ``` -------------------------------- ### PUT /api/v1/areas/{area_id} Source: https://docs.olmoearth.allenai.org/area-management Updates an existing area's name or geometry. ```APIDOC ## PUT /api/v1/areas/{area_id} ### Description Update an existing area's name or geometry (Polygon or MultiPolygon). ### Method PUT ### Endpoint /api/v1/areas/{area_id} ### Parameters #### Path Parameters - **area_id** (string) - Required - The unique identifier of the area to update. #### Request Body - **name** (string) - Optional - The new name for the area. - **geom** (object) - Optional - The new geometry for the area (Polygon or MultiPolygon). ### Response #### Success Response (200) - **records** (array) - A list containing the updated area object. #### Response Example { "records": [ { "id": "f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f", "name": "Nandi County - Expanded Research Site", "geom": { "type": "Polygon", "coordinates": [[...]] }, "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T14:22:00Z" } ] } ``` -------------------------------- ### POST /api/v1/areas/search Source: https://docs.olmoearth.allenai.org/area-management Searches and filters areas based on provided criteria, returning results without geometries for improved performance. ```APIDOC ## POST /api/v1/areas/search ### Description Search and filter areas. This endpoint supports advanced filtering and returns areas without geometries for improved performance. ### Method POST ### Endpoint /api/v1/areas/search ### Parameters #### Request Body - **name** (string) - Optional - Filter by area name (partial match). - **limit** (integer) - Optional - Number of results to return (default: 50). - **offset** (integer) - Optional - Offset for pagination (default: 0). ### Response #### Success Response (200) - **records** (array) - List of area objects (excluding geometries). - **total** (integer) - Total number of matching records. - **limit** (integer) - The limit applied to the request. - **offset** (integer) - The offset applied to the request. ``` -------------------------------- ### Annotation Search Request Body Source: https://docs.olmoearth.allenai.org/api JSON structure for filtering annotation search results. ```json { "gt": 1, "lte": 1, "lt": 1 }, "boolean": { "eq": true, "exists": true }, "text": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "like": "", "nlike": "" } } ], "has_feedback": true, "has_images": true, "has_labels": true, "creation_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "updated_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "start_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "end_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "intersects_geometry": { "bbox": [], "type": "Point", "coordinates": [] }, "intersects_area_id": "" }' ``` -------------------------------- ### Delete Area Response Format Source: https://docs.olmoearth.allenai.org/area-management The JSON response structure returned after a successful area deletion. ```json { "status": "deleted", "records": [ { "id": "f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f", "name": "Nandi County Research Site", "geom": { "type": "Polygon", "coordinates": [[...]] }, "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T14:22:00Z" } ] } ``` -------------------------------- ### Update Area Name via cURL Source: https://docs.olmoearth.allenai.org/area-management Updates the name of an existing area using a PUT request. ```bash curl -X PUT "https://olmoearth.allenai.org/api/v1/areas/f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "Nandi County - Expanded Research Site" }' ``` -------------------------------- ### Update Area Geometry via cURL Source: https://docs.olmoearth.allenai.org/area-management Updates the geometry of an existing area using a Polygon definition. ```bash curl -X PUT "https://olmoearth.allenai.org/api/v1/areas/f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "geom": { "type": "Polygon", "coordinates": [[ [35.0500, 0.0500], [35.2500, 0.0500], [35.2500, 0.2500], [35.0500, 0.2500], [35.0500, 0.0500] ]] } }' ``` -------------------------------- ### Annotation Search Request Body Source: https://docs.olmoearth.allenai.org/api The JSON structure used for filtering and sorting annotation search results. ```json { "inc": [ "" ], "ninc": [ "" ], "exists": true }, "task_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "annotator_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "status": { "eq": "pending", "neq": "pending", "inc": [ "pending" ], "ninc": [ "pending" ], "exists": true }, "project_id": { "eq": "", "inc": [ "" ] }, "dataset_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "image_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "metadata_filters": [ { "metadata_field_id": "", "label_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "numeric": { "eq": 1, "neq": 1, "gte": 1, "gt": 1, "lte": 1, "lt": 1 }, "boolean": { "eq": true, "exists": true }, "text": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "like": "", "nlike": "" } } ], "has_feedback": true, "has_images": true, "has_labels": true, "creation_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "updated_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "start_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "end_time": { "gte": "", "gt": "", "lte": "", "lt": "", "exists": true }, "intersects_geometry": { "bbox": [], "type": "Point", "coordinates": [] }, "intersects_area_id": "" }' ``` ```json { "sort_by": "creation_time", "sort_direction": "desc", "limit": 100, "offset": 0, "id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "task_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], "exists": true }, "annotator_id": { "eq": "", "neq": "", "inc": [ "" ], "ninc": [ "" ], ``` -------------------------------- ### DELETE /api/v1/areas/{area_id} Source: https://docs.olmoearth.allenai.org/area-management Deletes an existing area if it is not used in any predictions. ```APIDOC ## DELETE /api/v1/areas/{area_id} ### Description Delete an area by its ID. Note that areas cannot be deleted if they are used in any predictions. ### Method DELETE ### Endpoint /api/v1/areas/{area_id} ### Parameters #### Path Parameters - **area_id** (string) - Required - The unique identifier of the area to delete. ### Response #### Success Response (200) - **status** (string) - The status of the deletion operation. - **records** (array) - A list containing the deleted area object. #### Response Example { "status": "deleted", "records": [ { "id": "f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f", "name": "Nandi County Research Site", "geom": { "type": "Polygon", "coordinates": [[...]] }, "created_time": "2024-01-15T10:30:00Z", "updated_time": "2024-01-15T14:22:00Z" } ] } ``` -------------------------------- ### Delete Area via cURL Source: https://docs.olmoearth.allenai.org/area-management Deletes an area by ID. Note that areas cannot be deleted if they are currently associated with any predictions. ```bash curl -X DELETE "https://olmoearth.allenai.org/api/v1/areas/f1e2d3c4-b5a6-4c5d-8e9f-0a1b2c3d4e5f" \ -H "Authorization: Bearer YOUR_API_TOKEN" ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.