

# AWS Invoicing


The following actions are supported by AWS Invoicing:
+  [BatchGetInvoiceProfile](API_invoicing_BatchGetInvoiceProfile.md) 
+  [CreateInvoiceUnit](API_invoicing_CreateInvoiceUnit.md) 
+  [CreateProcurementPortalPreference](API_invoicing_CreateProcurementPortalPreference.md) 
+  [DeleteInvoiceUnit](API_invoicing_DeleteInvoiceUnit.md) 
+  [DeleteProcurementPortalPreference](API_invoicing_DeleteProcurementPortalPreference.md) 
+  [GetInvoicePDF](API_invoicing_GetInvoicePDF.md) 
+  [GetInvoiceUnit](API_invoicing_GetInvoiceUnit.md) 
+  [GetProcurementPortalPreference](API_invoicing_GetProcurementPortalPreference.md) 
+  [ListInvoiceSummaries](API_invoicing_ListInvoiceSummaries.md) 
+  [ListInvoiceUnits](API_invoicing_ListInvoiceUnits.md) 
+  [ListProcurementPortalPreferences](API_invoicing_ListProcurementPortalPreferences.md) 
+  [ListTagsForResource](API_invoicing_ListTagsForResource.md) 
+  [PutProcurementPortalPreference](API_invoicing_PutProcurementPortalPreference.md) 
+  [TagResource](API_invoicing_TagResource.md) 
+  [UntagResource](API_invoicing_UntagResource.md) 
+  [UpdateInvoiceUnit](API_invoicing_UpdateInvoiceUnit.md) 
+  [UpdateProcurementPortalPreferenceStatus](API_invoicing_UpdateProcurementPortalPreferenceStatus.md) 

# BatchGetInvoiceProfile


This gets the invoice profile associated with a set of accounts. The accounts must be linked accounts under the requester management account organization.

## Request Syntax


```
{
   "AccountIds": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AccountIds](#API_invoicing_BatchGetInvoiceProfile_RequestSyntax) **   <a name="awscostmanagement-invoicing_BatchGetInvoiceProfile-request-AccountIds"></a>
Retrieves the corresponding invoice profile data for these account IDs.   
Type: Array of strings  
Array Members: Minimum number of 1 item. Maximum number of 1000 items.  
Pattern: `\d{12}`   
Required: Yes

## Response Syntax


```
{
   "Profiles": [ 
      { 
         "AccountId": "string",
         "Issuer": "string",
         "ReceiverAddress": { 
            "AddressLine1": "string",
            "AddressLine2": "string",
            "AddressLine3": "string",
            "City": "string",
            "CompanyName": "string",
            "CountryCode": "string",
            "DistrictOrCounty": "string",
            "PostalCode": "string",
            "StateOrRegion": "string"
         },
         "ReceiverEmail": "string",
         "ReceiverName": "string",
         "TaxRegistrationNumber": "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.

 ** [Profiles](#API_invoicing_BatchGetInvoiceProfile_ResponseSyntax) **   <a name="awscostmanagement-invoicing_BatchGetInvoiceProfile-response-Profiles"></a>
 A list of invoice profiles corresponding to the requested accounts.   
Type: Array of [InvoiceProfile](API_invoicing_InvoiceProfile.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/BatchGetInvoiceProfile) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/BatchGetInvoiceProfile) 

# CreateInvoiceUnit


This creates a new invoice unit with the provided definition.

## Request Syntax


```
{
   "Description": "string",
   "InvoiceReceiver": "string",
   "Name": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Rule": { 
      "BillSourceAccounts": [ "string" ],
      "LinkedAccounts": [ "string" ]
   },
   "TaxInheritanceDisabled": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-Description"></a>
 The invoice unit's description. This can be changed at a later time.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[\S\s]*`   
Required: No

 ** [InvoiceReceiver](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-InvoiceReceiver"></a>
 The AWS account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.   
Type: String  
Pattern: `\d{12}`   
Required: Yes

 ** [Name](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-Name"></a>
 The unique name of the invoice unit that is shown on the generated invoice. This can't be changed once it is set. To change this name, you must delete the invoice unit recreate.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )`   
Required: Yes

 ** [ResourceTags](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-ResourceTags"></a>
 The tag structure that contains a tag key and value.   
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [Rule](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-Rule"></a>
The `InvoiceUnitRule` object used to create invoice units.   
Type: [InvoiceUnitRule](API_invoicing_InvoiceUnitRule.md) object  
Required: Yes

 ** [TaxInheritanceDisabled](#API_invoicing_CreateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-request-TaxInheritanceDisabled"></a>
Whether the invoice unit based tax inheritance is/ should be enabled or disabled.   
Type: Boolean  
Required: No

## Response Syntax


```
{
   "InvoiceUnitArn": "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.

 ** [InvoiceUnitArn](#API_invoicing_CreateInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_CreateInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/CreateInvoiceUnit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/CreateInvoiceUnit) 

# CreateProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [AWS Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Creates a procurement portal preference configuration for e-invoice delivery and purchase order retrieval. This preference defines how invoices are delivered to a procurement portal and how purchase orders are retrieved.

## Request Syntax


```
{
   "BuyerDomain": "string",
   "BuyerIdentifier": "string",
   "ClientToken": "string",
   "Contacts": [ 
      { 
         "Email": "string",
         "Name": "string"
      }
   ],
   "EinvoiceDeliveryEnabled": boolean,
   "EinvoiceDeliveryPreference": { 
      "ConnectionTestingMethod": "string",
      "EinvoiceDeliveryActivationDate": number,
      "EinvoiceDeliveryAttachmentTypes": [ "string" ],
      "EinvoiceDeliveryDocumentTypes": [ "string" ],
      "Protocol": "string",
      "PurchaseOrderDataSources": [ 
         { 
            "EinvoiceDeliveryDocumentType": "string",
            "PurchaseOrderDataSourceType": "string"
         }
      ]
   },
   "ProcurementPortalInstanceEndpoint": "string",
   "ProcurementPortalName": "string",
   "ProcurementPortalSharedSecret": "string",
   "PurchaseOrderRetrievalEnabled": boolean,
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ],
   "Selector": { 
      "InvoiceUnitArns": [ "string" ],
      "SellerOfRecords": [ "string" ]
   },
   "SupplierDomain": "string",
   "SupplierIdentifier": "string",
   "TestEnvPreference": { 
      "BuyerDomain": "string",
      "BuyerIdentifier": "string",
      "ProcurementPortalInstanceEndpoint": "string",
      "ProcurementPortalSharedSecret": "string",
      "SupplierDomain": "string",
      "SupplierIdentifier": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [BuyerDomain](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-BuyerDomain"></a>
The domain identifier for the buyer in the procurement portal.  
Type: String  
Valid Values: `NetworkID`   
Required: Yes

 ** [BuyerIdentifier](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-BuyerIdentifier"></a>
The unique identifier for the buyer in the procurement portal.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: Yes

 ** [ClientToken](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ClientToken"></a>
A unique, case-sensitive identifier that you provide to ensure idempotency of the request.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [Contacts](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-Contacts"></a>
List of contact information for portal administrators and technical contacts responsible for the e-invoice integration.  
Type: Array of [Contact](API_invoicing_Contact.md) objects  
Array Members: Fixed number of 1 item.  
Required: Yes

 ** [EinvoiceDeliveryEnabled](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-EinvoiceDeliveryEnabled"></a>
Indicates whether e-invoice delivery is enabled for this procurement portal preference. Set to true to enable e-invoice delivery, false to disable.  
Type: Boolean  
Required: Yes

 ** [EinvoiceDeliveryPreference](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-EinvoiceDeliveryPreference"></a>
Specifies the e-invoice delivery configuration including document types, attachment types, and customization settings for the portal.  
Type: [EinvoiceDeliveryPreference](API_invoicing_EinvoiceDeliveryPreference.md) object  
Required: No

 ** [ProcurementPortalInstanceEndpoint](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ProcurementPortalInstanceEndpoint"></a>
The endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [ProcurementPortalName](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ProcurementPortalName"></a>
The name of the procurement portal.  
Type: String  
Valid Values: `SAP_BUSINESS_NETWORK | COUPA`   
Required: Yes

 ** [ProcurementPortalSharedSecret](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ProcurementPortalSharedSecret"></a>
The shared secret or authentication credential used to establish secure communication with the procurement portal. This value must be encrypted at rest.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [PurchaseOrderRetrievalEnabled](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-PurchaseOrderRetrievalEnabled"></a>
Indicates whether purchase order retrieval is enabled for this procurement portal preference. Set to true to enable PO retrieval, false to disable.  
Type: Boolean  
Required: Yes

 ** [ResourceTags](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-ResourceTags"></a>
The tags to apply to this procurement portal preference resource. Each tag consists of a key and an optional value.  
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: No

 ** [Selector](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-Selector"></a>
Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference.  
Type: [ProcurementPortalPreferenceSelector](API_invoicing_ProcurementPortalPreferenceSelector.md) object  
Required: No

 ** [SupplierDomain](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-SupplierDomain"></a>
The domain identifier for the supplier in the procurement portal.  
Type: String  
Valid Values: `NetworkID`   
Required: Yes

 ** [SupplierIdentifier](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-SupplierIdentifier"></a>
The unique identifier for the supplier in the procurement portal.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: Yes

 ** [TestEnvPreference](#API_invoicing_CreateProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-request-TestEnvPreference"></a>
Configuration settings for the test environment of the procurement portal. Includes test credentials and endpoints that are used for validation before production deployment.  
Type: [TestEnvPreferenceInput](API_invoicing_TestEnvPreferenceInput.md) object  
Required: No

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_CreateProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_CreateProcurementPortalPreference-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the created procurement portal preference.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/CreateProcurementPortalPreference) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/CreateProcurementPortalPreference) 

# DeleteInvoiceUnit


This deletes an invoice unit with the provided invoice unit ARN. 

## Request Syntax


```
{
   "InvoiceUnitArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [InvoiceUnitArn](#API_invoicing_DeleteInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_DeleteInvoiceUnit-request-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "InvoiceUnitArn": "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.

 ** [InvoiceUnitArn](#API_invoicing_DeleteInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_DeleteInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/DeleteInvoiceUnit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/DeleteInvoiceUnit) 

# DeleteProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [AWS Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Deletes an existing procurement portal preference. This action cannot be undone. Active e-invoice delivery and PO retrieval configurations will be terminated.

## Request Syntax


```
{
   "ProcurementPortalPreferenceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_DeleteProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_DeleteProcurementPortalPreference-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to delete.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_DeleteProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_DeleteProcurementPortalPreference-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the deleted procurement portal preference.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/DeleteProcurementPortalPreference) 

# GetInvoicePDF


Returns a URL to download the invoice document and supplemental documents associated with an invoice. The URLs are pre-signed and have expiration time. For special cases like Brazil, where AWS generated invoice identifiers and government provided identifiers do not match, use the AWS generated invoice identifier when making API requests. To grant IAM permission to use this operation, the caller needs the `invoicing:GetInvoicePDF` policy action.

## Request Syntax


```
{
   "InvoiceId": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [InvoiceId](#API_invoicing_GetInvoicePDF_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetInvoicePDF-request-InvoiceId"></a>
 Your unique invoice ID.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `.*`   
Required: Yes

## Response Syntax


```
{
   "InvoicePDF": { 
      "DocumentUrl": "string",
      "DocumentUrlExpirationDate": number,
      "InvoiceId": "string",
      "SupplementalDocuments": [ 
         { 
            "DocumentUrl": "string",
            "DocumentUrlExpirationDate": number
         }
      ]
   }
}
```

## 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.

 ** [InvoicePDF](#API_invoicing_GetInvoicePDF_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoicePDF-response-InvoicePDF"></a>
 The invoice document and supplemental documents associated with the invoice.   
Type: [InvoicePDF](API_invoicing_InvoicePDF.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/GetInvoicePDF) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/GetInvoicePDF) 

# GetInvoiceUnit


This retrieves the invoice unit definition.

## Request Syntax


```
{
   "AsOf": number,
   "InvoiceUnitArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AsOf](#API_invoicing_GetInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-request-AsOf"></a>
 The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the `AsOf` time is set to before it was deleted. If an `AsOf` is not provided, the default value is the current time.   
Type: Timestamp  
Required: No

 ** [InvoiceUnitArn](#API_invoicing_GetInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-request-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "Description": "string",
   "InvoiceReceiver": "string",
   "InvoiceUnitArn": "string",
   "LastModified": number,
   "Name": "string",
   "Rule": { 
      "BillSourceAccounts": [ "string" ],
      "LinkedAccounts": [ "string" ]
   },
   "TaxInheritanceDisabled": boolean
}
```

## 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.

 ** [Description](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-Description"></a>
 The assigned description for an invoice unit.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[\S\s]*` 

 ** [InvoiceReceiver](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-InvoiceReceiver"></a>
 The AWS account ID chosen to be the receiver of an invoice unit. All invoices generated for that invoice unit will be sent to this account ID.   
Type: String  
Pattern: `\d{12}` 

 ** [InvoiceUnitArn](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

 ** [LastModified](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-LastModified"></a>
 The most recent date the invoice unit response was updated.   
Type: Timestamp

 ** [Name](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-Name"></a>
 The unique name of the invoice unit that is shown on the generated invoice.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Pattern: `(?! )[\p{L}\p{N}\p{Z}-_]*(?<! )` 

 ** [Rule](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-Rule"></a>
 This is used to categorize the invoice unit. Values are AWS account IDs. Currently, the only supported rule is `LINKED_ACCOUNT`.   
Type: [InvoiceUnitRule](API_invoicing_InvoiceUnitRule.md) object

 ** [TaxInheritanceDisabled](#API_invoicing_GetInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetInvoiceUnit-response-TaxInheritanceDisabled"></a>
 Whether the invoice unit based tax inheritance is/ should be enabled or disabled.   
Type: Boolean

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/GetInvoiceUnit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/GetInvoiceUnit) 

# GetProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [AWS Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Retrieves the details of a specific procurement portal preference configuration.

## Request Syntax


```
{
   "ProcurementPortalPreferenceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_GetProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_GetProcurementPortalPreference-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to retrieve.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

## Response Syntax


```
{
   "ProcurementPortalPreference": { 
      "AwsAccountId": "string",
      "BuyerDomain": "string",
      "BuyerIdentifier": "string",
      "Contacts": [ 
         { 
            "Email": "string",
            "Name": "string"
         }
      ],
      "CreateDate": number,
      "EinvoiceDeliveryEnabled": boolean,
      "EinvoiceDeliveryPreference": { 
         "ConnectionTestingMethod": "string",
         "EinvoiceDeliveryActivationDate": number,
         "EinvoiceDeliveryAttachmentTypes": [ "string" ],
         "EinvoiceDeliveryDocumentTypes": [ "string" ],
         "Protocol": "string",
         "PurchaseOrderDataSources": [ 
            { 
               "EinvoiceDeliveryDocumentType": "string",
               "PurchaseOrderDataSourceType": "string"
            }
         ]
      },
      "EinvoiceDeliveryPreferenceStatus": "string",
      "EinvoiceDeliveryPreferenceStatusReason": "string",
      "LastUpdateDate": number,
      "ProcurementPortalInstanceEndpoint": "string",
      "ProcurementPortalName": "string",
      "ProcurementPortalPreferenceArn": "string",
      "ProcurementPortalSharedSecret": "string",
      "PurchaseOrderRetrievalEnabled": boolean,
      "PurchaseOrderRetrievalEndpoint": "string",
      "PurchaseOrderRetrievalPreferenceStatus": "string",
      "PurchaseOrderRetrievalPreferenceStatusReason": "string",
      "Selector": { 
         "InvoiceUnitArns": [ "string" ],
         "SellerOfRecords": [ "string" ]
      },
      "SupplierDomain": "string",
      "SupplierIdentifier": "string",
      "TestEnvPreference": { 
         "BuyerDomain": "string",
         "BuyerIdentifier": "string",
         "ProcurementPortalInstanceEndpoint": "string",
         "ProcurementPortalSharedSecret": "string",
         "PurchaseOrderRetrievalEndpoint": "string",
         "SupplierDomain": "string",
         "SupplierIdentifier": "string"
      },
      "Version": number
   }
}
```

## 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.

 ** [ProcurementPortalPreference](#API_invoicing_GetProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_GetProcurementPortalPreference-response-ProcurementPortalPreference"></a>
The detailed configuration of the requested procurement portal preference.  
Type: [ProcurementPortalPreference](API_invoicing_ProcurementPortalPreference.md) object

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/GetProcurementPortalPreference) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/GetProcurementPortalPreference) 

# ListInvoiceSummaries


Retrieves your invoice details programmatically, without line item details.

## Request Syntax


```
{
   "Filter": { 
      "BillingPeriod": { 
         "Month": number,
         "Year": number
      },
      "InvoicingEntity": "string",
      "TimeInterval": { 
         "EndDate": number,
         "StartDate": number
      }
   },
   "MaxResults": number,
   "NextToken": "string",
   "Selector": { 
      "ResourceType": "string",
      "Value": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Filter](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-Filter"></a>
Filters you can use to customize your invoice summary.  
Type: [InvoiceSummariesFilter](API_invoicing_InvoiceSummariesFilter.md) object  
Required: No

 ** [MaxResults](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-MaxResults"></a>
The maximum number of invoice summaries a paginated response can contain.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-NextToken"></a>
The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*`   
Required: No

 ** [Selector](#API_invoicing_ListInvoiceSummaries_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-request-Selector"></a>
The option to retrieve details for a specific invoice by providing its unique ID. Alternatively, access information for all invoices linked to the account by providing an account ID.  
Type: [InvoiceSummariesSelector](API_invoicing_InvoiceSummariesSelector.md) object  
Required: Yes

## Response Syntax


```
{
   "InvoiceSummaries": [ 
      { 
         "AccountId": "string",
         "BaseCurrencyAmount": { 
            "AmountBreakdown": { 
               "Discounts": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "Fees": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "SubTotalAmount": "string",
               "Taxes": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               }
            },
            "CurrencyCode": "string",
            "CurrencyExchangeDetails": { 
               "Rate": "string",
               "SourceCurrencyCode": "string",
               "TargetCurrencyCode": "string"
            },
            "TotalAmount": "string",
            "TotalAmountBeforeTax": "string"
         },
         "BillingPeriod": { 
            "Month": number,
            "Year": number
         },
         "DueDate": number,
         "Entity": { 
            "InvoicingEntity": "string"
         },
         "InvoiceId": "string",
         "InvoiceType": "string",
         "IssuedDate": number,
         "OriginalInvoiceId": "string",
         "PaymentCurrencyAmount": { 
            "AmountBreakdown": { 
               "Discounts": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "Fees": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "SubTotalAmount": "string",
               "Taxes": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               }
            },
            "CurrencyCode": "string",
            "CurrencyExchangeDetails": { 
               "Rate": "string",
               "SourceCurrencyCode": "string",
               "TargetCurrencyCode": "string"
            },
            "TotalAmount": "string",
            "TotalAmountBeforeTax": "string"
         },
         "PurchaseOrderNumber": "string",
         "TaxCurrencyAmount": { 
            "AmountBreakdown": { 
               "Discounts": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "Fees": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               },
               "SubTotalAmount": "string",
               "Taxes": { 
                  "Breakdown": [ 
                     { 
                        "Amount": "string",
                        "Description": "string",
                        "Rate": "string"
                     }
                  ],
                  "TotalAmount": "string"
               }
            },
            "CurrencyCode": "string",
            "CurrencyExchangeDetails": { 
               "Rate": "string",
               "SourceCurrencyCode": "string",
               "TargetCurrencyCode": "string"
            },
            "TotalAmount": "string",
            "TotalAmountBeforeTax": "string"
         }
      }
   ],
   "NextToken": "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.

 ** [InvoiceSummaries](#API_invoicing_ListInvoiceSummaries_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-response-InvoiceSummaries"></a>
List of key (summary level) invoice details without line item details.  
Type: Array of [InvoiceSummary](API_invoicing_InvoiceSummary.md) objects

 ** [NextToken](#API_invoicing_ListInvoiceSummaries_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceSummaries-response-NextToken"></a>
The token to retrieve the next set of results. AWS provides the token when the response from a previous call has more results than the maximum page size.  
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/ListInvoiceSummaries) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/ListInvoiceSummaries) 

# ListInvoiceUnits


This fetches a list of all invoice unit definitions for a given account, as of the provided `AsOf` date.

## Request Syntax


```
{
   "AsOf": number,
   "Filters": { 
      "Accounts": [ "string" ],
      "BillSourceAccounts": [ "string" ],
      "InvoiceReceivers": [ "string" ],
      "Names": [ "string" ]
   },
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [AsOf](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-AsOf"></a>
 The state of an invoice unit at a specified time. You can see legacy invoice units that are currently deleted if the `AsOf` time is set to before it was deleted. If an `AsOf` is not provided, the default value is the current time.   
Type: Timestamp  
Required: No

 ** [Filters](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-Filters"></a>
 An optional input to the list API. If multiple filters are specified, the returned list will be a configuration that match all of the provided filters. Supported filter types are `InvoiceReceivers`, `Names`, and `Accounts`.   
Type: [Filters](API_invoicing_Filters.md) object  
Required: No

 ** [MaxResults](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-MaxResults"></a>
The maximum number of invoice units that can be returned.   
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 500.  
Required: No

 ** [NextToken](#API_invoicing_ListInvoiceUnits_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-request-NextToken"></a>
The next token used to indicate where the returned list should start from.   
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*`   
Required: No

## Response Syntax


```
{
   "InvoiceUnits": [ 
      { 
         "Description": "string",
         "InvoiceReceiver": "string",
         "InvoiceUnitArn": "string",
         "LastModified": number,
         "Name": "string",
         "Rule": { 
            "BillSourceAccounts": [ "string" ],
            "LinkedAccounts": [ "string" ]
         },
         "TaxInheritanceDisabled": boolean
      }
   ],
   "NextToken": "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.

 ** [InvoiceUnits](#API_invoicing_ListInvoiceUnits_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-response-InvoiceUnits"></a>
 An invoice unit is a set of mutually exclusive accounts that correspond to your business entity.   
Type: Array of [InvoiceUnit](API_invoicing_InvoiceUnit.md) objects

 ** [NextToken](#API_invoicing_ListInvoiceUnits_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListInvoiceUnits-response-NextToken"></a>
The next token used to indicate where the returned list should start from.   
Type: String  
Length Constraints: Minimum length of 1.  
Pattern: `[\S\s]*` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/ListInvoiceUnits) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/ListInvoiceUnits) 

# ListProcurementPortalPreferences


 * **This feature API is subject to changing at any time. For more information, see the [AWS Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Retrieves a list of procurement portal preferences associated with the AWS account.

## Request Syntax


```
{
   "MaxResults": number,
   "NextToken": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_invoicing_ListProcurementPortalPreferences_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-request-MaxResults"></a>
The maximum number of results to return in a single call. To retrieve the remaining results, make another call with the returned NextToken value.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 100.  
Required: No

 ** [NextToken](#API_invoicing_ListProcurementPortalPreferences_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-request-NextToken"></a>
The token for the next set of results. (You received this token from a previous call.)  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

## Response Syntax


```
{
   "NextToken": "string",
   "ProcurementPortalPreferences": [ 
      { 
         "AwsAccountId": "string",
         "BuyerDomain": "string",
         "BuyerIdentifier": "string",
         "CreateDate": number,
         "EinvoiceDeliveryEnabled": boolean,
         "EinvoiceDeliveryPreferenceStatus": "string",
         "EinvoiceDeliveryPreferenceStatusReason": "string",
         "LastUpdateDate": number,
         "ProcurementPortalName": "string",
         "ProcurementPortalPreferenceArn": "string",
         "PurchaseOrderRetrievalEnabled": boolean,
         "PurchaseOrderRetrievalPreferenceStatus": "string",
         "PurchaseOrderRetrievalPreferenceStatusReason": "string",
         "Selector": { 
            "InvoiceUnitArns": [ "string" ],
            "SellerOfRecords": [ "string" ]
         },
         "SupplierDomain": "string",
         "SupplierIdentifier": "string",
         "Version": number
      }
   ]
}
```

## 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.

 ** [NextToken](#API_invoicing_ListProcurementPortalPreferences_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-response-NextToken"></a>
The token to use to retrieve the next set of results, or null if there are no more results.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+` 

 ** [ProcurementPortalPreferences](#API_invoicing_ListProcurementPortalPreferences_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListProcurementPortalPreferences-response-ProcurementPortalPreferences"></a>
The list of procurement portal preferences associated with the AWS account.  
Type: Array of [ProcurementPortalPreferenceSummary](API_invoicing_ProcurementPortalPreferenceSummary.md) objects

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/ListProcurementPortalPreferences) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/ListProcurementPortalPreferences) 

# ListTagsForResource


Lists the tags for a resource. 

## Request Syntax


```
{
   "ResourceArn": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_invoicing_ListTagsForResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_ListTagsForResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of tags to list.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:(invoicing)::[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

## Response Syntax


```
{
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "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.

 ** [ResourceTags](#API_invoicing_ListTagsForResource_ResponseSyntax) **   <a name="awscostmanagement-invoicing_ListTagsForResource-response-ResourceTags"></a>
 Adds a tag to a resource.   
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/ListTagsForResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/ListTagsForResource) 

# PutProcurementPortalPreference


 * **This feature API is subject to changing at any time. For more information, see the [AWS Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Updates an existing procurement portal preference configuration. This operation can modify settings for e-invoice delivery and purchase order retrieval.

## Request Syntax


```
{
   "Contacts": [ 
      { 
         "Email": "string",
         "Name": "string"
      }
   ],
   "EinvoiceDeliveryEnabled": boolean,
   "EinvoiceDeliveryPreference": { 
      "ConnectionTestingMethod": "string",
      "EinvoiceDeliveryActivationDate": number,
      "EinvoiceDeliveryAttachmentTypes": [ "string" ],
      "EinvoiceDeliveryDocumentTypes": [ "string" ],
      "Protocol": "string",
      "PurchaseOrderDataSources": [ 
         { 
            "EinvoiceDeliveryDocumentType": "string",
            "PurchaseOrderDataSourceType": "string"
         }
      ]
   },
   "ProcurementPortalInstanceEndpoint": "string",
   "ProcurementPortalPreferenceArn": "string",
   "ProcurementPortalSharedSecret": "string",
   "PurchaseOrderRetrievalEnabled": boolean,
   "Selector": { 
      "InvoiceUnitArns": [ "string" ],
      "SellerOfRecords": [ "string" ]
   },
   "TestEnvPreference": { 
      "BuyerDomain": "string",
      "BuyerIdentifier": "string",
      "ProcurementPortalInstanceEndpoint": "string",
      "ProcurementPortalSharedSecret": "string",
      "SupplierDomain": "string",
      "SupplierIdentifier": "string"
   }
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Contacts](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-Contacts"></a>
Updated list of contact information for portal administrators and technical contacts.  
Type: Array of [Contact](API_invoicing_Contact.md) objects  
Array Members: Fixed number of 1 item.  
Required: Yes

 ** [EinvoiceDeliveryEnabled](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-EinvoiceDeliveryEnabled"></a>
Updated flag indicating whether e-invoice delivery is enabled for this procurement portal preference.  
Type: Boolean  
Required: Yes

 ** [EinvoiceDeliveryPreference](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-EinvoiceDeliveryPreference"></a>
Updated e-invoice delivery configuration including document types, attachment types, and customization settings for the portal.  
Type: [EinvoiceDeliveryPreference](API_invoicing_EinvoiceDeliveryPreference.md) object  
Required: No

 ** [ProcurementPortalInstanceEndpoint](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-ProcurementPortalInstanceEndpoint"></a>
The updated endpoint URL where e-invoices will be delivered to the procurement portal. Must be a valid HTTPS URL.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [ProcurementPortalPreferenceArn](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to update.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

 ** [ProcurementPortalSharedSecret](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-ProcurementPortalSharedSecret"></a>
The updated shared secret or authentication credential for the procurement portal. This value must be encrypted at rest.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `\S+`   
Required: No

 ** [PurchaseOrderRetrievalEnabled](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-PurchaseOrderRetrievalEnabled"></a>
Updated flag indicating whether purchase order retrieval is enabled for this procurement portal preference.  
Type: Boolean  
Required: Yes

 ** [Selector](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-Selector"></a>
Specifies criteria for selecting which invoices should be processed using a particular procurement portal preference.  
Type: [ProcurementPortalPreferenceSelector](API_invoicing_ProcurementPortalPreferenceSelector.md) object  
Required: No

 ** [TestEnvPreference](#API_invoicing_PutProcurementPortalPreference_RequestSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-request-TestEnvPreference"></a>
Updated configuration settings for the test environment of the procurement portal.  
Type: [TestEnvPreferenceInput](API_invoicing_TestEnvPreferenceInput.md) object  
Required: No

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_PutProcurementPortalPreference_ResponseSyntax) **   <a name="awscostmanagement-invoicing_PutProcurementPortalPreference-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the updated procurement portal preference.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/PutProcurementPortalPreference) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/PutProcurementPortalPreference) 

# TagResource


Adds a tag to a resource. 

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_invoicing_TagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_TagResource-request-ResourceArn"></a>
The Amazon Resource Name (ARN) of the tags.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:(invoicing)::[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTags](#API_invoicing_TagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_TagResource-request-ResourceTags"></a>
 Adds a tag to a resource.   
Type: Array of [ResourceTag](API_invoicing_ResourceTag.md) objects  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/TagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/TagResource) 

# UntagResource


 Removes a tag from a resource. 

## Request Syntax


```
{
   "ResourceArn": "string",
   "ResourceTagKeys": [ "string" ]
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [ResourceArn](#API_invoicing_UntagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_UntagResource-request-ResourceArn"></a>
 The Amazon Resource Name (ARN) to untag.   
Type: String  
Length Constraints: Minimum length of 20. Maximum length of 2048.  
Pattern: `arn:aws[-a-z0-9]*:(invoicing)::[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [ResourceTagKeys](#API_invoicing_UntagResource_RequestSyntax) **   <a name="awscostmanagement-invoicing_UntagResource-request-ResourceTagKeys"></a>
 Keys for the tags to be removed.   
Type: Array of strings  
Array Members: Minimum number of 0 items. Maximum number of 200 items.  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Required: Yes

## Response Elements


If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/UntagResource) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/UntagResource) 

# UpdateInvoiceUnit


You can update the invoice unit configuration at any time, and AWS will use the latest configuration at the end of the month.

## Request Syntax


```
{
   "Description": "string",
   "InvoiceUnitArn": "string",
   "Rule": { 
      "BillSourceAccounts": [ "string" ],
      "LinkedAccounts": [ "string" ]
   },
   "TaxInheritanceDisabled": boolean
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [Description](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-Description"></a>
The assigned description for an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 500.  
Pattern: `[\S\s]*`   
Required: No

 ** [InvoiceUnitArn](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-InvoiceUnitArn"></a>
The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+`   
Required: Yes

 ** [Rule](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-Rule"></a>
The `InvoiceUnitRule` object used to update invoice units.   
Type: [InvoiceUnitRule](API_invoicing_InvoiceUnitRule.md) object  
Required: No

 ** [TaxInheritanceDisabled](#API_invoicing_UpdateInvoiceUnit_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-request-TaxInheritanceDisabled"></a>
Whether the invoice unit based tax inheritance is/ should be enabled or disabled.   
Type: Boolean  
Required: No

## Response Syntax


```
{
   "InvoiceUnitArn": "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.

 ** [InvoiceUnitArn](#API_invoicing_UpdateInvoiceUnit_ResponseSyntax) **   <a name="awscostmanagement-invoicing_UpdateInvoiceUnit-response-InvoiceUnitArn"></a>
 The ARN to identify an invoice unit. This information can't be modified or deleted.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws[-a-z0-9]*:[a-z0-9]+:[-a-z0-9]*:[0-9]{12}:[-a-zA-Z0-9/:_]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/UpdateInvoiceUnit) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/UpdateInvoiceUnit) 

# UpdateProcurementPortalPreferenceStatus


 * **This feature API is subject to changing at any time. For more information, see the [AWS Service Terms](https://aws.amazon.com/service-terms/) (Betas and Previews).** * 

Updates the status of a procurement portal preference, including the activation state of e-invoice delivery and purchase order retrieval features.

## Request Syntax


```
{
   "EinvoiceDeliveryPreferenceStatus": "string",
   "EinvoiceDeliveryPreferenceStatusReason": "string",
   "ProcurementPortalPreferenceArn": "string",
   "PurchaseOrderRetrievalPreferenceStatus": "string",
   "PurchaseOrderRetrievalPreferenceStatusReason": "string"
}
```

## Request Parameters


For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [EinvoiceDeliveryPreferenceStatus](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-EinvoiceDeliveryPreferenceStatus"></a>
The updated status of the e-invoice delivery preference.  
Type: String  
Valid Values: `PENDING_VERIFICATION | TEST_INITIALIZED | TEST_INITIALIZATION_FAILED | TEST_FAILED | ACTIVE | SUSPENDED`   
Required: No

 ** [EinvoiceDeliveryPreferenceStatusReason](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-EinvoiceDeliveryPreferenceStatusReason"></a>
The reason for the e-invoice delivery preference status update, providing context for the change.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\s\S]*`   
Required: No

 ** [ProcurementPortalPreferenceArn](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference to update.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+`   
Required: Yes

 ** [PurchaseOrderRetrievalPreferenceStatus](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-PurchaseOrderRetrievalPreferenceStatus"></a>
The updated status of the purchase order retrieval preference.  
Type: String  
Valid Values: `PENDING_VERIFICATION | TEST_INITIALIZED | TEST_INITIALIZATION_FAILED | TEST_FAILED | ACTIVE | SUSPENDED`   
Required: No

 ** [PurchaseOrderRetrievalPreferenceStatusReason](#API_invoicing_UpdateProcurementPortalPreferenceStatus_RequestSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-request-PurchaseOrderRetrievalPreferenceStatusReason"></a>
The reason for the purchase order retrieval preference status update, providing context for the change.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 1024.  
Pattern: `[\s\S]*`   
Required: No

## Response Syntax


```
{
   "ProcurementPortalPreferenceArn": "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.

 ** [ProcurementPortalPreferenceArn](#API_invoicing_UpdateProcurementPortalPreferenceStatus_ResponseSyntax) **   <a name="awscostmanagement-invoicing_UpdateProcurementPortalPreferenceStatus-response-ProcurementPortalPreferenceArn"></a>
The Amazon Resource Name (ARN) of the procurement portal preference with updated status.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Pattern: `arn:aws:invoicing::[0-9]{12}:procurement-portal-preference/[-a-zA-Z0-9]+` 

## Errors


For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
You don't have sufficient access to perform this action.    
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

 ** ConflictException **   
The request could not be completed due to a conflict with the current state of the resource. This exception occurs when a concurrent modification is detected during an update operation, or when attempting to create a resource that already exists.    
 ** resourceId **   
The identifier of the resource that caused the conflict.  
 ** resourceType **   
The type of resource that caused the conflict.
HTTP Status Code: 400

 ** InternalServerException **   
The processing request failed because of an unknown error, exception, or failure.     
 ** retryAfterSeconds **   
The processing request failed because of an unknown error, exception, or failure.
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The resource could not be found.     
 ** resourceName **   
The resource could not be found.
HTTP Status Code: 400

 ** ServiceQuotaExceededException **   
The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.   
HTTP Status Code: 400

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 400

 ** ValidationException **   
 The input fails to satisfy the constraints specified by an AWS service.     
 ** fieldList **   
 The input fails to satisfy the constraints specified by an AWS service.   
 ** reason **   
You don't have sufficient access to perform this action.   
 ** resourceName **   
You don't have sufficient access to perform this action. 
HTTP Status Code: 400

## See Also


For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/invoicing-2024-12-01/UpdateProcurementPortalPreferenceStatus) 