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
-
A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.
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: