---
title: "API proxies one consumer used"
method: GET
path: "/apiops/projects/{projectName}/usage/consumers/{consumerKey}/api-proxies"
tags: ["UsageRanking"]
---

# API proxies one consumer used

`GET /apiops/projects/{projectName}/usage/consumers/{consumerKey}/api-proxies`

## Request

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

Requests, failures, average gateway time and - for an AI proxy - tokens and cost, per API proxy the consumer called in the period. The traffic figures come from the traffic log and the token figures from the daily rollup, so a proxy whose traffic has aged out of the log still appears with its token and cost picture and requests=0.

## Path parameters

- `projectName` string, required
- `consumerKey` string, required

## Query parameters

- `from` string
- `to` string
- `model` string
- `environmentName` string
- `limit` integer

## Response `200`

successful operation!

- ApiOpsUsageProxyBreakdownDTO: Per-API-proxy usage of one consumer or application in a period.
  - `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.
  - `period` Period: Requested and effective period, always UTC.
    - `from` string
    - `to` string
    - `effectiveFrom` string: from, rounded down to the UTC day start when a day-grained source was read.
    - `effectiveTo` string: to, rounded up to the end of its UTC day when a day-grained source was read.
    - `timeZone` string
  - `filters` Filters: Applied filters.
    - `model` string: Exact LLM model id the report was narrowed to, or null.
    - `environmentName` string: Environment name the traffic-log blocks were narrowed to, or null for every environment of the project.
    - `environmentApplied` boolean: False when environmentName could not be applied to a block because its source carries no environment dimension.
  - `trafficDataSource` string: Source of the request/latency figures. Always TRAFFIC_LOG.
  - `aiDataSource` string: Source of the token/cost figures: ROLLUP_DAILY for a consumer, TRAFFIC_LOG for an application.
  - `limit` integer: Rows the answer may carry, as applied.
  - `truncated` boolean: True when the subject called more proxies than the answer carries.
  - `items` Row[]: One row per API proxy, most requests first.
    - `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.
  - `partial` boolean: True when at least one source could not be read; the answer is still 200 with what was readable.
  - `unavailableEnvironments` string[]: Names of the environments whose traffic log could not be read.
  - `notes` string[]: Machine-readable notes explaining zero or missing numbers.

## Other responses

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

## Changes

- **2026-09-12** `90cf59a80235`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/apinizer/apis/apinizer-management-apis/changes/apiops/projects/:projectName/usage/consumers/:consumerKey/api-proxies/get.md)

---

[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)
