---
title: "This period's usage against my plan, with what it would cost"
method: GET
path: "/v1/orgs/{org_id}/usage/summary"
tags: ["billing"]
---

# This period's usage against my plan, with what it would cost

`GET /v1/orgs/{org_id}/usage/summary`

## Request

- Base URL: `https://api.wavehouse.cloud`
- URL: `https://api.wavehouse.cloud/v1/orgs/{org_id}/usage/summary`
- Auth: one of:
  - API key in cookie `whc_session`
  - HTTP bearer
  - API key in header `X-API-Key`

One line per metric: what is included, what has been used, where the month is heading, and the dollars the price book implies; then the fixed monthly fees (the plan, extra projects, add-ons) and the project count against the plan. Nothing here charges. Only the ingest line is ever blocked, and only console and MCP ingest with it. Egress is the EDGE meter alone; the API's engine proxy meters its own bytes, and the two are never added.

## Path parameters

- `org_id` string, required

## Response `200`

OK

- UsageSummaryView
  - `amount_micros` integer, required: the org's, on a project summary too: an allowance is never split across projects
  - `charged` boolean, required: false when the plan never bills usage past its allowance (pause_ingest, negotiated): every *_micros figure is then 0 and no amount applies
  - `currency` string, required: ISO 4217; every *_micros figure here is in it
  - `egress_bytes` integer, required
  - `fixed_fees` FixedFeeView[], required: the org's: the plan's price, extra projects and add-ons a month at today's counts; empty when the plan is not charged
    - `addon_id` string
    - `amount_micros` integer, required: per month
    - `description` string, required
    - `kind` 'plan' | 'extra_projects' | 'addon', required
    - `quantity` integer, required
    - `unit_price_micros` integer, required: per month
  - `fixed_fees_micros` integer, required: the fixed fees' monthly total
  - `lines` UsageLineView[], required
    - `allowance` integer, required: the org's; 0 means the plan includes none of this metric, not that it is unlimited
    - `amount_micros` integer, required: what the org's overage costs at today's price; display only in this release
    - `blocked` boolean, required: true only on the ingest line, on a plan that pauses at its allowance, at or past it: ingest through the API (console and MCP) is refused; a project's own data-plane writes never are
    - `display_name` string, required
    - `metric` string, required
    - `org_used` integer, required: the whole org's use, which the allowance, overage, amounts and blocked apply to; equals used on the org summary
    - `overage` integer, required: the org's use past its allowance
    - `price_unit` string
    - `projected` integer, required: where used ends the period at this rate
    - `projected_amount_micros` integer, required: what the org's projected overage would cost
    - `role` string, required: overage (metered and charged past the allowance) | limit | display
    - `unit` string, required
    - `unit_price_micros` integer, required
    - `used` integer, required: this summary's own use: the project's on a project summary
  - `meter_at` string, date-time: the newest meter observation the figures include (the edge meter reports its open hour every minute); absent while the meter holds no row
  - `org_id` string, required
  - `period_end` string, date-time, required: exclusive: the instant the next period starts
  - `period_start` string, date-time, required
  - `plan_id` string, required
  - `plan_name` string
  - `project_id` string
  - `projected_amount_micros` integer, required: the org's
  - `projects` UsageProjectsView, required
    - `held` integer, required: the org's projects counting toward the plan; one scheduled for deletion does not
    - `included` integer, required: 0 is unlimited
    - `next_blocked` boolean, required: one more project is refused (402) on this plan
    - `next_monthly_micros` integer, required: what one more project adds to the fixed fees each month: 0 when it is included or the plan never bills
  - `warn_at_fraction` number, double, required

## Other responses

- `429`: Rate limited, per client IP, API key or org; a client IP is also refused on every route for a while after repeated authentication failures. A limited operation carries RateLimit-Policy and RateLimit on every response; wait Retry-After seconds before retrying.
- `default`: Error

---

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