list-billing-transfer-end-customers-by-reseller
dci list-billing-transfer-end-customers-by-reseller <resellerPmaAccountId> [flags]
Same result as GET /billingtransfer/v1/end-customers, identified by
resellerPmaAccountId alone (no dpmaId needed). Callable by the reseller who owns the
PMA or the distributor who owns its DPMA.
resellerPmaAccountId— 12-digit AWS account ID of the reseller's program management account.
Same result as list-billing-transfer-end-customers, keyed by the reseller PMA account
alone (no --dpma-id needed). Callable by the reseller who owns the PMA or the
distributor who owns its DPMA.
Examples
# End-customer account mappings under one reseller PMA.
dci list-billing-transfer-end-customers-by-reseller <reseller-pma-account-id>
# Include mappings that have been revoked (excluded by default).
dci list-billing-transfer-end-customers-by-reseller <reseller-pma-account-id> --include-revoked
# The full list as JSON, for scripts.
dci list-billing-transfer-end-customers-by-reseller <reseller-pma-account-id> --output json
Flags
| Flag | Type | Default | Example | Description |
|---|---|---|---|---|
--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 — List end-customers under a reseller PMA
- list-billing-transfer-reseller-accounts — List the caller's reseller PMA nodes
- list-billing-transfer-reseller-accounts-with-tenants — List the caller's reseller PMA nodes with their end-customer tenants
- create-billing-transfer-end-customer-mappings — Create end-customer mappings (batch)
- API reference: GET /billingtransfer/v1/resellers/{resellerPmaAccountId}/end-customers
Aliases: listbillingtransferendcustomersbyreseller