# Usage

## List

`client.admin.usage.list(UsageListParamsquery, RequestOptionsoptions?): OpaqueCursorPage<UsageListResponse>`

**get** `/compute/v1/admin/usage`

Retrieve aggregated usage data across the organization, optionally grouped by workspace and/or application.

### Parameters

- `query: UsageListParams`

  - `ending_at: string`

    End of the time range as an ISO 8601 date-time with timezone, for example 2026-04-08T18:56:46Z

  - `starting_at: string`

    Start of the time range as an ISO 8601 date-time with timezone, for example 2026-04-08T18:56:46Z

  - `window_size: "HOUR" | "DAY"`

    Time window size. HOUR supports up to 31 days per query; DAY supports up to 365 days per query.

    - `"HOUR"`

    - `"DAY"`

  - `applications?: "structure_and_binding" | "small_molecule_design" | "small_molecule_library_screen" | 3 more | Array<"structure_and_binding" | "small_molecule_design" | "small_molecule_library_screen" | 3 more>`

    Filter to specific applications

    - `"structure_and_binding" | "small_molecule_design" | "small_molecule_library_screen" | 3 more`

      - `"structure_and_binding"`

      - `"small_molecule_design"`

      - `"small_molecule_library_screen"`

      - `"protein_design"`

      - `"protein_library_screen"`

      - `"adme"`

    - `Array<"structure_and_binding" | "small_molecule_design" | "small_molecule_library_screen" | 3 more>`

      - `"structure_and_binding"`

      - `"small_molecule_design"`

      - `"small_molecule_library_screen"`

      - `"protein_design"`

      - `"protein_library_screen"`

      - `"adme"`

  - `groupBy?: "workspace_id" | "application" | Array<"workspace_id" | "application">`

    Group results by workspace_id and/or application

    - `"workspace_id" | "application"`

      - `"workspace_id"`

      - `"application"`

    - `Array<"workspace_id" | "application">`

      - `"workspace_id"`

      - `"application"`

  - `limit?: number`

    Maximum number of buckets to return

  - `page?: string`

    Cursor for pagination

  - `workspaceIDs?: string | Array<string>`

    Filter to specific workspace IDs

    - `string`

    - `Array<string>`

### Returns

- `UsageListResponse`

  - `end_time: string`

  - `quantity: number`

    Aggregated billed quantity for this bucket

  - `start_time: string`

  - `application?: "structure_and_binding" | "small_molecule_design" | "small_molecule_library_screen" | 3 more`

    - `"structure_and_binding"`

    - `"small_molecule_design"`

    - `"small_molecule_library_screen"`

    - `"protein_design"`

    - `"protein_library_screen"`

    - `"adme"`

  - `workspace_id?: string`

    Present when grouped by workspace_id

### Example

```typescript
import Boltz from 'boltz-api';

const client = new Boltz({
  apiKey: process.env['BOLTZ_API_KEY'], // This is the default and can be omitted
});

// Automatically fetches more pages as needed.
for await (const usageListResponse of client.admin.usage.list({
  ending_at: '2019-12-27T18:11:19.117Z',
  starting_at: '2019-12-27T18:11:19.117Z',
  window_size: 'HOUR',
})) {
  console.log(usageListResponse.workspace_id);
}
```
