Skip to main content
GET
/
material-sourcing-configs
/
{id}
/
versions
/
{version_id}
Get a specific config version
curl --request GET \
  --url https://api.demo.cula.earth/tracking/v1/material-sourcing-configs/{id}/versions/{version_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Cula-Organisation-Id: <cula-organisation-id>'
{
  "id": "scv_01kqzcjrpyf27tgefhb58rc9d4",
  "config_id": "stc_01kqzcjrpyf27tgeeekpvvx0zt",
  "next_version_id": null,
  "name": "Corn Harvest",
  "published_at": "2026-01-15T08:00:00Z",
  "data_point_configs": [
    {
      "id": "dpc_01kqzcjrpyf27tgeu1hkzm2wxp",
      "name": "Lot number",
      "type": "short_text",
      "is_mandatory": true,
      "accepts_input": true
    },
    {
      "id": "dpc_01kqzcjrpyf27tgeu3a94z1yhz",
      "name": "Supplier name",
      "type": "short_text",
      "is_mandatory": false,
      "accepts_input": true
    },
    {
      "id": "dpc_01kqzcjrpyf27tgeu5b05a2cbs",
      "name": "Moisture content",
      "type": "percentage",
      "is_mandatory": false,
      "accepts_input": true,
      "validation": {
        "min": 0,
        "max": 0.5
      }
    }
  ],
  "output_config": {
    "id": "mcc_01kqzcjrpyf27tgeunzz3utny6z",
    "name": "Corn Output",
    "data_point_configs": [
      {
        "id": "dpc_01kqzcjrpyf27tgeu7c16b3dct",
        "name": "Weight gross",
        "type": "amount",
        "is_mandatory": true,
        "accepts_input": true,
        "amount_base": "weight"
      },
      {
        "id": "dpc_01kqzcjrpyf27tgeu9d27c4edu",
        "name": "Weight net",
        "type": "amount",
        "is_mandatory": true,
        "accepts_input": false,
        "amount_base": "weight"
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

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

Cula-Organisation-Id
string
required

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.

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-.

version_id
string
required

Config version ID.

Response

Config version with inline data point configs and output container config.

A published version of a material sourcing config with inline data point configs and output container config.

id
string
required

Config version ID.

Example:

"scv_01kqzcjrpyf27tgefhb58rc9d4"

config_id
string
required

Parent config ID.

Example:

"stc_01kqzcjrpyf27tgeeekpvvx0zt"

name
string
required

Human-readable name of this config version.

Example:

"Corn Harvest"

published_at
string<date-time>
required

When this version was published.

Example:

"2026-01-15T08:00:00Z"

data_point_configs
object[]
required

Step-level data point configs. Use these id values as config_id in the top-level data_points array when creating a step.

output_config
object
required

Output container config. Describes the data points expected on each output container in output_containers[].data_points.

next_version_id
string | null

ID of the next version in the chain. Null if this is the active (latest published) version.

Example:

null