Gzip responses (gzip_responses)
Roadmap: option-gzip-responses. Compress JSON/XML/text API bodies when the client asks for it. Cache stays uncompressed; gzip is serve-time only.
When it runs
- Explicit
CustomerOption(gzip_responses): is_enabled=true→ on (optional{"min_bytes": 1024, "level": 6})is_enabled=false→ off- Else Standard and Professional plans default on (
min_bytes=1024,level=6). - Lite / Free stay uncompressed unless the option is enabled.
Also required:
- Request
Accept-Encodingincludesgzip Content-Typeis JSON, XML, OData, ortext/*- Body is at least
min_bytes(default 1024) - Response is not already encoded
- Not applied to
/docs, OpenAPI, or webhooks
If gzip would make the body larger, x0 leaves it uncompressed.
Client
GET /odata/v1/Accounts
Authorization: Bearer x0_live_….secret
Accept-Encoding: gzip
Success headers include Content-Encoding: gzip, X-X0-Gzip: 1, and Vary: Accept-Encoding. Most HTTP clients (curl --compressed, httpx, browsers) decompress automatically.
Cost
options_available.cost_egress_bytes_est is negative (planning estimate: less wire bytes). Access logs record the compressed Content-Length when gzip ran.
Related
- Documentation index · Glossary
- odata.md · ai-agents.md
- customer-options.md
- excel-desktop.md — Excel usually does not send gzip; this option is for agents / integrations