get-aws-member-account
dci get-aws-member-account <managementAccountId> <memberAccountId>
Returns a single member AWS account with the same list-item fields as List member accounts, plus the Overview time series. Use this when you need a single members Console Overview in one call (identity and onboarding status, 30-day ESR and savings, YTD/lifetime totals, monthly potential savings, and the data behind Cost Summary and Commitment Coverage charts) without fetching every member account.
Fields that drive the Overview tab in the DoiT console:
-
stats30d: last 30 days ESR and realized savings per SP type (ESR and Savings cards). -
monthlyStats: last 6 calendar months of ESR, on-demand cost, and cost with savings per SP type (Cost Summary chart, and month-over-month card trends). -
dailyCoverage: last 30 days of commitment coverage breakdown per SP type (Commitment Coverage chart). -
savingsTotals: year-to-date and lifetime realized savings per SP type (shown under the Savings card). Lifetime is bounded by the parent organization's PerfectScale for Commitments onboarding start. -
monthlyPotentialSavings: estimated monthly additional savings per SP type from the latest purchase projection. -
managementAccountId— 12-digit AWS management (payer) account ID (the account that owns the AWS Organization) that scopes the request. -
memberAccountId— AWS member account ID (12-digit AWS account number).
Examples
# One member account's commitment overview, 30-day stats, savings totals and potential savings.
dci get-aws-member-account <management-account-id> <member-account-id>
# The full record as JSON, including the six-month `monthlyStats` and 30-day `dailyCoverage` series.
dci get-aws-member-account <management-account-id> <member-account-id> --output json
# Only the headline numbers.
dci get-aws-member-account <management-account-id> <member-account-id> --fields displayName,stats30d,monthlyPotentialSavings --output json
Output
Single AWS member account details (same list-item fields as provided for the organization through list member accounts operation) and overview time series: 6 months stats and 30 days of commitment coverage.
By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.
| Field | Type | Description |
|---|---|---|
monthlyStats | object | Trailing 6 calendar months of stats, grouped by SP type. |
monthlyStats.compute | array of object | |
monthlyStats.compute[].month | string | Calendar month in YYYY-MM form (UTC). |
monthlyStats.compute[].esr | number (double) | Effective Savings Rate (ESR) for the month, as a fraction from 0 to 1. Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost. |
monthlyStats.compute[].onDemandCost | object | Eligible on-demand cost for the month. On-demand cost is eligible cloud spend priced at full on-demand rates, that is, not discounted by a commitment. |
monthlyStats.compute[].onDemandCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
monthlyStats.compute[].onDemandCost.currency | string | ISO 4217 currency code. |
monthlyStats.compute[].costWithSavings | object | Actual cost after commitments for the month. |
monthlyStats.compute[].costWithSavings.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
monthlyStats.compute[].costWithSavings.currency | string | ISO 4217 currency code. |
monthlyStats.database | array of object | |
monthlyStats.database[].month | string | Calendar month in YYYY-MM form (UTC). |
monthlyStats.database[].esr | number (double) | Effective Savings Rate (ESR) for the month, as a fraction from 0 to 1. Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost. |
monthlyStats.database[].onDemandCost | object | Eligible on-demand cost for the month. On-demand cost is eligible cloud spend priced at full on-demand rates, that is, not discounted by a commitment. |
monthlyStats.database[].onDemandCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
monthlyStats.database[].onDemandCost.currency | string | ISO 4217 currency code. |
monthlyStats.database[].costWithSavings | object | Actual cost after commitments for the month. |
monthlyStats.database[].costWithSavings.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
monthlyStats.database[].costWithSavings.currency | string | ISO 4217 currency code. |
dailyCoverage | object | Trailing 30 days of commitment coverage, grouped by SP type. |
dailyCoverage.compute | array of object | |
dailyCoverage.compute[].date | string (date) | Calendar day (UTC) for this coverage row in format YYYY-MM-DD. |
dailyCoverage.compute[].onDemandCost | object | On-demand spend not covered by commitments for the day. |
dailyCoverage.compute[].onDemandCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].onDemandCost.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].savingsPlanCost | object | Spend covered by Savings Plans for the day. |
dailyCoverage.compute[].savingsPlanCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].savingsPlanCost.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].reservedInstCost | object | Spend covered by Reserved Instances for the day. |
dailyCoverage.compute[].reservedInstCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].reservedInstCost.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].flexsaveCost | object | Spend covered by DoiT Flexsave for the day. |
dailyCoverage.compute[].flexsaveCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].flexsaveCost.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].spotCost | object | Spot Instance spend for the day. |
dailyCoverage.compute[].spotCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].spotCost.currency | string | ISO 4217 currency code. |
dailyCoverage.database | array of object | |
dailyCoverage.database[].date | string (date) | Calendar day (UTC) for this coverage row in format YYYY-MM-DD. |
dailyCoverage.database[].onDemandCost | object | On-demand spend not covered by commitments for the day. |
dailyCoverage.database[].onDemandCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.database[].onDemandCost.currency | string | ISO 4217 currency code. |
dailyCoverage.database[].savingsPlanCost | object | Spend covered by Savings Plans for the day. |
dailyCoverage.database[].savingsPlanCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.database[].savingsPlanCost.currency | string | ISO 4217 currency code. |
dailyCoverage.database[].reservedInstCost | object | Spend covered by Reserved Instances for the day. |
dailyCoverage.database[].reservedInstCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.database[].reservedInstCost.currency | string | ISO 4217 currency code. |
dailyCoverage.database[].flexsaveCost | object | Spend covered by DoiT Flexsave for the day. |
dailyCoverage.database[].flexsaveCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.database[].flexsaveCost.currency | string | ISO 4217 currency code. |
dailyCoverage.database[].spotCost | object | Spot Instance spend for the day. |
dailyCoverage.database[].spotCost.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.database[].spotCost.currency | string | ISO 4217 currency code. |
savingsTotals | object | Year-to-date and lifetime savings, grouped by SP type. Lifetime is bounded by the parent AWS organization's PerfectScale for Commitments onboarding start. |
savingsTotals.compute | object | Running savings figures derived server-side from the full monthly stats history, as the sum of onDemandCost - costWithSavings per month. lifetime starts at PerfectScale for Commitments onboarding; ytd starts at the later of January 1 of the current year and onboarding. Months before the bound are excluded; the bound month and the current month are prorated. |
savingsTotals.compute.ytd | object | Year-to-date realized savings. |
savingsTotals.compute.ytd.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
savingsTotals.compute.ytd.currency | string | ISO 4217 currency code. |
savingsTotals.compute.lifetime | object | Lifetime realized savings since onboarding. |
savingsTotals.compute.lifetime.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
savingsTotals.compute.lifetime.currency | string | ISO 4217 currency code. |
savingsTotals.database | object | Running savings figures derived server-side from the full monthly stats history, as the sum of onDemandCost - costWithSavings per month. lifetime starts at PerfectScale for Commitments onboarding; ytd starts at the later of January 1 of the current year and onboarding. Months before the bound are excluded; the bound month and the current month are prorated. |
savingsTotals.database.ytd | object | Year-to-date realized savings. |
savingsTotals.database.ytd.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
savingsTotals.database.ytd.currency | string | ISO 4217 currency code. |
savingsTotals.database.lifetime | object | Lifetime realized savings since onboarding. |
savingsTotals.database.lifetime.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
savingsTotals.database.lifetime.currency | string | ISO 4217 currency code. |
memberAccountId | string | 12-digit AWS member account ID. |
managementAccountId | string | 12-digit AWS management (payer) account ID of the parent AWS Organization. |
displayName | string | Human-readable account name, if available. Defaults to the AWS Organizations account name; may be overridden by a custom name set on the asset in the DoiT Console. Null when no name is available. |
stats30d | object | Trailing 30-day aggregate metrics per SP type (compute, database). |
stats30d.compute | object | Minimal 30-day aggregate. Only esr and savings are persisted at this granularity. Responses are denominated in USD. |
stats30d.compute.esr | number (double) | Effective Savings Rate (ESR) over the last 30 days, as a fraction from 0 to 1 (for example, 0.187 is 18.7%). Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost. Higher ESR means greater realized savings. Null when not yet available. |
stats30d.compute.savings | object | Total savings realized over the last 30 days from active commitments (USD). |
stats30d.compute.savings.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
stats30d.compute.savings.currency | string | ISO 4217 currency code. |
stats30d.database | object | Minimal 30-day aggregate. Only esr and savings are persisted at this granularity. Responses are denominated in USD. |
stats30d.database.esr | number (double) | Effective Savings Rate (ESR) over the last 30 days, as a fraction from 0 to 1 (for example, 0.187 is 18.7%). Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost. Higher ESR means greater realized savings. Null when not yet available. |
stats30d.database.savings | object | Total savings realized over the last 30 days from active commitments (USD). |
stats30d.database.savings.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
stats30d.database.savings.currency | string | ISO 4217 currency code. |
monthlyPotentialSavings | object | Estimated monthly additional savings per SP type for this member account, attributed from the parent AWS organization's projection by share of trailing-60-day Savings Plan-eligible on-demand cost. |
monthlyPotentialSavings.compute | object | |
monthlyPotentialSavings.compute.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
monthlyPotentialSavings.compute.currency | string | ISO 4217 currency code. |
monthlyPotentialSavings.database | object | |
monthlyPotentialSavings.database.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
monthlyPotentialSavings.database.currency | string | ISO 4217 currency code. |
Raw JSON schema
{
"description": "Single member AWS account detail. Adds the trailing-window stats that drive the per-member-account view on the DoiT Console overview screen on top of the list-item shape:\n- `monthlyStats`: last 6 calendar months per SP type.\n- `dailyCoverage`: last 30 days per SP type.\n- `savingsTotals`: year-to-date and lifetime savings per SP type, bounded by the parent AWS organization's PerfectScale for Commitments onboarding start.\n\n`monthlyPotentialSavings` (estimated monthly additional savings per SP type) is inherited from the list-item shape (`AwsMemberAccount`).",
"allOf": [
{
"type": "object",
"required": [
"memberAccountId",
"managementAccountId"
],
"properties": {
"memberAccountId": {
"type": "string",
"description": "12-digit AWS member account ID."
},
"managementAccountId": {
"type": "string",
"description": "12-digit AWS management (payer) account ID of the parent AWS Organization."
},
"displayName": {
"type": "string",
"description": "Human-readable account name, if available. Defaults to the AWS Organizations account name; may be overridden by a custom name set on the asset in the DoiT Console. Null when no name is available.",
"nullable": true,
"example": "prod-web"
},
"stats30d": {
"type": "object",
"description": "Trailing 30-day aggregate metrics per SP type (`compute`, `database`).",
"properties": {
"compute": {
"type": "object",
"description": "Minimal 30-day aggregate. Only `esr` and `savings` are persisted at this granularity. Responses are denominated in USD.",
"properties": {
"esr": {
"type": "number",
"format": "double",
"description": "Effective Savings Rate (ESR) over the last 30 days, as a fraction from 0 to 1 (for example, `0.187` is 18.7%). Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost. Higher ESR means greater realized savings. Null when not yet available.",
"nullable": true,
"example": 0.187
},
"savings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Total savings realized over the last 30 days from active commitments (USD)."
}
}
},
"database": {
"type": "object",
"description": "Minimal 30-day aggregate. Only `esr` and `savings` are persisted at this granularity. Responses are denominated in USD.",
"properties": {
"esr": {
"type": "number",
"format": "double",
"description": "Effective Savings Rate (ESR) over the last 30 days, as a fraction from 0 to 1 (for example, `0.187` is 18.7%). Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost. Higher ESR means greater realized savings. Null when not yet available.",
"nullable": true,
"example": 0.187
},
"savings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Total savings realized over the last 30 days from active commitments (USD)."
}
}
}
}
},
"monthlyPotentialSavings": {
"allOf": [
{
"type": "object",
"description": "Estimated monthly additional savings per Savings Plan (SP) type, taken from the latest PerfectScale for Commitments purchase projection. Unlike `savingsTotals` (realized YTD/lifetime savings), this is a forward-looking estimate of the monthly savings achievable if the recommended commitments are purchased. For member accounts, the AWS organization figure is attributed by each member account's share of trailing-60-day SP-eligible on-demand cost. A per-SP-type value of `0.00` means the latest projection is missing, expired, or empty. The field is omitted entirely only for accounts that have never had potential savings computed.",
"properties": {
"compute": {
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
},
"database": {
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
}
}
],
"description": "Estimated monthly additional savings per SP type for this member account, attributed from the parent AWS organization's projection by share of trailing-60-day Savings Plan-eligible on-demand cost."
}
}
},
{
"type": "object",
"properties": {
"monthlyStats": {
"type": "object",
"description": "Trailing 6 calendar months of stats, grouped by SP type.",
"properties": {
"compute": {
"type": "array",
"items": {
"type": "object",
"required": [
"month",
"esr",
"onDemandCost",
"costWithSavings"
],
"description": "One calendar-month aggregate for the AWS organization. Money fields are wrapped objects (`{amount, currency}`).",
"properties": {
"month": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Calendar month in `YYYY-MM` form (UTC).",
"example": "2025-06"
},
"esr": {
"type": "number",
"format": "double",
"description": "Effective Savings Rate (ESR) for the month, as a fraction from 0 to 1. Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost."
},
"onDemandCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Eligible on-demand cost for the month. On-demand cost is eligible cloud spend priced at full on-demand rates, that is, not discounted by a commitment."
},
"costWithSavings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Actual cost after commitments for the month."
}
}
}
},
"database": {
"type": "array",
"items": {
"type": "object",
"required": [
"month",
"esr",
"onDemandCost",
"costWithSavings"
],
"description": "One calendar-month aggregate for the AWS organization. Money fields are wrapped objects (`{amount, currency}`).",
"properties": {
"month": {
"type": "string",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
"description": "Calendar month in `YYYY-MM` form (UTC).",
"example": "2025-06"
},
"esr": {
"type": "number",
"format": "double",
"description": "Effective Savings Rate (ESR) for the month, as a fraction from 0 to 1. Measures what share of eligible spend is saved through active commitments compared with equivalent on-demand cost."
},
"onDemandCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Eligible on-demand cost for the month. On-demand cost is eligible cloud spend priced at full on-demand rates, that is, not discounted by a commitment."
},
"costWithSavings": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Actual cost after commitments for the month."
}
}
}
}
}
},
"dailyCoverage": {
"type": "object",
"description": "Trailing 30 days of commitment coverage, grouped by SP type.",
"properties": {
"compute": {
"type": "array",
"items": {
"type": "object",
"required": [
"date"
],
"description": "One day of commitment-coverage breakdown. Money fields are wrapped objects (`{amount, currency}`). Omitted cost properties mean that coverage type had no spend for the day.",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "Calendar day (UTC) for this coverage row in format YYYY-MM-DD."
},
"onDemandCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "On-demand spend not covered by commitments for the day."
},
"savingsPlanCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spend covered by Savings Plans for the day."
},
"reservedInstCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spend covered by Reserved Instances for the day."
},
"flexsaveCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spend covered by DoiT Flexsave for the day."
},
"spotCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spot Instance spend for the day."
}
}
}
},
"database": {
"type": "array",
"items": {
"type": "object",
"required": [
"date"
],
"description": "One day of commitment-coverage breakdown. Money fields are wrapped objects (`{amount, currency}`). Omitted cost properties mean that coverage type had no spend for the day.",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "Calendar day (UTC) for this coverage row in format YYYY-MM-DD."
},
"onDemandCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "On-demand spend not covered by commitments for the day."
},
"savingsPlanCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spend covered by Savings Plans for the day."
},
"reservedInstCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spend covered by Reserved Instances for the day."
},
"flexsaveCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spend covered by DoiT Flexsave for the day."
},
"spotCost": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Spot Instance spend for the day."
}
}
}
}
}
},
"savingsTotals": {
"type": "object",
"description": "Year-to-date and lifetime savings, grouped by SP type. Lifetime is bounded by the parent AWS organization's PerfectScale for Commitments onboarding start.",
"properties": {
"compute": {
"type": "object",
"required": [
"ytd",
"lifetime"
],
"description": "Running savings figures derived server-side from the full monthly stats history, as the sum of `onDemandCost - costWithSavings` per month. `lifetime` starts at PerfectScale for Commitments onboarding; `ytd` starts at the later of January 1 of the current year and onboarding. Months before the bound are excluded; the bound month and the current month are prorated.",
"properties": {
"ytd": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Year-to-date realized savings."
},
"lifetime": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Lifetime realized savings since onboarding."
}
}
},
"database": {
"type": "object",
"required": [
"ytd",
"lifetime"
],
"description": "Running savings figures derived server-side from the full monthly stats history, as the sum of `onDemandCost - costWithSavings` per month. `lifetime` starts at PerfectScale for Commitments onboarding; `ytd` starts at the later of January 1 of the current year and onboarding. Months before the bound are excluded; the bound month and the current month are prorated.",
"properties": {
"ytd": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Year-to-date realized savings."
},
"lifetime": {
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"type": "string",
"pattern": "^-?(0|[1-9]\\d*)(\\.\\d+)?$",
"description": "Decimal monetary amount at ISO 4217 minor-unit precision (string).",
"example": "100.00"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO 4217 currency code.",
"example": "USD"
}
}
}
],
"description": "Lifetime realized savings since onboarding."
}
}
}
}
}
}
}
]
}
Errors
On failure, dci prints a single error message — with a hint when one is available — and exits with a typed code your scripts can branch on. See Errors and exit codes for the full contract.
HTTP status to exit code mapping
| HTTP status | Exit code | Error code | Meaning |
|---|---|---|---|
| 400 | 30 | VALIDATION_ERROR | The arguments or request body were rejected. Review the command's flags and payload. |
| 401 | 10 | AUTHENTICATION_FAILED | Not signed in, or the API token is invalid. Run dci login or check DCI_API_KEY. |
| 403 | 11 | PERMISSION_DENIED | The DoiT user or the active customer context does not have access. |
| 404 | 20 | RESOURCE_NOT_FOUND | The requested resource does not exist. Check the identifier argument. |
| 500, 503 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- list-aws-member-accounts — List member accounts under an AWS organization
- get-aws-organization — Get an AWS organization
- list-aws-organizations — List AWS organizations
- list-aws-savings-plans — List AWS Savings Plans
- API reference: GET /ps4commitments/v1/aws/organizations/{managementAccountId}/member-accounts/{memberAccountId}
Aliases: getawsmemberaccount