Create a project
For a project with spaces or timers, preview the request first:plan_hash as expected_plan_hash:
Create a timer
Z.
Safe retries
ForPOST, PATCH, and DELETE requests, send an Idempotency-Key header
when a script or agent might retry the same write. Reusing the same key with
the same method, path, query, and JSON body returns the original response for up
to 24 hours. Reusing it with a different request returns
idempotency_conflict.
Generate keys with a random UUID and an operation prefix, for example
timer-create-${crypto.randomUUID()}. Keep the same key only while retrying the
same logical write.
Errors
Errors use a predictable shape:error.type first and use error.message as supporting
detail. For automation, prefer error.code, error.retryable, and
error.errors[].path over message text.