Commitment Plans (Beta)
Cloud provider (aws, azure, gcp)
awsPossible values: Optional segment ID to scope results. Defaults to the provider resources segment if not specified.
nullFilter to plans generated from this template (GET /commitment-plan-templates)
nullFilter by plan status (e.g. 'draft', 'in_progress')
nullPossible values: Filter to the flagged recommended plan
nullFilter to system-generated (default) plans — the three built-ins (Recommended / Balanced / High Savings) vs. user-created plans.
nullSwitch which flavor the list returns. Omitted (default) and false both return segment-scoped non-renewal plans — backward-compatible with the pre-renewal contract. Set to true to fetch renewal plans (which aren't segment-scoped — segment_id is ignored). There's no combined view; renewals and non-renewals are queried separately.
nullOK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Cloud provider (aws, azure, gcp)
awsPossible values: Optional segment ID to scope results. Defaults to the provider resources segment if not specified.
nullHuman-readable plan name
OK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Cloud provider (aws, azure, gcp)
awsPossible values: Human-readable plan name
OK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Cloud provider (aws, azure, gcp)
awsPossible values: Optional segment ID to scope results. Defaults to the provider resources segment if not specified.
nullOK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Spend-based commitment coverage of reservable spend today, from existing commitments (0-1) — the BEFORE picture, pre-plan.
Spend-based commitment coverage of reservable spend if this plan is applied (0-1) — the AFTER picture, post-plan.
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Cloud provider (aws, azure, gcp)
awsPossible values: Optional segment ID to scope results. Defaults to the provider resources segment if not specified.
nullOK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Spend-based commitment coverage of reservable spend today, from existing commitments (0-1) — the BEFORE picture, pre-plan.
Spend-based commitment coverage of reservable spend if this plan is applied (0-1) — the AFTER picture, post-plan.
No Content
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
OK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Spend-based commitment coverage of reservable spend today, from existing commitments (0-1) — the BEFORE picture, pre-plan.
Spend-based commitment coverage of reservable spend if this plan is applied (0-1) — the AFTER picture, post-plan.
Bad request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Internal server error
Default error response
New plan name
OK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Bad request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
No Content
No content
Bad request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Internal server error
Default error response
No content
OK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Spend-based commitment coverage of reservable spend today, from existing commitments (0-1) — the BEFORE picture, pre-plan.
Spend-based commitment coverage of reservable spend if this plan is applied (0-1) — the AFTER picture, post-plan.
Bad request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Internal server error
Default error response
Server-side resolution mode. Set to a target contract term and the server resolves the per-line-item update set using the same fallback rule the comparison endpoint projects: exact match on (term, payment) where available, else closest shorter term with the same payment option (GRI preferred within tier). Mutually exclusive with explicit per-line-item updates — pass one OR the other, not both. Preferred over enumerating updates manually because the server can't silently omit entries from a list it builds itself.
nullPossible values: Target payment option for resolution mode. Defaults to no_upfront — most users are uncomfortable with cash at signing, so this matches the default framing for plan comparisons. Ignored when target_contract_term is null.
no_upfrontPossible values: Optional subset of line items to update under resolution mode. If omitted, applies to all selected line items in the plan. Ignored when target_contract_term is null.
nullName for the copied plan. If omitted, defaults to '
nullOK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Bad Request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Optional list of line-item ids to scope the response to. When omitted, returns every line item in the plan.
nullRenewal plans only: scope to line items proposed as the replacement for these specific expiring commitments. Useful for "show me what's being proposed to replace commitment X." Rejected with 400 on non-renewal plans (their line items have no renewal linkage; this guards against stale/wrong plan ids silently returning unrelated rows).
nullField to order results by
monthly_net_savingsPossible values: Sort descending (default true)
true120OK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Server-side resolution mode. Set to a target contract term and the server resolves the per-line-item update set using the same fallback rule the comparison endpoint projects: exact match on (term, payment) where available, else closest shorter term with the same payment option (GRI preferred within tier). Mutually exclusive with explicit per-line-item updates — pass one OR the other, not both. Preferred over enumerating updates manually because the server can't silently omit entries from a list it builds itself.
nullPossible values: Target payment option for resolution mode. Defaults to no_upfront — most users are uncomfortable with cash at signing, so this matches the default framing for plan comparisons. Ignored when target_contract_term is null.
no_upfrontPossible values: Optional subset of line items to update under resolution mode. If omitted, applies to all selected line items in the plan. Ignored when target_contract_term is null.
nullOK
Unique plan identifier
Cloud provider (aws, azure, gcp)
Plan name (e.g. 'Recommended', 'Balanced', 'High Savings')
Human-readable summary of the plan
True if this plan was created to renew a set of expiring commitments — configuration.renewal_commitment_ids is populated when true. False otherwise (covers both purchase and infrastructure flavors — the distinction is not user-meaningful, both cover uncovered resources with new commitments).
Plan status (e.g. 'draft', 'in_progress', 'completed')
True if the plan is still being computed
When the plan was generated
Start of the usage window the plan was computed from. Null on renewal plans — renewals derive their window from the source commitments' end dates, not from a lookback (see configuration.renewal_commitment_ids).
End of the usage window the plan was computed from. Null on renewal plans (see usage_start_date).
Maximum commitment term (e.g. '30_DAY', '1_YEAR', '3_YEAR')
Minimum total spend being committed to
Days until the plan pays for itself. If commitments are kept for at least this many days, the plan is a more profitable decision than running on-demand.
One-time total dollars required at signing if this plan is applied. NOT a rate — do not sum with monthly-rate fields. Typically 0 for the Recommended plan; can be significant for High Savings / All Upfront plans. Always mention explicitly to the user when non-zero.
Bad Request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Optional list of line-item ids to scope to. When supplied, returns only the source commitments whose renewing line items are in this set.
null150OK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Optional subset of line items to compare. If omitted, defaults to all selected line items in the plan.
nullOK
Bad Request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
OK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Internal server error
Default error response
Filter to matches from specific line items
nullOnly include matches from selected line items (default true)
trueFree-text ILIKE search across the resource SKU's identity and classification fields (resource id, name, account ids, service, region, instance_type, etc.). Mirrors the search lane on /resources/skus.
nullField to order results by. Defaults to monthly_net_savings. All numeric axes are 730-hour monthly rates on the per-match plan economics, net of the Archera premium where applicable (NOT the resource's warehouse trailing-30-day actuals — those are filterable but not orderable here, on purpose, to keep sort and response framing on the same monthly basis).
monthly_net_savingsPossible values: Sort descending (default true)
trueOK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Filter to matches from specific line items
nullOnly include matches from selected line items (default true)
trueOK
Cloud service name (e.g. 'AmazonEC2', 'AmazonRDS')
Cloud account ID
Cloud region (e.g. 'us-east-1')
Resource type within this group — instance family for compute (e.g. 'm5'), usage type for other services (e.g. 'Fargate-GB-Hours', 'Lambda-GB-Second'), or SKU name as fallback
Number of resources in this group
Spend-based projected coverage across resources in this group (0-1), weighted by each resource's on-demand-equivalent cost. Distinct from resource.coverage (trailing-30-day actual spend-based coverage from existing commitments). For per-resource projected coverage, use the paginated /covered-resources endpoint.
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Filter to matches from specific line items
nullOnly include matches from selected line items (default true)
trueFree-text ILIKE search across the resource SKU's identity and classification fields (resource id, name, account ids, service, region, instance_type, etc.). Mirrors the search lane on /resources/skus.
nullField to order results by. Defaults to monthly_net_savings. All numeric axes are 730-hour monthly rates on the per-match plan economics, net of the Archera premium where applicable (NOT the resource's warehouse trailing-30-day actuals — those are filterable but not orderable here, on purpose, to keep sort and response framing on the same monthly basis).
monthly_net_savingsPossible values: Sort descending (default true)
true120OK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
Last updated
Was this helpful?

