Idempotency
Every logistics write requires Idempotency-Key. Persist one key per logical shipment operation.
If a network timeout occurs, retry the identical material request with the same key. ErgOps returns the same logical result without creating another transport, calculation, usage event or webhook event. Reusing the same key with a different payload returns 409 IDEMPOTENCY_KEY_REUSED.
Idempotency state is stored durably and survives service restarts, deployments and client retries. Only a normalized fingerprint and minimum identifiers are retained; the API request body is not duplicated in the idempotency ledger.