Skip to main content
PUT
/
v1
/
material-application
/
{id}
Replace a material application step
curl --request PUT \
  --url https://api.cula.tech/tracking/v1/v1/material-application/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "config_id": "<string>",
  "site": {
    "id": "ste_01kqzcjrpyf27tge6smsbnhkh5"
  },
  "executed_at": "2023-11-07T05:31:56Z",
  "external_id": "<string>",
  "display_key": "<string>",
  "data_points": [],
  "file_ids": [],
  "input": [
    {
      "data_points": [
        {
          "config_id": "dpc_01kqzcjrpyf27tgeq6a84z0yhy",
          "input_value": {
            "value": 47079.76,
            "unit": "lb"
          }
        }
      ]
    }
  ]
}
'
{
  "id": "stp_01kqzcjrpxf27tge33jwvjhkff",
  "config_id": "stc_01kqzcjrpyf27tgeeekpvvx0zt",
  "config_version_id": "scv_01kqzcjrpyf27tgefhb58rc9d4",
  "site": {
    "id": "<string>",
    "external_id": "<string>"
  },
  "executed_at": "2026-05-01T19:30:00Z",
  "data_points": [
    {
      "config_id": "dpc_01kqzcjrpyf27tgeq6a84z0yhy",
      "config_version_id": "dpv_01kqzcjrpyf27tgerf3nqreg37",
      "name": "Weight net",
      "input_value": {
        "value": 47079.76,
        "unit": "lb"
      },
      "value": {
        "value": 21353.12,
        "unit": "kg"
      }
    }
  ],
  "file_ids": [],
  "created_at": "2026-05-06T19:34:00Z",
  "updated_at": "2026-05-06T19:34:00Z",
  "input": [
    {
      "id": "mct_01kqzcjrpyf27tgenyy2stmy5z",
      "data_points": [
        {
          "config_id": "dpc_01kqzcjrpyf27tgeq6a84z0yhy",
          "config_version_id": "dpv_01kqzcjrpyf27tgerf3nqreg37",
          "name": "Weight net",
          "input_value": {
            "value": 47079.76,
            "unit": "lb"
          },
          "value": {
            "value": 21353.12,
            "unit": "kg"
          }
        }
      ],
      "contents": [
        {
          "material": {
            "id": "mat_01kqzcjrpyf27tge9dnvsqv8t2",
            "external_id": "corn-no2-yellow"
          },
          "weight_in_kg": 21353.12
        }
      ]
    }
  ],
  "external_id": "GC-HARVEST-2026-001",
  "display_key": "GC-HARVEST-2026-001",
  "location": {
    "lat": 46.8797,
    "long": -102.7903,
    "street": "100 Industrial Parkway",
    "city": "Richardton",
    "postcode": "58652",
    "country": "United States",
    "country_code": "US"
  }
}

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

Authorization
string
header
required

API key passed as a Bearer token. Keys are scoped to one organisation and a set of permitted sites. Two keys per scope (primary + secondary) are issued to support zero-downtime rotation.

Authorization: Bearer <api-key>

Path Parameters

id
string
required

Cula-assigned resource ID in TypeID format (e.g. stp_01kqzcjrpxf27tge33jwvjhkff). Alternatively, pass your external ID prefixed with ext- (e.g. ext-MY-STEP-001). The ext- prefix is unambiguous because TypeIDs use _ separators and never start with ext-.

Body

application/json

Request body for creating a material application step.

config_id
string
required

Root step config ID. The server resolves to the active config version. Discover available configs via the config list endpoint.

site
object
required

The site where the step was executed.

Example:
{ "id": "ste_01kqzcjrpyf27tge6smsbnhkh5" }
executed_at
string<date-time>
required

When the step was executed. ISO-8601 with explicit UTC offset required. Offset-less timestamps are rejected with 422.

external_id
string

Partner-assigned identifier. Must be unique within resource type and organisation. Used for idempotency and ext- lookups.

display_key
string

Human-readable display identifier.

location
object

Optional override location. Set this if the step was executed at a different physical location than the site (e.g. a remote field or temporary storage). Cula uses the distance to attribute additional transport emissions automatically.

data_points
object[]

Step-level data points.

file_ids
string[]

IDs of files to link to this resource.

input
object[]

Input material containers (consumed). At least one required. For example, CO2 being injected into geological storage.

Minimum array length: 1

Response

Material application step replaced.

A material application step execution as returned in responses.

id
string
required

Cula-assigned TypeID.

Example:

"stp_01kqzcjrpxf27tge33jwvjhkff"

config_id
string
required

Root step config ID.

Example:

"stc_01kqzcjrpyf27tgeeekpvvx0zt"

config_version_id
string
required
read-only

Resolved config version used at creation time.

Example:

"scv_01kqzcjrpyf27tgefhb58rc9d4"

site
object
required

A resolved resource reference as returned in responses.

executed_at
string<date-time>
required

When the step was executed. Stored and returned in UTC.

Example:

"2026-05-01T19:30:00Z"

data_points
object[]
required

Step-level resolved data points.

file_ids
string[]
required

IDs of linked files.

Example:
[]
created_at
string<date-time>
required
read-only
Example:

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

updated_at
string<date-time>
required
read-only
Example:

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

input
object[]
required

Input material containers with resolved data points and computed contents.

external_id
string | null

Partner-assigned external identifier.

Example:

"GC-HARVEST-2026-001"

display_key
string | null

Human-readable display identifier.

Example:

"GC-HARVEST-2026-001"

location
object

Override location. If the step was executed at a different physical location than the site, this field captures those coordinates. Cula attributes additional transport emissions for the distance between the site and this location.