Reference

Get commitments overview

ESR strip and aggregate RI/SP metrics for the requested provider (AWS real, GCP/Azure return zeros).

GET
/api/v1/commitments/overview

Authorization

BearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

provider?Provider
commitment_type?Commitment Type

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/commitments/overview"
{
  "success": true,
  "timestamp": "2019-08-24T14:15:22Z",
  "data": {
    "global_esr": 0,
    "benchmark_esr": 0,
    "total_committed_monthly": 0,
    "total_cloud_spend_monthly": 0,
    "coverage_pct": 0,
    "coverage_delta_pp": 0,
    "estimated_waste_monthly": 0,
    "waste_commitment_count": 0,
    "potential_additional_savings_monthly": 0,
    "commitment_count": 0,
    "expiring_count": 0,
    "accounts": [
      {
        "account_id": "string",
        "account_name": "string",
        "monthly_spend": 0,
        "esr_pct": 0,
        "monthly_saved": 0,
        "could_save_additional": 0
      }
    ]
  }
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}
{
  "success": false,
  "error": {
    "code": "string",
    "message": "string",
    "details": null
  },
  "timestamp": "2019-08-24T14:15:22Z"
}

What AWS sells for a reservation or Savings Plan target GET

The catalogue one field at a time. choices lists, for every field of the target, the values sold given every field before it, in the order each narrows the next: service, region, engine, deployment, offering_class, tenancy and resource for a reservation, plan_type, instance_family and region for a plan. A field the service does not use has no choices and must be left out. complete says the target is whole; offers then lists every offering sold for it, priced per unit (a reservation, or a dollar an hour of a plan) beside the public on-demand rate where the price list has one. EC2 is read one instance type at a time, so its offers wait for resource. Regions are where the organization's accounts live, hold commitments, run anything or opted in; classes are those it runs and those the catalogue sells. Every page AWS returns is kept a day, fetched_at says when it was read. AWS is read through the role of the optional buying_account_id, the account the purchase would be bought in, then its payer's, then every other connected account's, payers first, passing over a role AWS refuses to assume. 422 for a value the service does not sell; 502 when every connected account refused the offerings lookup.

Commitment portfolio ledger GET

One row per commitment across every connected account, resolving the account that holds it against the accounts that consume it, with the expiry instant, the utilization trend, and what a renewal protects kept separate from what right-sizing would save.

Ask the FinOps Agent about your cloud spend