Requirements
Mandatory headers and formatting rules for clients
These requirements apply to every request. Non‑compliance can lead to throttling or blocking.
Mandatory
User-Agentheader on every request (format below)- Exponential backoff with full jitter for transient
HTTP 429/5xx(details: Retry & backoff) - No retries on
400/401/403/404(fix the cause instead)
User-Agent formatting
Pattern:
<App>/<Version> [<Library>/<Version>] [(optional platform hints)]Examples:
MyIntegration/1.0.0
MyIntegration/1.0.0 tibber-data-js/0.1.0 (node18; linux)
myapp/2.3.4 api-client/0.5.0 (dotnet; net8.0; linux-x64)
my-automation/1.2.3 (github.com/example/repo)Guidelines:
- Keep tokens simple (letters, digits, dashes)
- Bump the version on meaningful changes
- Optional platform hints help correlate problems with 3rd party components
Next: Rate limiting or jump to Retry & backoff.
