---
title: "List the organization's edge usage reports"
method: GET
path: "/v1/edge/usage-reports"
---

# List the organization's edge usage reports

`GET /v1/edge/usage-reports`

## Request

- Base URL: `https://api.decionis.com`
- URL: `https://api.decionis.com/v1/edge/usage-reports`
- Auth: HTTP bearer

Every usage report recorded for the authenticated organization,
newest first, superseded ones included (`superseded_by`), optionally
for one month. The report JWS itself is kept as evidence and not
returned. Requires an organization API key with `policy:read`,
`policy:write`, `policy:*` or `org:*`.

## Query parameters

- `limit` integer
- `period` string

## Response `200`

The reports; private and not cacheable

- EdgeUsageReportList
  - `reports` EdgeUsageReport[], required
    - `id` string, uuid, required
    - `installation_id` string, required
    - `kid` string, required
    - `jti` string, required
    - `period` string, required
    - `period_start` string, date-time, required
    - `period_end` string, date-time, required
    - `issued_at` string, date-time, required
    - `counts` EdgeUsageCounts, required
      - `by_mode` object, required
        - `ENFORCEMENT` integer, required
        - `SHADOW` integer, required
        - `PARALLEL` integer
      - `by_verdict` object, required
        - `ALLOW` integer, required
        - `ESCALATE` integer, required
        - `BLOCK` integer, required
      - `total` integer, required: Every edge decision in the month; `by_mode` and `by_verdict` each sum to it.
    - `delegated` integer, required
    - `billable` integer, required: `total - delegated`.
    - `chain` EdgeUsageChain, required: The evidence-chain range the counts were taken from; the four bounds are null exactly when nothing was counted.
      - `stream` string, required
      - `first_seq` integer, nullable, required
      - `last_seq` integer, nullable, required
      - `first_hash` string, nullable, required
      - `last_hash` string, nullable, required
    - `bundles` string[], required
    - `report_digest` string, required
    - `supersedes` string, uuid, nullable, required
    - `superseded_by` string, uuid, nullable, required
    - `metered_actions` integer, required: What this report added to the meter (beyond earlier reports for its month).
    - `meter_status` 'pending' | 'recorded' | 'not_recorded' | 'not_metered', required: `not_metered`: the plan is not metered (the hard-capped exploration default); `not_recorded`: the meter did not take it (no billing customer, or the meter was unavailable).
    - `received_at` string, date-time, required

## Other responses

- `400`: Structured API error
- `401`: Structured API error
- `403`: Structured API error
- `503`: Structured API error

---

[API](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api.md) · [All operations](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/decionis/apis/decionis-policy-evaluation-api/revisions/357f5e459d0c?raw)
