Set organization spending limit
Sets the monthly spending limit for the specified organization.
PUT /organizations/{org_id}/billing/spending_limitbeta
Sets the monthly spending limit for the specified organization. To remove a previously configured limit, send a DELETE request to this endpoint. When a limit is configured, email notifications are sent at 80% and 100% of the limit. Computes are not suspended when the limit is reached. Available to organization admins on Launch and Scale plans only.
curl "https://console.neon.tech/api/v2/organizations/$ORG_ID/billing/spending_limit" \
-X PUT \
-H "Authorization: Bearer $NEON_API_KEY"Also available in
import { createNeonClient, raw } from '@neon/sdk';
const neon = createNeonClient({ apiKey: process.env.NEON_API_KEY });
const { data } = await raw.setOrganizationSpendingLimit({
client: neon.client,
path: {
org_id: process.env.ORG_ID
}
});Console path: Organization → Billing → Spending limit
Parameters
Section titled “Parameters”Organization
org_id
string
The Neon organization ID
Request body
Section titled “Request body”1 required Required: spending_limit_cents.
Spending limit cents
spending_limit_cents
integer
Monthly spending cap in cents. Must be positive. To remove a previously configured limit, send a DELETE request to the spending_limit endpoint — 0 and null are rejected here. The cap is alert-only: notifications fire at 80% and 100%, but computes are not suspended. Setting a cap below the period's already-accrued spend is permitted and will trigger the over-limit notification on the next worker run.
min: 1
Response
Section titled “Response”200
The updated spending limit value.
Depth
"spending_limit_cents": (integer),reqint64
Errors
Section titled “Errors”default
General error
This endpoint can return the standard Neon API error response.
Response fields
messageRequired. Human-readable error message.codeRequired. Machine-readable error code.request_idOptional. Request identifier for debugging. You can provide one with theX-Request-IDheader.
Retry guidance
If no response is returned, the request may still have reached the server. This is why retry safety depends on the method and status code.
Idempotent methods (GET, HEAD, OPTIONS) are generally safe to retry after a network error or timeout. Non-idempotent methods (POST, PATCH, DELETE, PUT) can change state, so avoid automatic retries unless your workflow can tolerate duplicate effects.
Responses with 423 Locked or 503 Service Unavailable are safe to retry. 423 Locked means the resource is temporarily locked, usually because another operation is in progress.