---
title: "Lists consumers and API clients that produced no traffic"
method: GET
path: "/apiops/projects/{projectName}/reports/inactive-clients"
tags: ["ProjectReports"]
---

# Lists consumers and API clients that produced no traffic

`GET /apiops/projects/{projectName}/reports/inactive-clients`

## Request

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

Consumer identities and the API client keys they own, with their creation date, last request and status, for the given environment and period. A null lastUsedAt means no request inside the retained traffic log, NOT necessarily never used - read coverage.dataAvailableFrom before acting on it.

## Path parameters

- `projectName` string, required

## Query parameters

- `environmentName` string, required
- `from` string
- `to` string
- `organizationCode` string[]
- `status` string
- `includeApiClients` boolean
- `identityType` string
- `minUsage` integer
- `maxUsage` integer
- `page` integer
- `size` integer
- `sort` string

## Response `200`

successful operation!

- ApiOpsPagedInactiveClientsResponse
  - `status` 'SUCCESS' | 'FAILURE'
  - `items` ApiOpsResponseInactiveClient[]
    - `identityType` string: CONSUMER for a consumer identity, API_CLIENT for a key owned by one.
    - `consumer` Consumer
      - `username` string
      - `fullName` string
    - `organization` Organization
      - `code` string
      - `name` string
    - `apiClient` ApiClientRef
      - `key` string
      - `name` string
      - `clientId` string
    - `createdAt` string, date-time: When the identity was created. Derived from the record id for an API client.
    - `lastUsedAt` string, date-time: Most recent request inside the retained traffic log; null when there is none.
    - `status` string: enabled | disabled | expired for a consumer, ACTIVE | SUSPENDED for an API client.
    - `usedViaApiClient` boolean: True when the consumer produced no request of its own but one of its API clients did.
    - `counts` Counts
      - `success` integer
      - `blocked` integer
      - `error` integer
      - `total` integer
  - `page` integer
  - `size` integer
  - `totalElements` integer
  - `totalPages` integer
  - `sort` string[]
  - `coverage` Coverage
    - `dataAvailableFrom` string, date-time: Oldest traffic log record inside this scope; null when the log holds none.
    - `warning` string: Set when the requested range is not fully covered by the traffic log.
    - `retentionDays` integer: Traffic log retention in days, when a delete phase is configured.

## Other responses

- `401`: not authorized for this operation!
- `500`: internal error!

## Changes

- **2026-09-11** `30660b2166db`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/apinizer/apis/apinizer-management-apis/changes/apiops/projects/:projectName/reports/inactive-clients/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)
