Skip to main content
PUT
Update supplier product

Authorizations

X-API-Key
string
header
required

Per-manufacturer API key in the X-API-Key header, format emidat-{key_id}-{secret} where key_id is a random public handle. Issued by an owner in the Emidat dashboard; carries its own permission scopes, optional plant restrictions, and optional expiry. A revoked, expired, or unknown key returns 401. See the Authentication guide for details.

Path Parameters

id
string<uuid>
required

UUID of the supplier product to update.

Body

application/json

Full replacement of editable fields. Every editable field is required and overwrites the stored value. Nullable fields accept null to clear them; hazardous_substances accepts []. The immutable identity fields may be omitted or echoed from the current resource.

external_id
string | null
required

Your own code for this supplier product. Overwrites the stored code; pass null to clear it. Must stay unique among your active supplier products — a code held by another returns 409 (see External IDs).

Example:

"CEMENT-SUPPLIER-DE-001"

name
string
required

Name of the supplier product.

Example:

"Portland Cement CEM I 42.5 R"

supplier_plant_id
string<uuid> | null
required

UUID of the supplier plant. Create via POST /v2/supplier-plants. Pass null to clear.

transport_route
object | null
required

Replaces the transport route — distances from the supplier plant to your gate, one per modality (km). Pass null to clear.

epd_id
string<uuid> | null
required

EPD UUID linked to this supplier product. Pass null to remove.

hazardous_substances
object[]
required

Hazardous substances in this material, each by CAS number and mass share. Replaces the full list; send [] for none.

lifetime_years
number | null
required

Expected service life in years. Pass null to clear.

secondary_percentage
number | null
required

Share of secondary (recycled) content, 0–100. Pass null to clear.

moisture_content_percentage
number | null
required

Moisture content as a percentage. Pass null to clear.

id
string<uuid>

Optional assertion of the resource ID. It must match the path id.

plant_id
string<uuid>

Optional assertion of the current plant. A different value returns 422.

material_type
object

Optional assertion of the current material type. A different value returns 422.

Response

Updated supplier product.

id
string<uuid>
required
external_id
string | null
required

Your own code for this supplier product, as provided on creation.

name
string
required
Example:

"Portland Cement CEM I 42.5 R"

material_type
object
required

What this supplier product is made of — an Emidat elementary or a composite, by reference. Discriminated by category. Resolve a composite_id with GET /v2/composites/{id}.

plant_id
string<uuid>
required

The plant's Emidat UUID.

supplier_plant_id
string<uuid> | null
required

UUID of the supplier plant this material is sourced from. Resolve it with GET /v2/supplier-plants/{id}.

transport_route
object | null
required

Transport distances from the supplier plant to your gate, one per modality (km).

epd_id
string<uuid> | null
required
hazardous_substances
object[]
required

Hazardous substances in this material, each by CAS number and mass share.

lifetime_years
number | null
required
secondary_percentage
number | null
required
moisture_content_percentage
number | null
required
unit
enum<string>
required
Available options:
M,
M2,
M3,
KG,
T,
L,
KWH,
MJ,
UNIT,
METRIC TON*KM
Example:

"KG"

impacts_per_kg
object[] | null
required

Characterized cradle-to-gate impacts of this supplier product per kg. Null until computed.

transport_impacts_per_kg
object[] | null
required

The transport portion of this product's impacts per kg. Null until computed.

secondary_datasets
object[] | null
required

Background datasets used to compute the impacts.

created_at
string<date-time>
required