# How much of the eligible bill a commitment covers

> Coverage per service and the covered spend per consuming account, with the on-demand remainder beside it so the percentage names its own denominator. Weighted by the dollars behind each figure, never averaged across commitments, where a hundred dollar reservation would move the number as far as a fifty thousand dollar one. A provider whose sweep has not run reports measured false rather than zero coverage, because holding none and not having looked are opposite answers. months adds that many calendar months ending at the current month, AWS only, for the organization, each payer and each account where the workloads run: instance hours at public on-demand prices covered and uncovered, and the commitment dollars each account consumed, took from other accounts, gave to them and left idle. On Google Cloud, projects lists each project's committed use discounts month to date, and cost_export_cud_status says whether the billing export has been swept.

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


## GET /api/v1/commitments/coverage-rates

Coverage per service and the covered spend per consuming account, with the on-demand remainder beside it so the percentage names its own denominator. Weighted by the dollars behind each figure, never averaged across commitments, where a hundred dollar reservation would move the number as far as a fifty thousand dollar one. A provider whose sweep has not run reports measured false rather than zero coverage, because holding none and not having looked are opposite answers. months adds that many calendar months ending at the current month, AWS only, for the organization, each payer and each account where the workloads run: instance hours at public on-demand prices covered and uncovered, and the commitment dollars each account consumed, took from other accounts, gave to them and left idle. On Google Cloud, projects lists each project's committed use discounts month to date, and cost_export_cud_status says whether the billing export has been swept.

### Authentication

Send `Authorization: Bearer <token>`.

### Parameters

- `provider` (query, string, default `aws`)
- `months` (query, integer, default `0`)

### Responses

#### 200: Successful Response

- `success` (boolean, default `true`)
- `timestamp` (date-time string)
- `data` (object, required)
  - `provider` (string, required)
  - `measured` (boolean, required)
  - `services` (array of object)
    - `instrument` (string, required)
    - `dimension` (string, required)
    - `dimension_label` (string, required)
    - `coverage_pct` (number, required)
    - `measured_on` (string, nullable, required)
  - `accounts` (array of object)
    - `account_id` (string, required)
    - `account_name` (string, required)
    - `covered_monthly` (number, required)
  - `uncovered_by_service` (array of object)
    - `service` (string, required)
    - `on_demand_monthly` (number, required)
  - `totals` (object, nullable, required)
    - `covered_monthly` (number, nullable)
    - `uncovered_monthly` (number, required)
    - `coverage_pct` (number, nullable, required)
    - `utilization_pct` (number, nullable)
    - `unused_monthly` (number, nullable)
    - `committed_monthly` (number, nullable)
    - `period` (string, nullable)
    - `complete` (boolean, nullable)
  - `series` (array of object)
    - `period` (string, required)
    - `complete` (boolean, required)
    - `eligible_on_demand` (number, required)
    - `covered_on_demand` (number, required)
    - `uncovered_on_demand` (number, required)
    - `coverage_pct` (number, nullable, required)
    - `covered_cost` (number, required)
    - `utilization_pct` (number, nullable, required)
    - `shared_cost` (number, required)
    - `unused_cost` (number, nullable, required)
  - `account_series` (array of object)
    - `account_id` (string, required)
    - `account_name` (string, required)
    - `organization_id` (string, nullable, required)
    - `months` (array of object, required)
      - `period` (string, required)
      - `complete` (boolean, required)
      - `eligible_on_demand` (number, required)
      - `covered_on_demand` (number, required)
      - `uncovered_on_demand` (number, required)
      - `coverage_pct` (number, nullable, required)
      - `covered_cost` (number, required)
      - `utilization_pct` (number, nullable, required)
      - `shared_in_cost` (number, required)
      - `shared_out_cost` (number, required)
      - `held_unused_cost` (number, nullable, required)
      - `benefiting_commitments` (integer, required)
  - `organizations` (array of object)
    - `organization_id` (string, nullable, required)
    - `cross_account_share_pct` (number, nullable, required)
    - `series` (array of object, required)
      - `period` (string, required)
      - `complete` (boolean, required)
      - `eligible_on_demand` (number, required)
      - `covered_on_demand` (number, required)
      - `uncovered_on_demand` (number, required)
      - `coverage_pct` (number, nullable, required)
      - `covered_cost` (number, required)
      - `utilization_pct` (number, nullable, required)
      - `shared_cost` (number, required)
      - `unused_cost` (number, nullable, required)
  - `projects` (array of object)
    - `project_id` (string, required)
    - `project_name` (string, required)
    - `billing_account_id` (string, nullable, required)
    - `scope` (one of `project`, `billing_account`, required)
    - `service` (string, required)
    - `region` (string, required)
    - `kind` (one of `reserved_instance`, `savings_plan`, `committed_use_discount`, `spend_commitment`, required)
    - `commitment_fee_month_to_date` (number, required)
    - `coverage_pct` (number, nullable, required)
    - `utilization_pct` (number, nullable, required)
    - `as_of` (string, required)
  - `cost_export_cud_status` (one of `not_enabled`, `pending`, `error`, `active`, nullable)
  - `cud_export_status` (one of `not_enabled`, `provisioning`, `active`, `action_needed`, `error`, nullable)

#### 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)
