get-gcp-billing-account
dci get-gcp-billing-account <billingAccountId>
Returns a single GCP Billing Account with the same list-item fields as List GCP Billing Accounts, plus the Overview time series. Use this when you need a single billing account's Console Overview in one call (identity and onboarding status, 30-day ESR and savings, YTD/lifetime totals, CUD export health, and the data behind Cost Summary and CUD Coverage charts) without fetching every billing account.
Fields that drive the Overview tab in the DoiT console:
-
stats30d: last 30 days ESR and realized savings per product line (ESR and Savings cards). -
monthlyStats: last 6 calendar months of ESR, on-demand cost, and cost with savings per product line (Cost Summary chart, and month-over-month card trends). -
dailyCoverage: last 30 days of CUD coverage breakdown per product line (CUD Coverage chart). -
savingsTotals: year-to-date and lifetime realized savings per product line (shown under the Savings card). Lifetime is bounded by PerfectScale for Commitments onboarding start. -
billingAccountId— GCP Billing Account ID (formatXXXXXX-XXXXXX-XXXXXX; the account that owns the CUDs) that scopes the request.
Output
Single GCP Billing Account details (same list-item fields as provided for the billing account through list GCP billing accounts operation) and overview time series: 6 months stats and 30 days of CUD 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 billing account stats, grouped by product line. |
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. |
dailyCoverage | object | Trailing 30 days of CUD coverage, grouped by product line. |
dailyCoverage.compute | array of object | |
dailyCoverage.compute[].date | string (date) | Calendar day (UTC) for this coverage row in format YYYY-MM-DD. |
dailyCoverage.compute[].computeFlexible | object | Spend covered by Compute Flexible CUDs for the day. |
dailyCoverage.compute[].computeFlexible.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].computeFlexible.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].cloudRun | object | Spend covered by Cloud Run CUDs for the day. |
dailyCoverage.compute[].cloudRun.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].cloudRun.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].bigQuery | object | Spend covered by BigQuery CUDs for the day. |
dailyCoverage.compute[].bigQuery.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].bigQuery.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].bigtable | object | Spend covered by Bigtable CUDs for the day. |
dailyCoverage.compute[].bigtable.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].bigtable.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].cloudSql | object | Spend covered by Cloud SQL CUDs for the day. |
dailyCoverage.compute[].cloudSql.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].cloudSql.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].cloudFirestore | object | Spend covered by Cloud Firestore CUDs for the day. |
dailyCoverage.compute[].cloudFirestore.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].cloudFirestore.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].cloudSpanner | object | Spend covered by Cloud Spanner CUDs for the day. |
dailyCoverage.compute[].cloudSpanner.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].cloudSpanner.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].memorystoreForRedis | object | Spend covered by Memorystore for Redis CUDs for the day. |
dailyCoverage.compute[].memorystoreForRedis.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].memorystoreForRedis.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].alloyDb | object | Spend covered by AlloyDB CUDs for the day. |
dailyCoverage.compute[].alloyDb.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].alloyDb.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].backupForOracle | object | Spend covered by Google Cloud Backup and DR for Oracle CUDs for the day. |
dailyCoverage.compute[].backupForOracle.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].backupForOracle.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].kafka | object | Spend covered by Kafka CUDs for the day. |
dailyCoverage.compute[].kafka.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].kafka.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].resourceBased | object | Spend covered by resource-based (vCPU / memory) CUDs for the day. |
dailyCoverage.compute[].resourceBased.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].resourceBased.currency | string | ISO 4217 currency code. |
dailyCoverage.compute[].onDemand | object | On-demand spend not covered by any CUD for the day. |
dailyCoverage.compute[].onDemand.amount | string | Decimal monetary amount at ISO 4217 minor-unit precision (string). |
dailyCoverage.compute[].onDemand.currency | string | ISO 4217 currency code. |
billingAccountId | string | GCP Billing Account ID. |
displayName | string | Human-readable account name, if available. Defaults to the GCP Billing Account display name; may be overridden by a custom name set on the asset in the DoiT Console. Null when no name is available. |
currency | string | ISO 4217 currency code for this billing account. |
onboardingStatus | object | PerfectScale for Commitments onboarding status for each commitment type on the GCP billing account (compute). A commitment type is omitted when it is not onboarded. When done, inventory and recommendations for that commitment type are available. |
onboardingStatus.compute | object | |
onboardingStatus.compute.status | string | Current onboarding lifecycle stage for this product line. One of: "not_started", "onboarding", "done", "error". |
onboardingStatus.compute.onboardingStartedAt | string (date-time) | When PerfectScale for Commitments first began tracking commitments for this commitment type. Bounds lifetime savings totals and onboarding history in the DoiT Console. Omitted or null when onboarding has not started. |
cudExportHealthy | boolean | true if the BigQuery CUD export is healthy and up to date. |
commitmentsSyncTime | string (date-time) | Timestamp of the last successful CUD inventory sync. Null when a sync has not completed yet. |
stats30d | object | Trailing 30-day aggregate metrics (esr, savings), broken down by product line. |
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. |
savingsTotals | object | Year-to-date and lifetime savings per product line. Same values as returned by GET /ps4commitments/v1/gcp/billing-accounts/\{billingAccountId\} for this billing account, so callers can sum totals across billing accounts without making an extra get-by-id call per billing account. Lifetime is bounded by each billing account's PerfectScale for Commitments onboarding start date. |
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. |
Raw JSON schema
{
"allOf": [
{
"type": "object",
"required": [
"billingAccountId"
],
"properties": {
"billingAccountId": {
"type": "string",
"description": "GCP Billing Account ID.",
"example": "01D4A2-4E3F1B-9C72A0"
},
"displayName": {
"type": "string",
"description": "Human-readable account name, if available. Defaults to the GCP Billing Account display name; may be overridden by a custom name set on the asset in the DoiT Console. Null when no name is available.",
"nullable": true
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code for this billing account.",
"nullable": true,
"example": "USD"
},
"onboardingStatus": {
"allOf": [
{
"type": "object",
"description": "PerfectScale for Commitments onboarding status for each commitment type on the GCP billing account (`compute`). A commitment type is omitted when it is not onboarded. When `done`, inventory and recommendations for that commitment type are available.",
"properties": {
"compute": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"type": "string",
"description": "Current onboarding lifecycle stage for this product line.",
"enum": [
"not_started",
"onboarding",
"done",
"error"
],
"x-enumDescriptions": {
"not_started": "This commitment type has not begun onboarding.",
"onboarding": "Onboarding is in progress (inventory and models still initializing).",
"done": "Onboarding completed, commitments and recommendations are available.",
"error": "Onboarding failed, check the DoiT Console or contact support for remediation."
}
},
"onboardingStartedAt": {
"type": "string",
"format": "date-time",
"description": "When PerfectScale for Commitments first began tracking commitments for this commitment type. Bounds lifetime savings totals and onboarding history in the DoiT Console. Omitted or null when onboarding has not started.",
"nullable": true
}
}
}
}
}
]
},
"cudExportHealthy": {
"type": "boolean",
"description": "`true` if the BigQuery CUD export is healthy and up to date.",
"nullable": true
},
"commitmentsSyncTime": {
"type": "string",
"format": "date-time",
"description": "Timestamp of the last successful CUD inventory sync. Null when a sync has not completed yet.",
"nullable": true
},
"stats30d": {
"type": "object",
"description": "Trailing 30-day aggregate metrics (`esr`, `savings`), broken down by product line.",
"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)."
}
}
}
}
},
"savingsTotals": {
"type": "object",
"description": "Year-to-date and lifetime savings per product line. Same values as returned by `GET /ps4commitments/v1/gcp/billing-accounts/{billingAccountId}` for this billing account, so callers can sum totals across billing accounts without making an extra get-by-id call per billing account. Lifetime is bounded by each billing account's PerfectScale for Commitments onboarding start date.",
"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."
}
}
}
}
}
}
},
{
"type": "object",
"properties": {
"monthlyStats": {
"type": "object",
"description": "Trailing 6 calendar months of billing account stats, grouped by product line.",
"properties": {
"compute": {
"type": "array",
"items": {
"type": "object",
"required": [
"month",
"esr",
"onDemandCost",
"costWithSavings"
],
"description": "One calendar-month aggregate for the billing account. 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 CUD coverage, grouped by product line.",
"properties": {
"compute": {
"type": "array",
"items": {
"type": "object",
"required": [
"date"
],
"description": "One day of CUD coverage breakdown. Money fields are wrapped objects (`{amount, currency}`). Omitted cost properties mean that coverage sub-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."
},
"computeFlexible": {
"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 Compute Flexible CUDs for the day."
},
"cloudRun": {
"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 Cloud Run CUDs for the day."
},
"bigQuery": {
"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 BigQuery CUDs for the day."
},
"bigtable": {
"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 Bigtable CUDs for the day."
},
"cloudSql": {
"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 Cloud SQL CUDs for the day."
},
"cloudFirestore": {
"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 Cloud Firestore CUDs for the day."
},
"cloudSpanner": {
"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 Cloud Spanner CUDs for the day."
},
"memorystoreForRedis": {
"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 Memorystore for Redis CUDs for the day."
},
"alloyDb": {
"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 AlloyDB CUDs for the day."
},
"backupForOracle": {
"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 Google Cloud Backup and DR for Oracle CUDs for the day."
},
"kafka": {
"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 Kafka CUDs for the day."
},
"resourceBased": {
"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 resource-based (vCPU / memory) CUDs for the day."
},
"onDemand": {
"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 any CUD for the day."
}
}
}
}
}
}
}
}
]
}
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
- get-gcp-recommendation — Get a GCP recommendation
- list-gcp-billing-accounts — List GCP billing accounts
- list-gcp-billing-accounts-settings — List billing account engine settings
- list-gcp-planned-purchases — List GCP planned purchases
- list-gcp-recommendations — List GCP recommendations
- list-gcp-resource-cuds — List GCP resource-based Committed Use Discounts
- list-gcp-spend-cuds — List GCP spend-based Committed Use Discounts
- API reference: GET /ps4commitments/v1/gcp/billing-accounts/{billingAccountId}
Aliases: getgcpbillingaccount