Skip to main content
POST
Create silo

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

Example:

"Cement Silo 1 (Munich)"

items
object[]
required

Supplier products that constitute this silo — at least 1, all the same material type (see SiloItem), at this silo's plant, with no duplicates.

Minimum array length: 1
external_id
string | null

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

Example:

"CEMENT_SILO_MUNICH_1"

Response

Returned unchanged — an Idempotency-Key replay.

id
string<uuid>
required

Emidat-assigned silo UUID.

external_id
string | null
required

Your own code for this silo, null when none is set. BOM entries reference it by its Emidat id, not this code.

Example:

"CEMENT_SILO_MUNICH_1"

plant_id
string<uuid>
required

The plant's Emidat UUID.

name
string
required

Human-readable silo name.

Example:

"Cement Silo 1 (Munich)"

items
object[]
required

Supplier products constituting this silo, with yearly purchase volumes.

created_at
string<date-time>
required