v1

latestOpenAPI 3.0.12026-07-26152262362.2 KB
PS4Commitments AWS

List AWS Reserved Instances

Returns the paginated list of Reserved Instances (RIs) for the specified MPA. Filterable by state, instance type/family, region, and offering class.

get/ps4commitments/v1/aws/payer-accounts/{payerAccountId}/reserved-instances

Path parameters

payerAccountIdstring required
Example:123456789012

AWS Master Payer Account ID (12-digit AWS account number) that scopes the request.

Query parameters

status'active' | 'retired' | 'payment_pending' | 'payment_failed' | 'queued' | 'queued_deleted'

Filter by Reserved Instance state.

instanceTypestring

Filter by exact EC2 instance type (e.g. m5.large). Case-sensitive.

instanceFamilystring

Filter by EC2 instance family — the leading segment of instanceType before the dot (e.g. m5 matches m5.large, m5.xlarge). Case-sensitive.

regionstring

Filter by AWS region (e.g. us-east-1). Case-sensitive.

offeringClass'standard' | 'convertible'

Filter by RI offering class.

pageTokenstring

Opaque cursor token returned by a previous list response. Omit to start from the beginning; an empty or absent token in a response means there are no more results. Do not parse it. A structurally invalid cursor returns 400 with code pagination_token_invalid; an expired cursor returns 400 with code pagination_token_expired — restart pagination from the beginning.

maxResultsinteger

Maximum number of items to return. Server may return fewer. Defaults to 50; maximum 500.

Headers

X-Tenant-Idstring
Example:Kp2mN8qL4vR0sT1wX3yZ

Tenant (customer) identifier that conveys the tenant scope for the request (DoiT API Design Standards §15).

Resolution when the header is absent:

  • A key scoped to exactly one tenant resolves to that tenant automatically; the header is optional.
  • A principal that can access more than one tenant (e.g. DoiT-employee keys) must supply the header. Without it the request is rejected with 400 and code tenant_id_required — the server does not guess across tenant scopes.

When the header is present but conflicts with the tenant the key is scoped to, the request is rejected with 400 and code tenant_id_mismatch.

Response

Paginated list of Reserved Instances.

pageTokenstring nullable
rowCountinteger nullable

Best-effort count for the filtered result set. May be null or omitted for expensive counts.

Example response

{
  "items": [
    {
      "fixedPrice": {
        "currency": "USD"
      },
      "usagePrice": {
        "currency": "USD"
      },
      "hourlyRecurringFee": {
        "currency": "USD"
      },
      "upfrontFee": {
        "currency": "USD"
      },
      "totalAssetValue": {
        "currency": "USD"
      },
      "averageOnDemandHourlyRate": {
        "currency": "USD"
      },
      "amortizedRecurringFee": {
        "currency": "USD"
      },
      "amortizedUpfrontFee": {
        "currency": "USD"
      },
      "totalAmortizedFee": {
        "currency": "USD"
      },
      "netRiSavings": {
        "currency": "USD"
      },
      "realizedSavings": {
        "currency": "USD"
      },
      "unrealizedSavings": {
        "currency": "USD"
      },
      "totalPotentialRiSavings": {
        "currency": "USD"
      },
      "onDemandCostOfRiHoursUsed": {
        "currency": "USD"
      },
      "riCostForUnusedHours": {
        "currency": "USD"
      },
      "mtdSavings": {
        "currency": "USD"
      }
    }
  ]
}