Gerra LogoGERRA

Datasets API Overview

Manage and review your organization's datasets

Datasets API

The Datasets API enables your organization to browse, review, and manage training datasets from the Gerra platform.

Base URL

https://api.gerra.com

Authentication

All dataset endpoints require authentication using an API key in the Gerra-Api-Key header. You can find your API key in your dashboard.

curl "https://api.gerra.com/datasets" \
  -H "Gerra-Api-Key: YOUR_API_KEY"

Endpoints Overview

MethodEndpointDescription
GET/datasetsList all datasets with filtering
GET/datasets/datasetGet a single dataset with download URL
GET/datasets/statsGet dataset statistics
GET/datasets/{id}/iterationsGet iteration history
POST/datasets/{id}/acceptAccept a pending dataset
POST/datasets/{id}/rejectReject a pending dataset

Dataset Object

All dataset responses include the following fields:

{
  "id": "770e8400-e29b-41d4-a716-446655440000",
  "date_created": "2025-01-15T10:30:00Z",
  "date_updated": "2025-01-15T14:45:00Z",
  "organization_id": "660e8400-e29b-41d4-a716-446655440000",
  "data_type": "episode",
  "name": "Robot Arm Sensor Data Q1 2025",
  "description": "Telemetry data from robot arm sensors",
  "status": "pending",
  "link": "datasets/robot-arm-q1-2025.zip",
  "signed_url": "https://storage.example.com/...",
  "data_byte_size": 257355776,
  "metadata": {
    "sensor_type": "thermal",
    "location": "factory_floor_3"
  }
}

Dataset Fields

FieldTypeDescription
idstringUnique dataset identifier (UUID)
date_createdstringISO 8601 creation timestamp
date_updatedstringISO 8601 last update timestamp
organization_idstringOwning organization ID
data_typestringType of data (episode, synthetic_pov, synthetic_third_person, telemetry)
namestringDataset name
descriptionstringOptional description
statusstringCurrent status
linkstringStorage path
signed_urlstringPre-signed download URL (60 min expiry)
data_byte_sizeintegerSize in bytes
metadataobjectCustom metadata key-value pairs

Dataset Status

Datasets flow through the following states:

StatusDescription
pendingAwaiting review by your organization
acceptedApproved and ready for training pipelines
rejectedRejected with reason stored in metadata

Data Types

TypeDescription
episodeReal robot deployment recordings
synthetic_povAI-generated first-person perspective video
synthetic_third_personAI-generated third-person perspective video
telemetrySensor and telemetry data streams

Pagination

List endpoints support pagination with limit and offset parameters:

# Get page 2 with 50 items per page
curl "https://api.gerra.com/datasets?limit=50&offset=50" \
  -H "Gerra-Api-Key: gerra_your_api_key"
ParameterTypeDefaultMaxDescription
limitinteger1001000Number of results to return
offsetinteger0-Number of results to skip

Error Handling

The API uses standard HTTP status codes:

CodeDescription
200Success
400Bad request (invalid parameters)
401Unauthorized (missing or invalid API key)
403Forbidden (dataset belongs to another organization)
404Not found
422Validation error
500Internal server error

Error responses include a detail field:

{
  "detail": "Missing Gerra-Api-Key header"
}