Skip to main content
Spend budgets cap what Sorce can bill you, per window:
WindowResets
DAILYEvery UTC calendar day
WEEKLYMondays, UTC
MONTHLYThe 1st, UTC
LIFETIMENever
A budget either targets one job (set on the job itself) or your whole company (aggregate across every job, set in the dashboard’s Billing tab). No budget means unlimited. That’s the default; you remove a cap by clearing it, not by setting a sentinel value.

Setting a job budget

Budgets ride the job payload as a replace-set:
curl -X PATCH https://www.sorce.jobs/api/external/v1/jobs/{id} \
  -H "Authorization: Bearer sk_ext_..." \
  -H "Content-Type: application/json" \
  -d '{ "budgets": [{ "window": "MONTHLY", "budgetCents": 50000 }] }'
  • The array you send becomes the entire new set. Switching windows can never leave a stale cap behind.
  • "budgets": [] clears every cap (back to unlimited).
  • One budget per window; amounts are whole non-negative cents.

The over-billing guarantee

Budget enforcement happens in two layers:
  1. Serving stops. Once a window’s spend reaches the cap, the job stops being surfaced to candidates until the window resets.
  2. Billing refuses. If an application slips in after the window filled (e.g. sync lag), it is still delivered to you. The candidate is real, but the charge is skipped permanently and never appears on an invoice.
You may receive activity past the cap, but you won’t be charged past it.