v1

latestOpenAPI 3.0.12026-07-26152262362.2 KB
PS4Commitments AWS

Get a linked account

Returns a single linked AWS account including 30-day aggregates and the trailing-window stats that drive the linked-account Overview view:

  • monthlyStats — last 6 calendar months per SP type.
  • dailyCoverage — last 30 days of commitment coverage breakdown.
  • savingsTotals — year-to-date and lifetime savings per SP type, clamped to the parent MPA's onboarding start.
  • monthlyPotentialSavings — estimated monthly additional savings per SP type, attributed from the parent MPA's projection.
get/ps4commitments/v1/aws/payer-accounts/{payerAccountId}/linked-accounts/{linkedAccountId}

Path parameters

payerAccountIdstring required
Example:123456789012

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

linkedAccountIdstring required
Example:987654321098

AWS linked (member) account ID (12-digit AWS account number).

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

Linked account detail.

linkedAccountIdstring required

12-digit AWS linked (member) account ID.

payerAccountIdstring required

Parent Master Payer Account ID.

displayNamestring nullable

Human-readable account alias, if available.

Example response

{
  "displayName": "prod-web",
  "stats30d": {
    "compute": {
      "esr": 0.187,
      "savings": {
        "currency": "USD"
      }
    },
    "database": {
      "esr": 0.187,
      "savings": {
        "currency": "USD"
      }
    }
  },
  "monthlyPotentialSavings": {
    "compute": {
      "currency": "USD"
    },
    "database": {
      "currency": "USD"
    }
  },
  "monthlyStats": {
    "compute": [
      {
        "month": "2025-06",
        "onDemandCost": {
          "currency": "USD"
        },
        "costWithSavings": {
          "currency": "USD"
        }
      }
    ],
    "database": [
      {
        "month": "2025-06",
        "onDemandCost": {
          "currency": "USD"
        },
        "costWithSavings": {
          "currency": "USD"
        }
      }
    ]
  },
  "dailyCoverage": {
    "compute": [
      {
        "onDemandCost": {
          "currency": "USD"
        },
        "savingsPlanCost": {
          "currency": "USD"
        },
        "reservedInstCost": {
          "currency": "USD"
        },
        "flexsaveCost": {
          "currency": "USD"
        },
        "spotCost": {
          "currency": "USD"
        }
      }
    ],
    "database": [
      {
        "onDemandCost": {
          "currency": "USD"
        },
        "savingsPlanCost": {
          "currency": "USD"
        },
        "reservedInstCost": {
          "currency": "USD"
        },
        "flexsaveCost": {
          "currency": "USD"
        },
        "spotCost": {
          "currency": "USD"
        }
      }
    ]
  },
  "savingsTotals": {
    "compute": {
      "ytd": {
        "currency": "USD"
      },
      "lifetime": {
        "currency": "USD"
      }
    },
    "database": {
      "ytd": {
        "currency": "USD"
      },
      "lifetime": {
        "currency": "USD"
      }
    }
  }
}