CreateCustomLineItem - AWS Billing Conductor

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: