# List commitments

Source: https://docs.levelfour.ai/api-reference/commitments/get-commitments


## GET /api/v1/commitments

### Authentication

Send `Authorization: Bearer <token>`.

### Parameters

- `provider` (query, string, nullable)
- `kind` (query, string, nullable): AWS writes reserved_instance and savings_plan; the Google Cloud CUD worker writes committed_use_discount and spend_commitment into the same table.
- `status` (query, string, nullable)
- `page` (query, integer, default `1`)
- `page_size` (query, integer, default `20`)

### Responses

#### 200: Successful Response

- `success` (boolean, default `true`)
- `timestamp` (date-time string)
- `data` (object, required)
  - `items` (array of object, required)
    - `id` (string, required)
    - `provider` (string, required)
    - `service` (string, required)
    - `service_label` (string, required)
    - `account_id` (string, required)
    - `account_name` (string, required)
    - `region` (string, required)
    - `kind` (one of `reserved_instance`, `savings_plan`, `committed_use_discount`, `spend_commitment`, required)
    - `start_date` (string, required)
    - `end_date` (string, required)
    - `status` (one of `active`, `expiring`, `expired`, `cancelled`, required)
    - `current_utilization_pct` (number, required)
    - `current_coverage_pct` (number, required)
    - `monthly_commitment_usd` (number, required)
  - `pagination` (object, required)
    - `total_items` (integer, required)
    - `total_pages` (integer, required)
    - `current_page` (integer, required)
    - `page_size` (integer, required)
    - `has_next` (boolean, required)
    - `has_previous` (boolean, required)

#### Errors

- `400`: Bad Request
- `401`: Authentication Error
- `403`: Authorization Error
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Rate Limit Exceeded
- `500`: Internal Server Error

Body of `400`, `401`, `403`, `404`, `409`, `422`, `429`, `500`:

- `success` (`false`, required)
- `error` (object, required)
  - `code` (string, required)
  - `message` (string, required)
  - `details` (any)
- `timestamp` (date-time string, required)
