Idempotency
Retries are safe when you say which request you mean.
Send Idempotency-Key (8 to 128 characters: letters, digits, _ - . :) on a POST that creates something. The first call claims the key and stores its answer for 24 hours. A repeat with the same key and body replays the stored answer with Idempotent-Replayed: true and the same status. A repeat with a different body answers 409 IDEMPOTENCY_KEY_REUSED. A repeat while the first call is still running answers 409 IDEMPOTENCY_KEY_IN_PROGRESS; a claim whose caller vanished is reclaimable after a minute. Keys are scoped to the workspace and environment.
curl https://api.taxpio.com/v1/tax/calculations \
-H "Authorization: Bearer tp_test_…" \
-H "Idempotency-Key: order-8812-t1" \
-H "Content-Type: application/json" \
-d '{"jurisdiction":"CA","program":"T1","tax_year":2026,"inputs":{…}}'