Production API
Polling, retries, and idempotency
Retry safely, respect Retry-After, and stop polling only when both final flags are true.
On this page
Rentron does not send webhooks or callbacks. GET /v1/energy/orders/{id} is the source of truth.
Recommended polling
After creation, poll Location after 1, 2, 5 seconds, then every 10 seconds. Add small jitter when tracking many orders concurrently.
Stop only when lifecycle_final === true and delivery_final === true.
Retry matrix
| Result | Action |
|---|---|
| Network error / GET timeout | Retry with backoff. |
| Order POST timeout | Replay the exact body and client_request_id. |
429 |
Wait the seconds specified by Retry-After. |
500 / 503 on GET |
Retry with backoff and jitter. |
400, 413, 415 |
Fix the request; automatic retry cannot help. |
401 |
Fix the credential, signature, timestamp, or IP allowlist. |
409 idempotency conflict |
Stop and investigate reused client IDs. |
Why there are two flags
delivery_final finishes the delivery attempt; lifecycle_final finishes the rental duration. After successful delivery, an order can remain active until rental_finished. Checking one flag or one status leads to premature completion.
Rate limits
Limits are applied separately to public time, authenticated traffic, and order creation. Do not guess limit values; treat 429 and Retry-After as the contract.
Rentron