Skip to main content
POST
Create composite

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
plant_id
string<uuid>
required

The plant's Emidat UUID.

name
string
required

Human-readable composite name. Must be unique among your active composites at this plant; a duplicate returns 409.

Example:

"Blended Cement Mix A"

composite_type
enum<string>
required

Composite category. Every material in the composite must belong to a material type allowed for this category.

Available options:
chemicals,
plastics,
electronics,
facing_layers,
glass,
fittings,
resins,
plastics_metal,
mechanical_composites,
glass_chemicals,
glass_carbon_reinforced_polymers,
masterbatches,
processed_plastics,
fabrics,
furniture_component
items
object[]
required

Materials that constitute this composite — at least 2, no duplicates. Percentages across all entries must sum to exactly 100. Every material must be allowed for the composite_type.

Minimum array length: 2
external_id
string | null

Your own composite code. Optional. When provided it is unique among your active composites — creating another with the same code returns 409 (see External IDs).

Example:

"BLENDED_CEMENT_MIX_A"

Response

Returned unchanged — an Idempotency-Key replay.

id
string<uuid>
required

Emidat-assigned composite UUID.

external_id
string | null
required

Your own code for this composite, null when none is set. Supplier products reference the composite by its Emidat id; BOM entries reference those supplier products, not the composite directly.

Example:

"BLENDED_CEMENT_MIX_A"

plant_id
string<uuid>
required

The plant's Emidat UUID.

name
string
required

Human-readable composite name.

Example:

"Blended Cement Mix A"

composite_type
enum<string>
required

Composite category. Every material in the composite must belong to a material type allowed for this category.

Available options:
chemicals,
plastics,
electronics,
facing_layers,
glass,
fittings,
resins,
plastics_metal,
mechanical_composites,
glass_chemicals,
glass_carbon_reinforced_polymers,
masterbatches,
processed_plastics,
fabrics,
furniture_component
items
object[]
required

Ingredients constituting this composite, with percentages summing to 100.

created_at
string<date-time>
required