v1
latestOpenAPI 3.0.02026-07-141,4077,1665.2 MBCloud Cost Management
Update custom allocation rule
Update an existing custom allocation rule with new filters and allocation strategy.
Strategy Methods:
- PROPORTIONAL/EVEN: Allocates costs proportionally/evenly based on existing costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters.
- PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES: Allocates based on timeseries data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys.
- PERCENT: Allocates fixed percentages to specific tags. Requires: allocated_by (array of percentage allocations).
- USAGE_METRIC: Allocates based on usage metrics (implementation varies).
Filter Conditions:
- Use value for single-value conditions: "is", "is not", "contains", "=", "!=", "like", "not like"
- Use values for multi-value conditions: "in", "not in"
- Cannot use both value and values simultaneously.
Supported operators: is, is not, contains, in, not in, =, !=, like, not like
patch/api/v2/cost/arbitrary_rule/{rule_id}
Path parameters
rule_idinteger required
The unique identifier of the custom allocation rule
Request body
Example request
{
"data": {
"attributes": {
"costs_to_allocate": [
{
"condition": "is",
"tag": "account_id",
"value": "123456789",
"values": null
},
{
"condition": "in",
"tag": "environment",
"value": "",
"values": [
"production",
"staging"
]
}
],
"enabled": true,
"order_id": 1,
"provider": [
"aws",
"gcp"
],
"rule_name": "example-arbitrary-cost-rule",
"strategy": {
"allocated_by_tag_keys": [
"team",
"environment"
],
"based_on_costs": [
{
"condition": "is",
"tag": "service",
"value": "web-api",
"values": null
},
{
"condition": "not in",
"tag": "team",
"value": "",
"values": [
"legacy",
"deprecated"
]
}
],
"granularity": "daily",
"method": "proportional"
},
"type": "shared"
},
"type": "upsert_arbitrary_rule"
}
}Response
OK
Example response
{
"data": {
"attributes": {
"costs_to_allocate": [
{
"condition": "is",
"tag": "account_id",
"value": "123456789",
"values": null
},
{
"condition": "in",
"tag": "environment",
"value": "",
"values": [
"production",
"staging"
]
}
],
"created": "2023-01-01T12:00:00Z",
"enabled": true,
"last_modified_user_uuid": "user-123-uuid",
"order_id": 1,
"provider": [
"aws",
"gcp"
],
"rule_name": "Example custom allocation rule",
"strategy": {
"allocated_by_tag_keys": [
"team",
"environment"
],
"based_on_costs": [
{
"condition": "is",
"tag": "service",
"value": "web-api",
"values": null
},
{
"condition": "not in",
"tag": "team",
"value": "",
"values": [
"legacy",
"deprecated"
]
}
],
"granularity": "daily",
"method": "proportional"
},
"type": "shared",
"updated": "2023-01-01T12:00:00Z",
"version": 1
},
"id": "123",
"type": "arbitrary_rule"
}
}