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.

Server-assigned IDs (TypeID)

Every resource has a server-assigned id in TypeID format:
stp_01kqzcjrpxf27tge33jwvjhkff
TypeIDs are K-sortable and prefixed with the resource type. The prefix is separated from the suffix by an underscore (_).

TypeID prefix table

PrefixResource type
stp_Step executions
dlv_Deliveries
leg_Delivery legs
ste_Sites
org_Organisations
mat_Materials
fil_Files
eml_Emission logs
mct_Material containers
wbh_Webhooks
dpc_Data point configs
stc_Step configs
dlc_Delivery configs
elc_Emission log configs

External IDs

You can assign your own external_id to resources on creation. External IDs are unique within the combination of resource type and organisation. Use external IDs to reference resources from your own systems without storing Cula TypeIDs.

ResourceRef pattern

When a field references another resource, such as a delivery sender site, the API uses a ResourceRef object. Provide either id or external_id, not both:
// Reference by Cula TypeID
{ "sender_site": { "id": "ste_01kqzcjrpxf27tge33jwvjhkff" } }

// Reference by your external ID
{ "sender_site": { "external_id": "MY-FARM-001" } }
In responses, references are always resolved to include both identifiers:
{ "sender_site": { "id": "ste_01kqzcjrpxf27tge33jwvjhkff", "external_id": "MY-FARM-001" } }

GET by ID

All GET /v1/{resource}/{id} endpoints accept either format:
  • TypeID: GET /v1/material-sourcing/stp_01kqzcjrpxf27tge33jwvjhkff
  • External ID: GET /v1/material-sourcing/ext-MY-STEP-001
The ext- prefix avoids collisions because TypeIDs use _ as their separator.
External IDs are optional. You can set one on creation or add/change it later via PATCH. If a resource has no external ID, you can reference it by its TypeID.