Skip to content
Go to Boltz API

Get usage data

admin.usage.list(UsageListParams**kwargs) -> SyncOpaqueCursorPage[UsageListResponse]
GET/compute/v1/admin/usage

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

ParametersExpand Collapse
ending_at: Union[str, datetime]

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

formatdate-time
starting_at: Union[str, datetime]

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

formatdate-time
window_size: Literal["HOUR", "DAY"]

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

Accepts one of the following:
"HOUR"
"DAY"
applications: Optional[Union[Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 3 more], List[Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 3 more]]]]

Filter to specific applications

Accepts one of the following:
Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 3 more]
Accepts one of the following:
"structure_and_binding"
"small_molecule_design"
"small_molecule_library_screen"
"protein_design"
"protein_library_screen"
"adme"
List[Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 3 more]]
Accepts one of the following:
"structure_and_binding"
"small_molecule_design"
"small_molecule_library_screen"
"protein_design"
"protein_library_screen"
"adme"
group_by: Optional[Union[Literal["workspace_id", "application"], List[Literal["workspace_id", "application"]]]]

Group results by workspace_id and/or application

Accepts one of the following:
Literal["workspace_id", "application"]
Accepts one of the following:
"workspace_id"
"application"
List[Literal["workspace_id", "application"]]
Accepts one of the following:
"workspace_id"
"application"
limit: Optional[int]

Maximum number of buckets to return

minimum1
page: Optional[str]

Cursor for pagination

workspace_ids: Optional[Union[str, SequenceNotStr[str]]]

Filter to specific workspace IDs

Accepts one of the following:
str
SequenceNotStr[str]
ReturnsExpand Collapse
class UsageListResponse:
end_time: datetime
formatdate-time
quantity: int

Aggregated billed quantity for this bucket

start_time: datetime
formatdate-time
application: Optional[Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 3 more]]
Accepts one of the following:
"structure_and_binding"
"small_molecule_design"
"small_molecule_library_screen"
"protein_design"
"protein_library_screen"
"adme"
workspace_id: Optional[str]

Present when grouped by workspace_id

Get usage data

import os
from datetime import datetime
from boltz_api import Boltz

client = Boltz(
    api_key=os.environ.get("BOLTZ_API_KEY"),  # This is the default and can be omitted
)
page = client.admin.usage.list(
    ending_at=datetime.fromisoformat("2019-12-27T18:11:19.117"),
    starting_at=datetime.fromisoformat("2019-12-27T18:11:19.117"),
    window_size="HOUR",
)
page = page.data[0]
print(page.workspace_id)
{
  "data": [
    {
      "end_time": "2019-12-27T18:11:19.117Z",
      "quantity": 0,
      "start_time": "2019-12-27T18:11:19.117Z",
      "application": "structure_and_binding",
      "workspace_id": "workspace_id"
    }
  ],
  "has_more": true,
  "next_page": "next_page"
}
Returns Examples
{
  "data": [
    {
      "end_time": "2019-12-27T18:11:19.117Z",
      "quantity": 0,
      "start_time": "2019-12-27T18:11:19.117Z",
      "application": "structure_and_binding",
      "workspace_id": "workspace_id"
    }
  ],
  "has_more": true,
  "next_page": "next_page"
}