Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cula.tech/llms.txt

Use this file to discover all available pages before exploring further.

Rate limits

The API enforces a rate limit of 1,500 requests per minute per IP address. This limit applies across all endpoints. If you exceed the limit, the API returns 429 Too Many Requests:
{
  "error": {
    "type": "rate_limit",
    "code": "rate_limit_exceeded",
    "message": "Too many requests. Please retry after a short delay.",
    "request_id": "req_01kqzcjrpyf27tge33jwvjhkff"
  }
}

Handling rate limits

When you receive a 429 response, back off and retry with exponential delay:
  1. Wait 1 second, then retry.
  2. If still 429, wait 2 seconds, then retry.
  3. Continue doubling the wait time up to a maximum of 30 seconds.
Adding random jitter (e.g. ±500ms) to each wait prevents multiple clients from retrying in sync.
Do not retry 429 responses immediately and in a tight loop. This will prolong the time until requests succeed again.

Payload size limits

JSON request bodies

JSON request bodies are limited to 1 MB. Requests exceeding this limit receive 413 Payload Too Large.

File uploads

Uploaded files are limited to 30 MiB per file. See the File Handling endpoints for details.

Machine data batches

The synchronous POST /machine-data/batch endpoint accepts up to 200 data points per request. For larger volumes, use the asynchronous import jobs endpoint.

Machine data import jobs

The asynchronous POST /machine-data/import-jobs endpoint accepts a single uploaded JSON file of up to 128 MB. See machine data ingestion paths for guidance on which endpoint to use.

Pagination

List endpoints return a maximum of 50 items per page. See Pagination and filtering for details.