get-billing-transfer-program-management-accounts-status
dci get-billing-transfer-program-management-accounts-status
Lightweight polling surface for the onboarding wizard: returns each of the caller's PMAs with only its IAM status/diff and timestamps — no tenant fan-out, no handshake aggregation, no pagination. Distributor-only.
A lightweight polling surface: it returns each PMA's iamStatus, iamDiff and
timestamps only, with no tenant fan-out, handshake counts or pagination. Use
list-billing-transfer-program-management-accounts for the mapped tenants and
handshake status per account.
Examples
# IAM status and timestamps for each of your program management accounts (distributor tenants only).
dci get-billing-transfer-program-management-accounts-status
# Only the account, its IAM status and when it was last updated.
dci get-billing-transfer-program-management-accounts-status -C accountId,iamStatus,updatedAt
# The full records as JSON, including the `iamDiff` of missing and extra permissions, for polling scripts.
dci get-billing-transfer-program-management-accounts-status --output json
Output
OK
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 |
|---|---|---|
items | array of object | |
items[].dpmaId | string | |
items[].accountId | string | 12-digit AWS account ID of the program management account. |
items[].iamStatus | string | |
items[].iamDiff | object | Present when iamStatus indicates drift. null when the deployed IAM matches expectations. |
items[].iamDiff.missing | array of string | |
items[].iamDiff.extra | array of string | |
items[].createdAt | string (date-time) | |
items[].updatedAt | string (date-time) | When this account's root record was last updated. null if never updated. |
Raw JSON schema
{
"type": "object",
"additionalProperties": false,
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"dpmaId",
"accountId",
"iamStatus",
"createdAt"
],
"properties": {
"dpmaId": {
"type": "string"
},
"accountId": {
"type": "string",
"description": "12-digit AWS account ID of the program management account.",
"example": "123456789012"
},
"iamStatus": {
"type": "string"
},
"iamDiff": {
"allOf": [
{
"type": "object",
"additionalProperties": false,
"properties": {
"missing": {
"type": "array",
"items": {
"type": "string"
}
},
"extra": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
],
"nullable": true,
"description": "Present when `iamStatus` indicates drift. `null` when the deployed IAM matches expectations."
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "When this account's root record was last updated. `null` if never updated."
}
}
}
}
}
}
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. |
| 500 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- list-billing-transfer-program-management-accounts — List program management accounts
- create-billing-transfer-reseller-handshakes — Create reseller handshakes (batch)
- list-billing-transfer-end-customers — List end-customers under a reseller PMA
- API reference: GET /billingtransfer/v1/programmanagementaccounts/status
Aliases: getbillingtransferprogrammanagementaccountsstatus