Skip to main content

Your Zendesk API Budget: How and When Qvasa Calls Your Zendesk

Your Zendesk API Budget: How and When Qvasa Calls Your Zendesk

Qvasa reads your data from Zendesk through the Zendesk API: ticket audits, tickets, users, routing and queues, Talk and more. Zendesk caps how many API requests your Zendesk account can make each minute, and every app and integration you have connected shares that cap. The Zendesk API budget is the share of it Qvasa keeps to.

Settings → Zendesk API Budget is where you set that number, and it shows every request Qvasa made to your Zendesk in the last 8 hours: minute by minute, endpoint by endpoint, against your budget. This article explains how the budget works, how to read the page, and how to choose a number.


Before you start

  • Account admins see the page and set the budget.

  • Budget tracking must be switched on for your account. If there is no Zendesk API Budget card in Settings, contact us and we'll turn it on. Counting starts the moment it's on, so the history fills in over the following 8 hours.

  • Know your Zendesk plan's limit. Zendesk sets the per-minute limit by plan and add-ons (see Zendesk's rate limits page). Your Qvasa budget should sit below it, leaving room for your other apps.


How the budget works

Three rules decide every number on the page.

1. Every request counts. Every request Qvasa makes to your Zendesk is counted in the minute it happens: ticket audits, ticket and user lookups, routing and queue polling, Talk, workforce management, webhooks and sign-in token refreshes. Each attempt counts, including a retry Zendesk asked for, because Zendesk counts it too.

2. Ticket audit pulls can wait. Audits (the history of every change on a ticket) are most of Qvasa's traffic, and they are the one call Qvasa can hold. Once a minute reaches your budget minus 20, no new audit pull starts until the next minute. A ticket whose audits are already being read finishes. Held tickets wait in a queue that holds each ticket once, so nothing is lost or pulled twice; those tickets just reach your dashboards a little later.

3. Everything else runs regardless. Live polling, syncs, webhooks and Talk can't be postponed without losing data, so they run when they're due. The 20 requests a minute between the audit threshold and the budget are kept for them. When they need more than that, the minute goes over the budget. That's why it's a soft budget: a minute above it is made only of calls that couldn't wait.

If Zendesk itself answers "too many requests" (because your other apps used the shared limit), Qvasa waits as long as Zendesk asks, at least a minute, before trying again.


Set your budget and read the page

Step 1. Open the page. Go to Settings and click Zendesk API Budget. The card shows your current budget.

Step 2. Set the budget. Enter the number of Zendesk API requests per minute Qvasa may use and click Update Budget. The allowed values are 70 to 2000, or 0 to turn the budget off (when it's off, nothing is counted and the page has no usage to show).

The strip under the form sums up the last 8 hours:

  • Budget: your number, in requests per minute.

  • Audit pulls wait at: the budget minus 20.

  • This minute: requests so far in the current minute, and the total for the last hour.

  • Last 8 hours: the total, and the busiest minute.

  • Minutes over budget: minutes where calls that couldn't wait took the count over the budget.

  • Minutes pulls waited: minutes where audit pulls were held to the next minute.

Step 3. Read the chart. Requests per minute, last 8 hours plots every minute against two lines: the red line is your budget, the dashed line is where audit pulls wait.

  • Under the dashed line: everything ran on time.

  • Between the dashed and the red line: audit pulls waited while other calls used the buffer.

  • Above the red line: calls that couldn't wait went over the budget.

Step 4. See which endpoints Qvasa called. By endpoint lists every Zendesk endpoint Qvasa called for your account, with ticket and user ids collapsed so each kind of call is one row (GET /api/v2/tickets/:id/audits). Each row shows its family, whether the budget can hold it (Can wait or Runs regardless), the requests in the last hour and the last 8 hours, its share of the total and its busiest minute. Click a family chip to filter, or a column header to sort.

Step 5. Export it. Export per minute (CSV) gives one row per minute: the requests, the budget, the audit threshold, and whether the minute was over budget. Export per minute and endpoint (CSV) breaks each minute down by endpoint. Minutes in both exports, and on the page, are in UTC.


Choosing a number

  • Start from your Zendesk limit and subtract what your other apps and integrations need. What's left is the most Qvasa should use.

  • A budget that's too low delays your data. If Minutes pulls waited climbs all day, audit pulls are queuing and your dashboards fall behind. Raise the budget if your Zendesk limit allows it.

  • A budget near your limit leaves no room for your other apps' busy moments. Keep some headroom below Zendesk's limit.

  • Use the By endpoint table and the exports to see where Qvasa's traffic goes before you change anything.


Troubleshooting

  • I don't see a Zendesk API Budget card in Settings. Budget tracking isn't on for your account, or you aren't an account admin. Contact us to turn it on.

  • The page says nothing is counted yet. The budget is 0 (off). Set a budget between 70 and 2000.

  • A minute went over my budget. That's expected now and then: those minutes are made of calls that couldn't wait (polling, syncs, webhooks, Talk). Audit pulls never take a minute over the budget.

  • Will held audit pulls lose data? No. Each held ticket waits in the queue once and is pulled in a later minute.

  • "Usage is temporarily unavailable." The counts couldn't be read for a moment. Your budget is still in force and you can still change it; reload in a few minutes.

Did this answer your question?