Skip to main content
POST
/
machine-data
/
batch
Ingest machine data (synchronous batch)
curl --request POST \
  --url https://api.demo.cula.earth/tracking/v1/machine-data/batch \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'Cula-Organisation-Id: <cula-organisation-id>' \
  --data '
{
  "items": [
    {
      "timestamp": "2025-10-25T13:02:52.932+02:00",
      "machine_data_point_config_id": "mdp_01kqzcjrpyf27tge9dnvsqv8t2",
      "value": 33.3
    },
    {
      "timestamp": "2025-10-25T13:02:52.932+02:00",
      "machine_data_point_config_id": "mdp_01kqzcjrpyf27tge33jwvjhkff",
      "value": 62.1
    },
    {
      "timestamp": "2025-10-25T13:03:52.932+02:00",
      "machine_data_point_config_id": "mdp_01kqzcjrpyf27tge9dnvsqv8t2",
      "value": 34.7
    }
  ]
}
'
{
  "error": {
    "type": "validation_error",
    "code": "missing_header",
    "message": "The Cula-Organisation-Id header is required. Every request must specify the target organisation.",
    "param": "Cula-Organisation-Id",
    "request_id": "req_01kqzcjrpyf27tge3pnybq9msk"
  }
}

Authorizations

Authorization
string
header
required

OAuth2 client credentials flow. Exchange your client_id and client_secret for a short-lived access token, then pass it as a Bearer token in the Authorization header.

Headers

Cula-Organisation-Id
string
required

Organisation ID that scopes this request. The authenticated consumer must be authorized for this organisation. Omitting this header returns 400; passing an unauthorised org returns 403.

Body

application/json

Batch of machine data items for synchronous ingestion. Maximum 200 items.

items
object[]
required

Array of machine data measurements to ingest.

Required array length: 1 - 200 elements

Response

All items ingested successfully.