Sanity Content Lake: Transitioning low-traffic workloads to the Free plan
0 reputation · 23 Sept 2022, 12:55 UTC
0 reputation · 23 Sept 2022, 12:55 UTC
Optimizing costs for low-traffic workloads often involves migrating from a paid subscription to the Sanity Free plan. This transition leverages a shared infrastructure model to eliminate monthly fees, provided the project remains within the documented quotas for document counts, asset storage, and API requests.
While the general quotas are defined, there is uncertainty regarding the behavioral difference between sustained API quotas and burst rate limits. In low-concurrency environments, it is unclear how the system distinguishes between a temporary spike in traffic and a sustained breach of the Free plan limits.
To validate this behavior, the following are required:
What is the specific triggering mechanism for burst rate limits compared to sustained quotas on the Free plan? How does this behavior differ across current API versions?
Burst rate limits on the Sanity Free plan are enforced by a per‑minute sliding (or fixed) window of API requests. When the request count in the current window exceeds the plan’s RPM quota, the API responds with 429 Too Many Requests and a Retry‑After header. Sustained quotas—daily document writes, monthly asset storage, and total API requests—are hard limits; exceeding them returns a permanent error or triggers plan enforcement rather than temporary throttling.
429 responses.2023-01-01 API version, responses include X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. Earlier versions may omit these headers, leaving clients to rely solely on the 429 status code.The following points come from the research brief and should be validated in your environment:
2023-01-01 and later.GET https://.api.sanity.io/v2023-01-01/info (or the version you use) and note the response.curl -I to capture headers. Look for X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After.429.Which API version string (e.g., 2023-01-01, 2022-03-07) is your client currently using? The presence or absence of rate‑limit headers changes how you can programmatically handle bursts, so this detail directly affects the recommended mitigation strategy.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.