---
title: "Usage alert thresholds and opt-in overage with its spend cap"
method: GET
path: "/v1/organizations/{organization_id}/spend-policy"
tags: ["Usage and spend"]
---

# Usage alert thresholds and opt-in overage with its spend cap

`GET /v1/organizations/{organization_id}/spend-policy`

## Request

- Base URL: `https://api.shardflux.dev`
- URL: `https://api.shardflux.dev/v1/organizations/{organization_id}/spend-policy`
- Auth: HTTP bearer

Alert thresholds, and whether overage is available, on, off or paused, with the spend cap, its bounds and the rates. Overage is off by default; owners and billing members change it with the PUT (the console on /api/v1, or a CLI session on /v1; project API keys are refused).

## Path parameters

- `organization_id` string, uuid, required

## Response `200`

Default Response

- object
  - `organization_id` string, uuid, required: UUIDv7, lowercase canonical form.
  - `alert_thresholds` integer[], required: Percentages of each allowance that send a usage email to owners and billing members.
  - `overage` string, nullable, required: The plan's overage policy: disabled | opt_in | enabled; null without a plan.
  - `overage_available` boolean, required: The plan offers opt-in overage and the organization pays for it with a subscription, so overage can be turned on.
  - `overage_enabled` boolean, required: Overage is turned on (off by default).
  - `overage_state` union, required: unavailable: overage_available is false. off: available, not turned on. on: in effect up to the spend cap. paused: turned on, but a plan invoice is past due, so it behaves as off until the invoice is paid.
    - 'unavailable'
    - 'off'
    - 'on'
    - 'paused'
  - `spend_cap_minor` integer, nullable, required: The configured spend cap per billing period, minor units of `currency`. Null: never set.
  - `spend_cap_max_minor` integer, nullable, required: The largest cap that can be set: the current plan price. Null when overage is unavailable.
  - `spend_cap_min_minor` integer, required: The smallest cap that can be set (100 = $1).
  - `rates` object[], required: Overage rates of the organization's plan grant. Empty when the plan has none.
    - `allowance` union, required: The allowances overage covers (gpu_hours on plans with a GPU-hour rate). Storage and transfer never accrue overage.
      - 'ram_gib_hours'
      - 'cpu_hours'
      - 'gpu_hours'
    - `unit` union, required: gib_hours for ram_gib_hours, hours for cpu_hours (CPU-hours) and gpu_hours (GPU-hours).
      - 'gib_hours'
      - 'hours'
    - `amount_minor_per_unit` number, required: Minor units per unit-hour past the allowance (4 = $0.04 per RAM GiB-hour, 12 = $0.12 per CPU-hour).
  - `currency` string, required: ISO 4217 code, lower case, of the cap and the rates.
  - `updated_at` string, date-time, nullable, required: RFC 3339 UTC timestamp with Z.
  - `version` integer, required: Send it as If-Match on PUT to detect a concurrent change (409 conflict, reason version_mismatch).

## Other responses

- `4XX`: Default Response
- `5XX`: Default Response

---

[API](https://skmtc.dev/shardflux/apis/shardflux-api.md) · [All operations](https://skmtc.dev/shardflux/apis/shardflux-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shardflux/apis/shardflux-api/revisions/ea685f7b39c4?raw)
