Skip to main content
POST
Create a material batch

Authorizations

Authorization
string
header
required

OAuth 2.0 client credentials. Exchange your client_id and client_secret for an access token scoped to the organisation that provides data access.

Headers

Cula-Organisation-Id
string
required

ID of the organisation the request operates on behalf of (e.g. org_...). Must be an organisation the API client has access to.

Example:

"org_01k83mfmhgchya944v86ryvhpq"

Body

application/json
site
object
required

The site that owns the batch; must be the site of config_id. Reference it either by its ID or by its external ID, but not both.

config_id
string
required

The batch config to create the batch from; its active version applies.

Example:

"mbtc_01kdpna98wj3apgan3j36w499h"

material
object
required

The one material this batch describes; must be selectable for the config and cannot be changed later.

display_id
string

Human-readable identifier. Must be unique per site. Omit to assign it later via PATCH /material-batches/{id} — it is required for locking the batch.

Maximum string length: 100
Example:

"ba-de-146-1-1"

data_points
object[]

Values for data points of the batch config. Batches are created as drafts, so values are optional at creation.

Maximum array length: 100
validity_period
object

Required for day-based and time-based configs; must be omitted when the config does not track validity periods.

Response

The created material batch.

id
string
required

Unique identifier of the material batch.

Example:

"mbt_01kjpyrpv5ffa8d2kqmgcqf2r6"

display_id
string
required

Human-readable identifier, unique per site.

Example:

"ba-de-146-1-1"

site
object
required

The site that owns the batch.

status
enum<string>
required

Lifecycle status. draft batches are still editable, locked batches are read-only but can be changed back to draft, submitted batches have at least one submitted sink and are final.

Available options:
draft,
locked,
submitted
Example:

"locked"

config_id
string
required

The batch config the batch was created from.

Example:

"mbtc_01kdpna98wj3apgan3j36w499h"

config_version_id
string
required

Config version the batch was created with.

Example:

"mbtcv_01kgqrbj1xy7xebdf9easfa0wp"

created_at
string<date-time>
required

Time the batch was created.

Example:

"2026-05-06T19:34:00Z"

material
object
required

The one material this batch describes; fixed at creation.

validity_period
day_based · object
required

The variant follows the batch config: day-based configs return start_day/end_day, time-based configs start_time/end_time. Null if the config does not require a validity period.

files
object[]
required

Files attached to the batch.

data_points
(short_text · object | long_text · object | multi_text · object | number · object | percentage · object | amount · object | timestamp · object | duration · object | boolean · object | material · object | material_batch · object | container_type · object | material_pool · object)[]
required

Data points recorded on the batch.

Data point holding a single line of text.