OpenAI spend alerts
How to get notified about OpenAI API spend before it surprises you
To get notified about OpenAI API spend before a surprise charge hits your card, set up project and organization spend alerts in your platform settings and configure an optional monthly reload limit on your prepaid balance. You can start with an initial credit purchase as low as $5, but because auto-reload is turned on by default with a $10 recommendation during setup, your credit card will keep getting billed automatically unless you adjust those thresholds.
Native spend alerts send emails when your usage crosses set dollar thresholds, but they do not stop API traffic on their own. If you want hard stops that actually prevent unexpected invoices, you have to combine those email notifications with enforced hard spend limits or managed prepaid balances.
How OpenAI prepaid billing and auto-recharge work
New OpenAI API accounts default to prepaid billing, which requires you to purchase credits before making API calls. If you already run an older account on monthly billing, you can still buy credits in advance, and those purchases simply offset your monthly invoice.
When you set up prepaid billing, OpenAI consumes any free promotional credits on your account before touching your purchased credits. Purchased credits expire after 1 year, and OpenAI does not extend expiration dates for purchased credits or grants. Furthermore, credits are non-refundable unless required by law or contract, though unused credits may qualify for a refund in cases of verified billing errors, confirmed unauthorized activity, or confirmed OpenAI service failures and incorrect account restrictions.
The initial credit purchase requires a minimum of $5, with a default prompt of $10. Your trust tier - which OpenAI calculates based on your overall usage and payment history - determines both the maximum credit balance your account can hold and the maximum recharge amount you can set.
Managing auto-reload settings
During prepaid setup, the 'Use auto-reload' option is switched on by default. If you keep it turned on without configuring constraints, OpenAI automatically charges your payment method whenever your credits dip below your set threshold.
If you leave auto-reload enabled, you configure three separate settings: the balance threshold that triggers a purchase, the target balance amount you want to restore your account to, and an optional monthly reload limit.
- The minimum automatic recharge amount is $5, while the maximum depends on your trust tier.
- Manual credit purchases do not count toward your optional monthly reload limit.
- If an automatic recharge would push your account past the remaining monthly limit, OpenAI only adds the remaining balance allowed, provided that amount meets the $5 minimum purchase rule.
- Once you hit that monthly limit, automatic recharges stop entirely until the calendar month rolls over.
- If an automatic payment fails, OpenAI sends an email notification, and API requests stop once your available credits run out.
Keep in mind that a recharge limit is not an API usage limit. It restricts how many automatic credit purchases can occur each month, not how quickly your running workloads can spend the credits you already have.
Setting spend alerts and hard limits
OpenAI provides monthly spend limits and alert notifications at two tiers: the organization level and the individual project level. An Organization Owner can configure both tiers and grant access to other team members to view usage data, while a Project Owner can manage project members, rename the project, configure project spend limits, and archive the project.
Alerts versus hard limits
A spend limit in OpenAI defaults to passive monitoring. By default, a spend limit only monitors spending without stopping requests, while spend alerts notify you by email when a threshold is reached without stopping traffic.
To turn a spend limit into a hard stop, you must explicitly enable the setting labeled 'Enforce a hard limit'. Once enforced, API requests begin failing after tracked spending hits that number. You can also review and implement these controls programmatically, as outlined in our walkthrough on how to set a hard spending limit on the OpenAI API.
For teams automating infrastructure, OpenAI provides dedicated Spend Alerts endpoints within its API Reference (listed under both Skills and Beta APIs) to create, retrieve, update, delete, and list spend alerts directly.
Alert recipients
When a project spend alert triggers, OpenAI automatically sends email notifications to all organization owners and project owners. If you want alerts to reach a shared operations inbox or an engineer who does not own the project, you must manually add their email addresses inside the alert settings panel.
Tracking costs across projects
Projects allow you to segment spending, API keys, service accounts, and model permissions. Organizations can create up to 2,000 projects by default, though you need the Organization Owner role to create them.
Every organization includes a Default project that cannot be deleted. It inherits the organization's full configuration, but you can assign it custom rate limits, virtual model permissions, and spend limits. When you break down usage activity by project, you can see which specific application, team, or internal tool is running up the bill.
OpenAI projects can never be permanently deleted; you can only permanently archive them. OpenAI keeps their entire history on file for billing and usage tracking. In addition to spend controls, each project receives a file storage quota of 100 GB.
The usage dashboard, delays, and negative balances
Relying purely on dashboard balances for immediate alerts has a catch: enforcement is not instantaneous.
After purchasing credits, it can take a few minutes for your balance to update. More importantly, when tracked spending reaches an enforced hard limit or your prepaid credits hit zero, API access does not shut down on the millisecond. Usage processed during this delay can slightly exceed your configured limit or push your prepaid balance into the negative.
When your prepaid account runs out of funds, API requests start returning errors with a distinct payload:
When a prepaid account runs out of credits, API requests fail with a billing error carrying the code credit_balance_exhausted, which indicates that the organization has no prepaid credits remaining.
If your account accumulates a negative credit balance during that processing lag, OpenAI deducts that negative amount from your next credit purchase. Because of this window, OpenAI's documentation explicitly advises that you should not rely on the prepaid balance as an instantaneous spending cutoff.
Your prepaid balance is also completely separate from request and token rate limits, the organization's approved monthly usage limit, and any enforced spend limits. If a payment is ever disputed or refunded, OpenAI removes an equivalent amount of credits from the account balance.
To see exact line-item breakdowns before monthly reconciliation, engineers often query the Usage API directly. It provides distinct endpoints for Audio speeches, Audio transcriptions, Code interpreter sessions, Completions, Costs, Decisions, Embeddings, File search calls, Images, Moderations, Vector stores, and Web search calls. When grouping usage data by api_source, the agents_api label tracks attributed Agents API tasks, while unlabeled covers all records without published attribution. You can read our technical guide on how to track OpenAI API costs programmatically with the Usage and Costs APIs for step-by-step query patterns.
Comparing OpenAI native spending controls
Because OpenAI separates credit purchases, tracking, and request throttles, it helps to review how each mechanism handles traffic and alerts:
| Control Feature | Configuration Scope | Stops Outgoing API Requests? | Notification Mechanism |
|---|---|---|---|
| Spend Alert | Organization or Project | No; requests continue uninterrupted | Email to org owners, project owners, and added recipients |
| Enforced Hard Limit | Organization or Project | Yes; requests fail after limit is reached (subject to slight delay) | API requests fail after tracked spending reaches the limit |
| Monthly Reload Limit | Organization (Prepaid) | No; only caps automatic card charges | Email sent if a recharge payment fails |
| Prepaid Balance Exhaustion | Organization (Prepaid) | Yes; requests return credit_balance_exhausted | Email notification sent if an auto-recharge payment fails |
Catching spikes across providers with Costbrake
OpenAI's built-in alerts help with static monthly budgets, but they do not catch sudden velocity spikes early in the day, nor do they notify channels like Slack or Discord. If a developer accidentally loops an API call or leaks an API key, waiting for a monthly threshold alert can cost hundreds of dollars before anyone checks their email.
Costbrake watches what you spend across cloud, AI, and SaaS platforms, connecting to 23 providers including OpenAI, Anthropic, Google Cloud (Gemini API and Vertex AI), Azure, AWS, and Cloudflare. It monitors spending hourly on the Free plan, every 5 minutes on Pro and Team, and speeds up to every minute during an active spike.
Rather than waiting for a single static limit, Costbrake triggers on practical thresholds:
- Spike alert: Fires when an hour costs more than 3x your usual hour (measured against a 7-day baseline) and is at least $5 higher than usual.
- Budget alerts: Notify at 50%, 80%, and 100% of your configured budget.
- Forecast alert: Warns you when your month-to-date spend plus your pace over the last 72 hours is projected to exceed your budget before month-end.
- New-charge alert: Detects when a new service first appears on your bill this month above $1.
Alerts route to email on every plan, Slack, Discord, and signed webhooks on Pro, and PagerDuty on Team.
When a spike occurs, Pro and Team plans include an optional, reversible killswitch called brakes. For OpenAI, an admin can click to confirm a brake that sets the project's or organization's monthly hard spend limit to $0.01. Once OpenAI enforces the change (usually within minutes), requests fail with a 429 status code (project_spend_limit_exceeded or organization_spend_limit_exceeded), preventing further billing run-up while you investigate. Brakes never trigger automatically, and they never delete resources.
Costbrake uses a Read only Admin key (prefixed with sk-admin-) to read the Usage and Costs APIs, meaning the key cannot invoke models or generate API keys. You can connect your environment manually or hand off the setup by telling your AI coding agent: "Set up Costbrake for me so I get alerted when my cloud and AI bills spike. Follow the instructions at https://costbrake.com/agent". Check out the agent setup documentation or review Costbrake pricing to compare flat-rate plans. You can also read our guide on how to monitor spend across OpenAI, Anthropic, Gemini and other AI APIs in one place.
Questions and answers
Does OpenAI send email alerts before charging my credit card?
If you have 'Use auto-reload' turned on, OpenAI automatically adds credits whenever your balance falls below your configured threshold, and sends you an email if a recharge payment fails. To get notified as your usage grows, configure spend alerts at the organization or project level.
What happens when my OpenAI prepaid credit balance hits zero?
Once your prepaid credits are exhausted, subsequent API requests will fail with a billing error containing the code credit_balance_exhausted. However, because enforcement is not instantaneous, requests processed during the cutoff window can create a negative balance that OpenAI deducts from your next purchase.
Can I get a refund for unused OpenAI API credits?
OpenAI API credits expire after 1 year and are generally non-refundable unless required by law or contract. Unused credits may only qualify for an approved refund exception in cases of verified billing errors, confirmed unauthorized account activity, or confirmed OpenAI service failures and incorrect restrictions.
Why did my OpenAI monthly invoice exceed my hard spend limit?
Enforcement of hard spend limits is not instantaneous. Because usage calculation and system enforcement involve a slight delay, requests processed immediately around the threshold can cause recorded spending to slightly exceed the limit you configured.
Can I delete an OpenAI project to permanently stop billing?
No, OpenAI projects cannot be deleted because OpenAI retains project history for usage and billing records. To stop spending on an individual project, an Organization Owner or Project Owner can permanently archive the project or configure its enforced hard spend limit to cap usage.
Sources
Updated