list-attribute-attribution-set-versions
dci list-attribute-attribution-set-versions <attributionSetId> [flags]
Returns the saved rule versions of one attribution, newest first, one page at a time. Drafts are included; discarded versions are not. Use it to see how an attribution's rules changed over time.
Paging: send limit; when the response has nextCursor, send it back as after for the
next page. No nextCursor means the last page.
Authenticate with Authorization: Bearer <token>. Omit X-Tenant-Id when the credential
resolves to one customer. When the credential can act on several customers, send
X-Tenant-Id: <tenant-id> to select one.
attributionSetId— TheattributionSetIdof an attribution fromlistAttributeAttributionSets.
Flags
| Flag | Type | Default | Example | Description |
|---|---|---|---|---|
--limit | integer | 100 | Items per page, from 1 to 200. Defaults to 100. | |
--after | string | The nextCursor of the previous page. Omit it for the first page. |
Every command also accepts the CLI-wide flags for output shaping — see Output formats and Table output options.
Output
OK - One page of rule versions.
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 |
|---|---|---|
versions | array of object | Newest first. |
versions[].ruleId | string | |
versions[].version | integer | |
versions[].createdAt | string (date-time) | When the version was saved. |
versions[].rule | object | One rule version of an attribution: how its cost is split into values. Older versions can miss fields; only attributionSetId is always present. |
versions[].rule.attributionSetId | string | |
versions[].rule.state | string | One of: "ui-draft", "etl-ready", "deleted", "discarded". |
versions[].rule.dateRange | object | The days the rules apply to, as a half-open range [startDate, endDate). |
versions[].rule.dateRange.startDate | string (date) | |
versions[].rule.dateRange.endDate | string (date) | Exclusive. Null or absent means open-ended. |
versions[].rule.scope | array of object | Filters that limit the cost the attribution works on; all must match. |
versions[].rule.billingFiltersByBucket | array of object | The rules per bucket (a service, usage account or provider): billing conditions, sensor conditions and what happens to the remaining cost. |
nextCursor | string | Send as after to get the next page. Absent on the last page. |
Raw JSON schema
{
"type": "object",
"required": [
"versions"
],
"properties": {
"versions": {
"type": "array",
"description": "Newest first.",
"items": {
"type": "object",
"required": [
"ruleId",
"rule"
],
"properties": {
"ruleId": {
"type": "string"
},
"version": {
"type": "integer",
"minimum": 1
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When the version was saved."
},
"rule": {
"type": "object",
"description": "One rule version of an attribution: how its cost is split into values. Older versions can\nmiss fields; only `attributionSetId` is always present.",
"required": [
"attributionSetId"
],
"properties": {
"attributionSetId": {
"type": "string"
},
"state": {
"type": "string",
"enum": [
"ui-draft",
"etl-ready",
"deleted",
"discarded"
],
"x-enumDescriptions": {
"ui-draft": "A draft that is not applied to cost.",
"etl-ready": "Published; applied to cost.",
"deleted": "The attribution was deleted.",
"discarded": "A discarded draft."
}
},
"dateRange": {
"type": "object",
"description": "The days the rules apply to, as a half-open range [startDate, endDate).",
"required": [
"startDate"
],
"properties": {
"startDate": {
"type": "string",
"format": "date"
},
"endDate": {
"type": "string",
"format": "date",
"nullable": true,
"description": "Exclusive. Null or absent means open-ended."
}
}
},
"scope": {
"type": "array",
"description": "Filters that limit the cost the attribution works on; all must match.",
"items": {
"type": "object",
"additionalProperties": true
}
},
"billingFiltersByBucket": {
"type": "array",
"description": "The rules per bucket (a service, usage account or provider): billing conditions, sensor\nconditions and what happens to the remaining cost.",
"items": {
"type": "object",
"additionalProperties": true
}
}
}
}
}
}
},
"nextCursor": {
"type": "string",
"description": "Send as `after` to get the next page. Absent on the last page."
}
}
}
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. |
| 409 | 21 | RESOURCE_CONFLICT | The operation conflicts with the resource's current state. |
| 500, 502, 503 | 40 | API_SERVER_ERROR | The API failed to process the request. Retryable; contact DoiT support if it persists. |
Related
- count-attribute-attribution-sets — Count attributions
- get-attribute-attribution-set — Get one attribution
- get-attribute-workload-details — Get one workload's identity
- get-attribute-workloads-cost-data-status — Check whether workload cost data exists
- get-attribute-workloads-signals — Get workloads that need attention
- list-attribute-attribution-sets — List attributions
- list-attribute-workload-non-network-resource-types — List one workload's non-network resource types
- list-attribute-workloads-cloud-providers — List the cloud providers that billed workload resources
- list-attribute-workloads-filter-values — List the values of a workload filter field
- list-attribute-workloads-resource-tag-keys — List resource tag keys
- list-attribute-workloads-resource-tag-values — List the values of one resource tag key
- query-attribute-workload-resources-over-time — Get one workload's resource cost over time
- query-attribute-workload-resources-stats — Get one workload's cost totals
- query-attribute-workload-resources-table — List one workload's cloud resources
- query-attribute-workloads-over-time — Get Kubernetes workload cost over time
- query-attribute-workloads-stats — Get Kubernetes workload cost totals
- query-attribute-workloads-table — List Kubernetes workload costs by dimension
- API reference: GET /attribute/v1/attribution-center/sets/{attributionSetId}/versions
Aliases: listattributeattributionsetversions