Platform API error

quota_exceeded

quota_exceeded returns HTTP 429 when the day's call allowance and any call packs are used up, so new calls are refused until the 00:00 UTC reset or a call pack is added.

Updated November 6, 2026

HTTP status
429
Code
quota_exceeded
API
Platform API v1

Returned when

What to do

Example answer

HTTP/1.1 429
content-type: application/json

{
  "error": {
    "code": "quota_exceeded",
    "message": "Today's <n> calls are used. Add a call pack (from $9) to keep going now, or move to a larger plan."
  }
}

Related errors

What it means

quota_exceeded is the error the OneLifeVibe Platform API returns with HTTP status 429 when the day's call allowance is spent and no prepaid call pack has calls left. The request was understood and authorized; it was rejected because the account has no calls remaining in the current day.

This is a quota signal, not a rate limit on request speed. The related code rate_limited covers bursts of traffic; quota_exceeded means the day's total is gone. The daily allowance is 1,000 calls on Sandbox, 5,000 on Starter, 100,000 on Growth and 1,000,000 on Scale, and annual plans get 25% more.

The error comes back in the standard shape: an error object with code, message and hint. The message includes the number of calls used so far, for example: Today's <n> calls are used. Add a call pack (from $9) to keep going now, or move to a larger plan.

Why you are seeing it

The allowance counts every call your integration makes against the OneLifeVibe Platform API from 00:00 UTC to the next midnight UTC. Once that count reaches your plan's number and your prepaid call packs are empty, every further call for the rest of the day returns quota_exceeded.

Common causes are a job that runs more often than you planned, a retry loop that keeps firing on failures, or a test environment sharing the same key as production traffic. The code is stable, so you can detect it reliably; the message text is not stable, so do not parse it.

The counter resets at 00:00 UTC. If your work is not time-sensitive, waiting for the reset costs nothing and restores the full daily allowance on your current plan.

How to fix it

If you need to keep calling before midnight UTC, buy a call pack on the Billing tab of the OneLifeVibe console. Packs come in 25,000 calls for $9 and 250,000 calls for $49, are valid 365 days, and lift the quota at once, so the next call succeeds without a plan change. If this is a recurring pattern rather than a one-day spike, move to a larger plan; check the console for the plan that matches your volume.

The error response carries a Retry-After header counting the seconds to midnight UTC. Use it to schedule the next attempt instead of guessing, and hold off on any automated retries until then unless you have added a pack.

Before buying, it helps to confirm what is actually consuming the allowance: look for aggressive polling, retries that run on 4xx responses (which will not succeed on repeat), and any scheduled jobs that overlap.

Handling it in code

Match on error.code, not on the message. Parse the response body, read error.code, and compare it to the string quota_exceeded. Because codes are stable, this check keeps working as message wording changes.

When you see quota_exceeded, stop the current batch rather than retrying immediately. Read the Retry-After header, pause until that many seconds have passed or until a pack is added, then resume. Distinguish this from rate_limited, which is a short-term slowdown and is better handled with backoff, and from plan_required, which means the plan does not include the endpoint at all and retrying will never help.

Surface the hint field to whoever operates the integration, and log the call count you have consumed so billing changes are easy to trace. If your integration is user-facing, show a plain message that the API is unavailable until the daily reset rather than a raw error object.

Questions

What HTTP status does quota_exceeded return?

It returns HTTP 429. That status means the request was refused because the account has no calls left today, not because the request itself was malformed or unauthorized.

When does the OneLifeVibe Platform API quota reset?

It resets at 00:00 UTC. The Retry-After header on the error response counts the seconds to midnight UTC, so you can schedule the next attempt from that value.

How much does it cost to keep calling today after quota_exceeded?

A call pack of 25,000 calls costs $9 and a pack of 250,000 calls costs $49, valid 365 days, bought on the Billing tab of the console. The pack lifts the quota at once.

Keys, plans and usage live in the console: rotate keys, add webhook endpoints, see the last 30 days.

Open the console Plans

Written from the OneLifeVibe tool registry and platform configuration, and checked automatically before publishing. Something wrong? Tell us.