What it means
same key, the original request is still running; retry_after_sec: 1.
How to handle it
Wait for retry_after_sec and resend the identical request with the same idempotency key.
Wire contract
| Code | idempotency_in_progress |
|---|---|
| Class | conflict |
| HTTP status | 409 |
| Meta keys | None |
| Raised | Yes |
The response uses the standard {"error": {…}} envelope. Branch on error.code, not the human-readable message. Preserve request_id when reporting a failure.