list-billing-transfer-end-customers
dci list-billing-transfer-end-customers [flags]
Lists the end-customer AWS account mappings under a reseller's program management
account, identified by dpmaId and resellerPmaAccountId. Callable by the reseller who
owns the PMA or the distributor who owns the DPMA.
Callable by the reseller who owns the PMA or the distributor who owns the DPMA. If you
only know the reseller PMA account, list-billing-transfer-end-customers-by-reseller
returns the same result without --dpma-id.
Examples
# End-customer account mappings under one reseller PMA, identified by the distributor PMA and the reseller PMA account.
dci list-billing-transfer-end-customers --dpma-id <dpma-id> --reseller-pma-account-id 123456789012
# Include mappings that have been revoked (excluded by default).
dci list-billing-transfer-end-customers --dpma-id <dpma-id> --reseller-pma-account-id 123456789012 --include-revoked
# Only the account, customer and mapping status columns.
dci list-billing-transfer-end-customers --dpma-id <dpma-id> --reseller-pma-account-id 123456789012 -C ecAccountId,ecCustomerId,status,handshakeState
# The full list as JSON, for scripts.
dci list-billing-transfer-end-customers --dpma-id <dpma-id> --reseller-pma-account-id 123456789012 --output json
Flags
| Flag | Type | Default | Example | Description |
|---|---|---|---|---|
--dpma-id | string | DPMA ID that owns the reseller PMA referenced by resellerPmaAccountId. | ||
--reseller-pma-account-id | string | 123456789012 | 12-digit AWS account ID of the reseller's program management account. | |
--include-revoked | boolean | false | If true, includes end-customer mappings that have been revoked. Defaults to false (revoked mappings are excluded). |
Every command also accepts the CLI-wide flags for output shaping — see Output formats and Table output options.
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[].ecAccountId | string | 12-digit AWS account ID of the end-customer account. |
items[].ecCustomerId | string | DoiT customer ID the end-customer account is mapped to. |
items[].status | string | One of: "pending", "cur_export_waiting", "active", "canceled", "declined", "expired", "revoked". |
items[].handshakeState | string | AWS Organizations Handshake State value, lowercased. One of: "requested", "open", "canceled", "accepted", "declined", "expired". |
items[].billSourceType | string | |
items[].curBasePath | string | S3 key prefix where this end customer's CUR data lands. Omitted when no path was recorded at mapping time. |
items[].effectiveTime | string (date-time) | When the handshake reached a terminal state. null until then. |
items[].createdAt | string (date-time) | |
items[].lastRefreshTime | string (date-time) | When this mapping's status was last refreshed. null if never refreshed. |
Raw JSON schema
{
"type": "object",
"additionalProperties": false,
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"ecAccountId",
"ecCustomerId",
"status",
"handshakeState",
"billSourceType",
"createdAt"
],
"properties": {
"ecAccountId": {
"type": "string",
"description": "12-digit AWS account ID of the end-customer account.",
"example": "123456789012"
},
"ecCustomerId": {
"type": "string",
"description": "DoiT customer ID the end-customer account is mapped to."
},
"status": {
"type": "string",
"enum": [
"pending",
"cur_export_waiting",
"active",
"canceled",
"declined",
"expired",
"revoked"
]
},
"handshakeState": {
"type": "string",
"description": "AWS Organizations Handshake `State` value, lowercased.",
"enum": [
"requested",
"open",
"canceled",
"accepted",
"declined",
"expired"
]
},
"billSourceType": {
"type": "string"
},
"curBasePath": {
"type": "string",
"description": "S3 key prefix where this end customer's CUR data lands. Omitted when no path was recorded at mapping time.",
"example": "cur2/dpma_rpma_ec"
},
"effectiveTime": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "When the handshake reached a terminal state. `null` until then."
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"lastRefreshTime": {
"type": "string",
"format": "date-time",
"nullable": true,
"description": "When this mapping's status was last refreshed. `null` if never refreshed."
}
}
}
}
}
}
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 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- list-billing-transfer-end-customers-by-reseller — List end-customers under a reseller PMA, by reseller PMA alone
- create-billing-transfer-end-customer-mappings — Create end-customer mappings (batch)
- list-billing-transfer-reseller-accounts-with-tenants — List the caller's reseller PMA nodes with their end-customer tenants
- list-billing-transfer-program-management-accounts — List program management accounts
- API reference: GET /billingtransfer/v1/end-customers
Aliases: listbillingtransferendcustomers