---
title: "Budget board of an organization's consumers"
method: GET
path: "/apiops/projects/{projectName}/consumer-organizations/{organizationCode}/usage/budget-board"
tags: ["UsageReport"]
---

# Budget board of an organization's consumers

`GET /apiops/projects/{projectName}/consumer-organizations/{organizationCode}/usage/budget-board`

## Request

- Base URL: `http://167.86.118.166:32080`
- URL: `http://167.86.118.166:32080/apiops/projects/{projectName}/consumer-organizations/{organizationCode}/usage/budget-board`
- Auth: none declared
- TypeScript: <https://skmtc.dev/apinizer/apis/apinizer-management-apis/docs/apiops/projects/:projectName/consumer-organizations/:organizationCode/usage/budget-board/get.ts> (a function with typed inputs; its response is checked against the schema)

One row per consumer of the organization, carrying the live quota window closest to its limit: ceiling, consumed, remaining, percentage, reset time and status. Independent of any period - these are the windows the gateway is counting into right now.

## Path parameters

- `projectName` string, required
- `organizationCode` string, required

## Query parameters

- `page` integer
- `size` integer
- `sort` string

## Response `200`

successful operation!

- ApiOpsUsageBudgetBoardDTO: Live quota windows of the direct children of an organization or an application.
  - `scope` Scope: The subject of the report.
    - `type` 'ORGANIZATION' | 'CONSUMER' | 'APPLICATION' | 'API_CLIENT' | 'API_PROXY'
    - `key` string: The subject's stable key: organization code, consumerKey, applicationKey, apiClientKey or api proxy name.
    - `name` string: Display name of the subject.
  - `childType` 'ORGANIZATION' | 'CONSUMER' | 'APPLICATION' | 'API_CLIENT' | 'API_PROXY': What kind of child each row is: CONSUMER under an organization, API_CLIENT under an application.
  - `summary` Summary: Board-wide counters.
    - `total` integer: Direct children of the subject.
    - `ok` integer: Children below the warning threshold.
    - `warning` integer: Children at 80% or more of a ceiling.
    - `exceeded` integer: Children at 100% or more of a ceiling.
    - `noBudget` integer: Children with no live ceiling at all.
  - `items` Row[]: One page of rows, worst first by default.
    - `key` string: The child's portable key: consumerKey or apiClientKey.
    - `name` string: Display name.
    - `family` 'AI_TOKEN' | 'AI_COST' | 'REQUEST_QUOTA': Which ceiling this row describes.
    - `unit` 'TOKENS' | 'USD' | 'REQUESTS': Unit of limit/consumed/remaining.
    - `window` string: The quota window.
    - `limit` number: The ceiling. Null when the counter has none.
    - `consumed` number: Spent so far in this window.
    - `remaining` number: limit - consumed, never negative. Null when there is no ceiling.
    - `percent` number, double: Percentage of the ceiling used. Null when there is no ceiling.
    - `windowStartsAt` string: When the window opened.
    - `resetsAt` string: When the window resets.
    - `assignmentKey` string: Portable key of the limit assignment behind this counter.
    - `planKey` string: Portable key of the limit plan behind this counter.
    - `source` 'TYPED' | 'LEGACY_BUDGET' | 'POLICY': Where the ceiling comes from.
    - `status` 'OK' | 'WARNING' | 'EXCEEDED' | 'NO_BUDGET': OK, WARNING at 80% or more, EXCEEDED at 100% or more, NO_BUDGET when there is no ceiling.
  - `totalElements` integer: Children in the whole list, not only on this page.
  - `page` integer: Zero-based page index.
  - `size` integer: Page size actually used.
  - `asOf` string: How fresh the rows are (the quota snapshot's last sync).
  - `notes` string[]: Machine-readable notes.

## Other responses

- `400`: Invalid paging or sort, or the platform (admin) project.
- `401`: not authorized for this operation!

---

[API](https://skmtc.dev/apinizer/apis/apinizer-management-apis.md) - [All operations](https://skmtc.dev/apinizer/apis/apinizer-management-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/apinizer/apis/apinizer-management-apis/revisions/e083046b24cd?raw)
