CreateCustomLineItem
Creates a custom line item that can be used to create a one-time fixed charge that can be applied to a single billing group for the current or previous billing period. The one-time fixed charge is either a fee or discount.
Request Syntax
POST /create-custom-line-item HTTP/1.1
X-Amzn-Client-Token: ClientToken
Content-type: application/json
{
"AccountId": "string
",
"BillingGroupArn": "string
",
"BillingPeriodRange": {
"ExclusiveEndBillingPeriod": "string
",
"InclusiveStartBillingPeriod": "string
"
},
"ChargeDetails": {
"Flat": {
"ChargeValue": number
},
"LineItemFilters": [
{
"Attribute": "string
",
"MatchOption": "string
",
"Values": [ "string
" ]
}
],
"Percentage": {
"AssociatedValues": [ "string
" ],
"PercentageValue": number
},
"Type": "string
"
},
"Description": "string
",
"Name": "string
",
"Tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request uses the following URI parameters.
- ClientToken
-
The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update.
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
[a-zA-Z0-9-]+
Request Body
The request accepts the following data in JSON format.
- AccountId
-
The AWS account in which this custom line item will be applied to.
Type: String
Pattern:
[0-9]{12}
Required: No
- BillingGroupArn
-
The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.
Type: String
Pattern:
(arn:aws(-cn)?:billingconductor::[0-9]{12}:billinggroup/)?[0-9]{12}
Required: Yes
- BillingPeriodRange
-
A time range for which the custom line item is effective.
Type: CustomLineItemBillingPeriodRange object
Required: No
- ChargeDetails
-
A
CustomLineItemChargeDetails
that describes the charge details for a custom line item.Type: CustomLineItemChargeDetails object
Required: Yes
- Description
-
The description of the custom line item. This is shown on the Bills page in association with the charge value.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Required: Yes
- Name
-
The name of the custom line item.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[a-zA-Z0-9_\+=\.\-@]+
Required: Yes
- Tags
-
A map that contains tag keys and tag values that are attached to a custom line item.
Type: String to string map
Map Entries: Maximum number of 200 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"Arn": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- Arn
-
The Amazon Resource Name (ARN) of the created custom line item.
Type: String
Pattern:
(arn:aws(-cn)?:billingconductor::[0-9]{12}:customlineitem/)?[a-zA-Z0-9]{10}
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- ConflictException
-
You can cause an inconsistent state by updating or deleting a resource.
HTTP Status Code: 409
- InternalServerException
-
An unexpected error occurred while processing a request.
HTTP Status Code: 500
- ServiceLimitExceededException
-
The request would cause a service limit to exceed.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied due to request throttling.
HTTP Status Code: 429
- ValidationException
-
The input doesn't match with the constraints specified by AWS services.
HTTP Status Code: 400
Examples
The following example applies a custom line item to another linked account (555555555555) in the billing group.
This example illustrates one usage of CreateCustomLineItem.
Sample Request
POST /create-custom-line-item HTTP/1.1
X-Amzn-Client-Token: ClientToken
Content-type: application/json
{
"BillingGroupArn": "arn:aws:billingconductor::123456789012:billinggroup/111122223333",
"ChargeDetails": {
"Flat": {
"ChargeValue":10
},
"Type": "FEE"
},
"Description": "My custom line item",
"Name": "MyCustomLineItem",
"AccountId": "555555555555"
}
Sample Response
HTTP/1.1 200
Content-type: application/json
{
"Arn": "arn:aws:billingconductor::123456789012:customlineitem/555555555555"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: