Idempotency
Every mutating request to /v1/ (POST, PATCH, DELETE) accepts an
Idempotency-Key header. Replays of the same key within 24 hours return the
original response; the side effect happens at most once.
The official Python SDK auto-generates a UUID v4 idempotency key on every mutating request. To override (e.g. when retrying from your own job queue):
client.simulations.create(
project_id="proj_xxx",
motor="comp_motor_xxx",
propeller="comp_prop_xxx",
battery="comp_batt_xxx",
idempotency_key="job-42-attempt-3",
)If the same key is replayed with a different request body, the API returns
HTTP 409 with type idempotency_error and code
idempotency_key_reused_with_different_body. Choose keys that uniquely
identify the logical operation.
Keys longer than 255 characters are rejected with HTTP 400 and code
idempotency_key_too_long.