EmailmoversMyDataHub docs
Browse the docs

Errors

Platform

The agent key budget does not cover this spend

agent-budget-exceeded: HTTP 403. Keep the machine quote_id and ask the key owner to approve it at approval_url, or top up at top_up_url.

Generated from the contractsView as Markdown

agent-budget-exceeded is returned with HTTP status 403. Its type URI is https://emailmovers.com/mydatahub/docs/errors/agent-budget-exceeded.

What it means

An agent key's per-order cap or monthly budget does not cover the spend. No order was created. The key owner is told only when the key has a webhook_url and an endpoint is registered at that exact URL, so the notice can be signed.

The limits are checked before the balance, so an agent over its cap sees this even when the balance is also short.

What to do

Keep the machine quote_id and ask the key owner to approve it at approval_url, or top up at top_up_url.

Members it adds

Beyond type, title, status, detail, code and next_step, this problem carries budget, per_order_max_credits, quote_id, credits_required, approval_url and top_up_url. They are published in the AgentBudgetProblem schema of the OpenAPI document.

Example

{
  "type": "https://emailmovers.com/mydatahub/docs/errors/agent-budget-exceeded",
  "title": "The agent key budget does not cover this spend",
  "status": 403,
  "code": "agent-budget-exceeded",
  "detail": "The order needs 5,000 credits and the key has 800 left this month.",
  "next_step": "Keep the machine quote_id and ask the key owner to approve it at approval_url, or top up at top_up_url.",
  "budget": {
    "monthly_credits": 1000,
    "spent": 200,
    "remaining": 800,
    "resets_at": "2026-10-01T00:00:00Z"
  },
  "per_order_max_credits": 500,
  "quote_id": "qte_01JB4M2R6T1Y5W8ZAK8Q2V7XN3",
  "credits_required": 5000,
  "approval_url": "https://mydatahub.emailmovers.com/quotes/qte_01JB4M2R6T1Y5W8ZAK8Q2V7XN3/approve",
  "top_up_url": "https://mydatahub.emailmovers.com/billing/top-up"
}

See also

All problem types are listed on Errors.