Skip to main content

List Workloads

Retrieve a paginated list of workloads with optional filtering.
Results are automatically filtered based on your role and team access.
GET /v1/workloads

Query Parameters

ParameterTypeDescription
organization_idstringFilter by organization
initiative_idstringFilter by team
statusstringFilter by status: pending, running, completed, failed, cancelled
submitted_bystringFilter by user who submitted the workload
is_managedbooleanFilter managed vs unmanaged workloads
start_datestringFilter workloads submitted after this date (ISO 8601)
end_datestringFilter workloads submitted before this date (ISO 8601)
limitintegerNumber of results per page (1-100, default: 20)
next_tokenstringPagination cursor from previous response

Example Request

curl -X GET "https://api.usechamber.io/v1/workloads?status=running&limit=10" \
  -H "Authorization: Bearer <token>" \
  -H "X-Organization-Id: <org-id>"

Example Response

{
  "data": {
    "workloads": [
      {
        "workload_id": "wl_abc123",
        "name": "training-job-001",
        "status": "running",
        "submitted_by": "user@example.com",
        "initiative_id": "init_xyz",
        "instance_type": "p4d.24xlarge",
        "gpu_count": 8,
        "submitted_at": "2024-01-15T10:30:00Z",
        "started_at": "2024-01-15T10:32:00Z"
      }
    ]
  },
  "metadata": {
    "next_token": "eyJ...",
    "total_count": 45
  },
  "request_id": "req_abc123"
}

Get Workload

Retrieve details for a specific workload.
GET /v1/workloads/{workload_id}

Path Parameters

ParameterTypeDescription
workload_idstringThe unique workload identifier

Example Request

curl -X GET "https://api.usechamber.io/v1/workloads/wl_abc123" \
  -H "Authorization: Bearer <token>" \
  -H "X-Organization-Id: <org-id>"

Example Response

{
  "data": {
    "workload_id": "wl_abc123",
    "name": "training-job-001",
    "status": "running",
    "submitted_by": "user@example.com",
    "initiative_id": "init_xyz",
    "instance_type": "p4d.24xlarge",
    "gpu_count": 8,
    "submitted_at": "2024-01-15T10:30:00Z",
    "started_at": "2024-01-15T10:32:00Z",
    "completed_at": null,
    "duration_seconds": 3600,
    "gpu_hours_used": 8.0,
    "exit_code": null,
    "is_managed": true,
    "cluster_id": "cluster_prod1",
    "namespace": "ml-training"
  },
  "request_id": "req_abc123"
}

Get Workload Statistics

Retrieve aggregated statistics across workloads.
GET /v1/workloads/stats

Query Parameters

ParameterTypeDescription
time_rangestringPredefined range: today, this_week, this_month, last_7_days, last_30_days, custom
start_datestringStart date for custom range (ISO 8601)
end_datestringEnd date for custom range (ISO 8601)
group_bystringGroup results by: submitted_by, initiative_id, instance_type
initiative_idstringFilter to specific team

Example Request

curl -X GET "https://api.usechamber.io/v1/workloads/stats?time_range=last_7_days&group_by=initiative_id" \
  -H "Authorization: Bearer <token>" \
  -H "X-Organization-Id: <org-id>"

Example Response

{
  "data": {
    "summary": {
      "total_workloads": 156,
      "total_gpu_hours": 2450.5,
      "average_duration_seconds": 7200,
      "success_rate": 0.94
    },
    "grouped": [
      {
        "initiative_id": "init_ml_team",
        "workload_count": 89,
        "gpu_hours": 1200.0,
        "success_rate": 0.96
      },
      {
        "initiative_id": "init_research",
        "workload_count": 67,
        "gpu_hours": 1250.5,
        "success_rate": 0.91
      }
    ]
  },
  "request_id": "req_abc123"
}