Create a delivery
Record a material delivery. Each delivery references a delivery
config that declares its direction (incoming or outgoing)
relative to the config’s site. The delivery is recorded against
that config site.
Each delivery has at least one leg (sender → receiver) and at least
one payload container. For incoming configs, the last leg’s
receiver_site must match the config’s site. For outgoing
configs, the first leg’s sender_site must match the config’s site.
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.
Authorizations
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
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
Request body for creating a delivery. The referenced config_id
determines the delivery direction and owning site. Use occurred_at
for the real-world delivery timestamp.
Validation:
- For configs with
direction: incoming, the last leg'sreceiver_sitemust equal the config's site. - For configs with
direction: outgoing, the first leg'ssender_sitemust equal the config's site.
Root delivery config ID. The server resolves to the active config version. Discover available configs via the config list endpoint.
Transport segments. At least one leg is required. Each leg defines a sender → receiver pair with optional leg-level data points and transport emission log config.
1Payload containers. At least one required. Each container carries its own data points (e.g. weight gross, weight net, moisture). The server computes material contents from the data point values.
1Partner-assigned identifier. Must be unique within resource type
and organisation. Used for idempotency and ext- lookups.
Human-readable display identifier.
When the delivery occurred in the real world. ISO-8601 with
explicit UTC offset required. Defaults to the server timestamp
(created_at) if omitted.
Delivery-level data points (e.g. driver name, lot ID, scale ticket).
Complete set of file IDs to attach to this delivery when creating it or replacing it with PUT.
Response
Delivery created.
A delivery as returned in responses. Read the referenced delivery
config to determine whether it is incoming or outgoing. The config's
owning site is exposed as site.
Cula-assigned TypeID.
"dlv_01kqzcjrpxf27tge48sdha1emj"
Root delivery config ID. Determines the delivery's direction.
"dlc_01kqzcjrpyf27tgegxm6bxfdhb"
Resolved config version used at creation time.
"dcv_01kqzcjrpyf27tgej0x1ke3msk"
The site this delivery is recorded against. Derived from the
referenced delivery config. For incoming deliveries this equals
the last leg's receiver_site; for outgoing deliveries it equals
the first leg's sender_site.
Transport segments with resolved sender/receiver sites and data points.
Payload containers with resolved data points and computed material contents.
Delivery-level resolved data points.
IDs of files linked to this delivery.
[]When the record was created in Cula. See occurred_at for the real-world delivery time.
"2026-05-06T19:34:00Z"
"2026-05-06T19:34:00Z"
Partner-assigned external identifier.
"GC-DEL-N001016013"
Human-readable display identifier.
"GC-DEL-N001016013"
When the delivery occurred in the real world (sent for outgoing
deliveries, received for incoming deliveries). Distinct from
created_at, which is the time the record was registered with
Cula. Stored and returned in UTC.
"2026-05-01T20:42:00Z"