Clients With No Requests Report
Endpoint
GET /apiops/projects/{projectName}/reports/inactive-clients
Unlike the other two report endpoints on this API, this one is project-scoped: the project is part of the path and is authorized before the report is built. It lists a project's authenticating identities, so it is gated on that project rather than on a platform-wide role.
Authentication
Requires a Personal API Access Token whose user holds Analytics / View permission in the project named in the path. A project the caller cannot see answers 404 — the same answer as a project that does not exist, so the endpoint cannot be used to discover project names.
A platform-scoped (administration) token has no project to read and is refused with 400 malformedRequest.
Header
Authorization: Bearer YOUR_TOKEN
Request
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| projectName | string | Yes | Name of the project whose identities are reported |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| environmentName | string | Yes | Name of the environment whose traffic log is read |
| from | string | No | Range start, ISO-8601 or Elasticsearch date math. Default now-30d |
| to | string | No | Range end, ISO-8601 or Elasticsearch date math. Default now |
| organizationCode | string | No | Consumer organization code. Repeat the parameter to pass more than one |
| status | string | No | ALL (default), ENABLED or DISABLED |
| includeApiClients | boolean | No | Whether API client (key) rows are listed. Default true |
| identityType | string | No | Restricts the answer to one row kind: CONSUMER or API_CLIENT |
| minUsage | integer | No | Lowest request count a row may have. Default 0 |
| maxUsage | integer | No | Highest request count a row may have |
| page | integer | No | Zero-based page index |
| size | integer | No | Rows per page |
| sort | string | No | field[,asc|desc] over lastUsedAt, createdAt, consumer, apiClientKey, status, identityType, total |
Notes
- References travel as names: a consumer as its
username, an organization as itscode, an API client as itsapiClientKey. No internal identifier appears in the response. - A consumer's traffic is resolved from three sources and merged: requests made under its username, requests attributed to its credential record, and requests made by the API clients it owns. A consumer that only ever calls through its API client is therefore not reported as unused; it carries
usedViaApiClient: trueinstead. - An organization code outside the caller's project scope matches nothing and answers
404.