Skip to main content
POST
Create prechain 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.

Headers

Idempotency-Key
string

Optional client-generated key (e.g. a UUID) that makes a create idempotent — the only mechanism that does so. A replay carrying the same key returns the original response unchanged (200); reusing a key with a different request body is rejected with 409. Keys are scoped to your manufacturer and retained for 6h. See External IDs.

Body

application/json
product_instance_id
string<uuid>
required

UUID of the product instance used as the upstream input. Create via POST /v2/product-instances, or resolve your code with GET /v2/product-instances?external_id=….

plant_id
string<uuid>
required

UUID of the plant that consumes this input.

external_id
string | null

Your own code for this prechain product. Optional, and unique among your active prechain products. See External IDs.

transport_route
object | null

Transport distances from where the product is made to the consuming plant, one per modality (km). Optional.

Response

Returned unchanged — an Idempotency-Key replay.

An existing product instance used as an upstream ("prechain") input at one of your plants, with an optional transport route and its per-kg impacts.

id
string<uuid>
required
external_id
string | null
required

Your own code for this prechain product, or null if none.

product_instance_id
string<uuid>
required

UUID of the product instance used as the input.

plant_id
string<uuid>
required

UUID of the consuming plant.

transport_route
object | null
required

Transport distances to the consuming plant, one per modality (km).

impacts_per_kg
object[] | null
required

Characterized impacts of the input per kg. Null until computed.

transport_impacts_per_kg
object[] | null
required

Transport-only impacts per kg. Null until computed.