Skip to main content

list-attribute-attribution-sets

dci list-attribute-attribution-sets [flags]

Returns the customer's attributions (Attribution Center sets), sorted by name, one page at a time. Each set has its latest rule version in rule; rule.state is etl-ready for a published attribution and ui-draft for a draft. activeRuleId is the newest published version, or null when the set was never published. Deleted attributions are not listed.

To get an attribution's cost over time or by value, run a Cloud Analytics report with dataSource: attribution and the dimension attribution_tier_1 whose id is attributionSetId with - replaced by _. Only published attributions with data have cost.

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.

Flags​

FlagTypeDefaultExampleDescription
--limitinteger100Items per page, from 1 to 200. Defaults to 100.
--afterstringThe 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 attributions.

By default dci renders the result as a table. Use --output json to get the full structure described below — see Output formats.

FieldTypeDescription
setsarray of object
sets[].attributionSetIdstringThe attribution's ID. In Cloud Analytics reports, use it with - replaced by _ as the id of the attribution_tier_1, attribution_tier_2 and attribution_tier_3 dimensions.
sets[].namestring
sets[].descriptionstring
sets[].ruleIdstringID of the latest rule version.
sets[].versionintegerNumber of the latest rule version.
sets[].updatedAtstring (date-time)When the latest rule version was saved.
sets[].ruleobjectOne rule version of an attribution: how its cost is split into values. Older versions can miss fields; only attributionSetId is always present.
sets[].rule.attributionSetIdstring
sets[].rule.statestringOne of: "ui-draft", "etl-ready", "deleted", "discarded".
sets[].rule.dateRangeobjectThe days the rules apply to, as a half-open range [startDate, endDate).
sets[].rule.dateRange.startDatestring (date)
sets[].rule.dateRange.endDatestring (date)Exclusive. Null or absent means open-ended.
sets[].rule.scopearray of objectFilters that limit the cost the attribution works on; all must match.
sets[].rule.billingFiltersByBucketarray of objectThe rules per bucket (a service, usage account or provider): billing conditions, sensor conditions and what happens to the remaining cost.
sets[].activeRuleIdstringID of the newest published (etl-ready) rule version; null when there is none.
nextCursorstringSend as after to get the next page. Absent on the last page.
Raw JSON schema
{
"type": "object",
"required": [
"sets"
],
"properties": {
"sets": {
"type": "array",
"items": {
"type": "object",
"required": [
"attributionSetId",
"name",
"description",
"ruleId",
"rule"
],
"properties": {
"attributionSetId": {
"type": "string",
"description": "The attribution's ID. In Cloud Analytics reports, use it with `-` replaced by `_` as the\nid of the `attribution_tier_1`, `attribution_tier_2` and `attribution_tier_3` dimensions."
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"ruleId": {
"type": "string",
"description": "ID of the latest rule version."
},
"version": {
"type": "integer",
"minimum": 1,
"description": "Number of the latest rule version."
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "When the latest rule 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
}
}
}
},
"activeRuleId": {
"type": "string",
"nullable": true,
"description": "ID of the newest published (`etl-ready`) rule version; null when there is none."
}
}
}
},
"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 statusExit codeError codeMeaning
40030VALIDATION_ERRORThe arguments or request body were rejected. Review the command's flags and payload.
40110AUTHENTICATION_FAILEDNot signed in, or the API token is invalid. Run dci login or check DCI_API_KEY.
40311PERMISSION_DENIEDThe DoiT user or the active customer context does not have access.
40420RESOURCE_NOT_FOUNDThe requested resource does not exist. Check the identifier argument.
40921RESOURCE_CONFLICTThe operation conflicts with the resource's current state.
500, 502, 50340API_SERVER_ERRORThe API failed to process the request. Retryable; contact DoiT support if it persists.

Aliases: listattributeattributionsets