# 400 Bad Request

The HTTP status code `400 Bad Request` error message indicates that the server cannot process a request due to an issue you may have caused for several reasons, such as invalid request syntax, incorrect framing of the request message, or deceptive request routing. This code serves as a general error message when the server is unable or unwilling to process the request due to something perceived as the client's fault. However, the server cannot identify the exact cause of the error or may choose not to disclose more information.

## `dr_limited_token_invalid`

The Digital River limited token is invalid, expired, or revoked. Provide a valid token and try again.

## `invalid-keyword-expression`

Invalid keyword expression \[expression entered]. Provide a valid keyword expression and try again.

## `invalid-request`

The system cannot validate the request for one of the following reasons:

* A comment is missing. Provide the comment and try again.
* Invalid page size. The value must be positive, non-zero, and less than 100000.
* The payment method type for this request is invalid. Provide a valid payment method type and try again.
* The Return object is missing. Provide the Return object and try again.
* The return reason is missing. Provide the reason for the return and try again.
* The line items to return are missing. Provide the line items to return and try again.
* The line-item quantity IDs are missing. Provide the line-item quantity IDs and try again.
* The specified quantity to return is invalid. The number must be greater than zero and less than or equal to the number of items eligible for return. Specify a valid quantity to return and try again.
* The system cannot parse the request because it is not valid. Provide a valid request and try again.
* The line-item ID is missing. Provide the line-item ID and try again.
* The value in the input field contains sensitive data (for example, a credit card number). The subcode for this error is `sensitive-data-detected`. Remove the sensitive data and try again.

The possible error descriptions are as follows:

* `The request was invalid and could not be parsed by the system.`\
  The request format was invalid. Correct the request format and try again.
* `Invalid or Missing Request Content`\
  The request is missing a parameter or property. Provide the missing parameter or property and try again.
* `Invalid page size. Mut be positive, non-zero, and less than 1000000.`\
  The page size is invalid. Provide a valid positive, non-zero size, and less than 1000000.
* `The specified subscription information is invalid and cannot be parsed.`\
  The `subscriptionInfo` block in the `lineItem` block is invalid. Correct the `subscriptionInfo` block and try again.
* `Terms cannot exceed a length of 4000 characters.`\
  The length of `terms` in the `subscriptionInfo` block cannot exceed 4000 characters. Correct the length of the `term` and try again.
* `The specified chargeType is invalid, the accepted values are customer_initiated, merchant_initiated and moto.`\
  The `chargeType` attribute is invalid. The accepted values are `customer_initiated`, `merchant_initiated`, and `moto`.
* `perpetualUnitPrice must be provided for product id: {productId}`\
  The `perpetualUnitPrice` is required in the request.
* `{property_name} cannot exceed a length of {length_consttraint} characters.`\
  The property names cannot exceed the maximum length. Correct the property and try again.
* `The quantity must be a valid integer value.`\
  The quantity is not a valid integer value. Provide an integer value and try again.
* `Use either salePrice or itemPrice.`\
  Either the `salePrice` or `itemPrice` is required.
* `Overriding item-price is not enabled.`\
  Overriding the item price is not allowed for this site.
* `The price override currency must be identical to the user session currency.`\
  The price override currency must be the same as the user session `currency`.
* `The specified custom attributes are invalid and cannot be parsed.`\
  The format of the custom attributes is invalid. Correct the format of the custom attributes and try again.
* `The subscription overrides expiration date is not valid.`\
  The `expirationDate` format is invalid. The format should be `yyyy-MM-dd'T'HH:m:ss.SSS'Z'`.
* `The subscription overrides activation date is not valid.`\
  The `activationDate` format is invalid. The format should be `yyyy-MM-dd'T'HH:m:ss.SSS'Z'`.
* `The subscription overrides perpetual unit price is not valid.`\
  The field `perpetualUnitPrice` should contain both `currencyCode` and `amount`.
* `Perpetual unit price currency [{perpetual unit price currency}] is different from user currency [{user currency}].`\
  The perpetual unit price currency cannot be different from the user's currency.
* `Perpetual unit price cannot be less than or equal to 0.`\
  The perpetual unit price cannot be less than or equal to 0. Correct the value for the perpetual unit price and try again.
* `Subscription expiration date [{expiration date}] should be 24 hours later than the order submission date.`\
  The subscription expiration date should be 24 hours after the order submission date.
* `Subscription expiration date [{expiration date}] should be later than the subscription activation date [{activation date}].`\
  The subscription's expiration date should be later than the subscription's activation date.
* `Attribute name or the value is missing.`\
  Some attribute names or values are missing. Provide the missing attributes or values and try again.
* `Invalid input value for (field name).`\
  The input value for the specified field is invalid because it contains sensitive data.
* `Missing required field: siteId.`\
  A required `siteId` is missing from the request. Consequently, we cannot process your request because it needs this information. To resolve this issue, include the `siteId` field with a valid value in your request and try again.
* `Invalid site id.`\
  The request failed because the userId field is missing in your request payload. To resolve the issue, include the userId field in your request payload.
* `Invalid user id [26qqq].`\
  The request failed due to an invalid user ID (26qqq). The user ID does not meet the required criteria or format expected by the system. To resolve this error, ensure the user ID is correctly formatted and valid per the system's expectations before making the request again.
* `required-field-missing`\
  The error message indicates that your request is missing a required currency field. The system can't process your request because it lacks a necessary piece of information. To resolve this issue, include the currency field in your request payload as required by the API or system you are interacting with.
* `The request was invalid and could not be parsed by the system.`\
  The request format was invalid. Correct the request format and try again.
* `The system cannot parse the request because the request is not valid.`\
  The request format was invalid. Correct the request and try again.&#x20;
* `Invalid Request Content`\
  Provide the correct information and try again.
* `Invalid token for specified shopper`\
  The shopper's token is invalid. Provide the correct token and try again.
* `Invalid payment method type for this request.` &#x20;
* The system cannot parse the request because the request is not valid.&#x20;

## `password-failure`

The provided password failed authentication for one of the following reasons:

* `Password must be between 8 - 32 characters.`The length of the password must be between 8 - 32 characters.
* `Password must include three of the following: Upper case letter, lower case letter, numbers and the special characters: !@#$%^*~:;&><[]{}|-_+=?`\
  –Provided password shall follow the password rule.
* `Password must be alpha-numeric.`\
  The provided password shall follow the password rule.

## `missing-information`

* `Request content required.`\
  Provide the missing information and try again.

## `missing-customer-type`

* `Request content required.`\
  Provide the missing customer type and try again.

## `missing-tax-registrations`

`Request content required.`\
Provide the missing tax registrations and try again.

## `INVALID_RETURN_REASON`

The Return reason is invalid. Provide a valid return reason and try again.

## `LINE_ITEM_CANNOT_BE_RESOLVED`

* The system cannot resolve the line item for the specified line-item ID. Verify that the specified line-item ID is correct and try again.
* The line item had a problem while fetching the expiration date for the specified line-item ID.

## `LINE_ITEM_EXPIRATION_DATE_EXCEEDS`

The line item exceeds the return window for the specified line-item ID, so the system cannot return it through the self-service [Returns API](https://www.digitalriver.com/docs/commerce-api-reference/#tag/Returns).

## `LINE_ITEM_HAS_LINE_LEVEL_SATISFACTION_REFUND`

The line item has a line-item level satisfaction refund for the specified line item ID. The line item is not eligible for a self-service return.

## `LINE_ITEM_IS_LINKED_TO_SUBSCRIPTION`

The line item is associated with a subscription. The system is unable to process returns for non-physical items.

## `LINE_ITEM_IS_NOT_PHYSICAL`

The specified line-item ID is not physical. Cannot process the return for items that are not physical.

## `LINE_ITEM_QTY_IDS_ARE_INVALID`

The line-item quantity IDs are not associated with the specified line item. Specify the correct line-item quantity IDs for the specified line item and try again.

## `LINE_ITEM_QTY_IDS_MISSING_FOR_PARTIAL_RETURN`

The line-item quantity IDs for this partial return are missing. Specify the line-item quantity IDs to include in the partial return and try again.

## `LINE_ITEM_QTY_IDS_NOT_ELIGIBLE_FOR_RETURN`

Specified line-item quantity IDs are not eligible for return for the specified line-item ID. Verify the specified line-item quantity IDs are correct and try again if they are incorrect.

## `LINE_ITEM_QUANTITY_TO_RETURN_IS_MORE_THAN_ALLOWED`

The quantity of line items to return is greater than the expected return quantity for the specified line-item ID. Specify a valid quantity of line items to return for the specified line-item ID and try again.

## `NO_LINE_ITEM_PRESENT_IN_REQUISITION`

The request does not contain any line items. It must contain at least one line item. Include at least one line item in the request and try again.

## `NO_RETURN_REASON_CONFIGURED`

Return reasons for the specified order ID are missing. Provide the reasons for the returns and try again.

## `NULL_RETURN_REQUEST`

The return request cannot be null. Ensure the request is not null and try again.

## `ORDERID_CAN_NOT_BE_RESOLVED`

The system cannot resolve the specified order ID for the order. Provide a valid order ID and try again.

## `PARTIAL_PRODUCT_COMBINATION_RETURN`

The shopper wants to return part of a product combination. The shopper must return all components within the product combination. Return all line items associated with the product combination for the specified requisition ID.

## `REQUISITION_HAS_ORDER_LEVEL_SATISFACTION_REFUND`

The order has an order-level satisfaction refund for a specified order ID. If an order has a satisfaction refund applied against it, the line items within that order are not eligible for return.

## `REQUISITION_NOT_ELIGIBLE_FOR_RETURN`

The specified order ID is not eligible for return. The requisition is in a state that does not allow a return to occur.

## `RETURN_PROCESSING_ERROR`

An error occurred while processing the return for the specified order. Ensure the information is correct and try again.

## `RETURN_QUANTITY_CAN_NOT_LESS_THAN_ONE`

Line item return quantity must exceed 0 for the specified line item. Specify a number greater than zero and less than or equal to the number of eligible items for the line item return quantity and try again.

## `SITE_DOESNOT_ACCEPT_RETURN`

The site does not accept returns. To enable returns for a site, contact your Digital River Representative.

## `UNABLE_TO_RESOLVE_SITE`

The system cannot resolve the specified order ID for the order. Specify a valid site for the selected order ID.

## `validation-error`

The system cannot validate the request for one of the following reasons:

* The site does not accept the return.
* The order is not returnable.
* The return window expired for the specified product.
* The requested return quantity is greater than the eligible quantity for the line item.
* The total product quantity for the current subscription plan and midterm change exceeds the product quantity restriction.
* The total product quantity for the current subscription plan and midterm change is below the product minimum quantity restriction.
* Cannot return the specified line item through the self-service Returns API.
* `Invalid offer type [aaa].`\
  The request failed due to an invalid offer type \[aaa], which suggests that the input for the offer type is not valid in the current operation context. The system expected a different value for the offer type that would conform to its validation rules.
* `not-supported-offer-type`\
  The request failed due to an unsupported offer type \[`banner`], which suggests that the input for the offer type is not valid in the current operation context. The system expected a different value for the offer type that would conform to its validation rules.
* `invalid-off-trigger`\
  The request failed due to an invalid-offer-trigger error. This error occurs if the system detects an offer trigger \[aaa] that does not adhere to the predefined valid offer triggers. An offer trigger is a specific condition or set of conditions an offer must meet to be considered valid and processed by the system. To resolve the trigger error:&#x20;

  * **Review the offer trigger:** Ensure that the trigger matches one of the valid triggers documented in our guidelines.
  * **Check for typographical errors:** Verify that there are no typographical errors in the trigger expression.
  * **Consult documentation:** Review the latest documentation to ensure your trigger is supported. Triggers may be updated or deprecated.

  For any further assistance, do not hesitate to contact our support team.
* `not-supported-offer-trigger`\
  This request failed due to an unsupported offer trigger, such as `[alwaysTriggered]`. The system does not support this trigger. Provide a supported offer trigger type and try again.
* `invalid-discount-type`\
  The request failed due to an invalid discount type `[aaa]`, which suggests that the input for the discount type is not valid in the current operation context. The system expected a different value for the offer type that would conform to its validation rules. To resolve this issue, ensure the discount type is correct and valid.
* `invalid-catalog-id`\
  The request failed because the system did not accept or recognize the provided catalog ID `[aaa]`. To resolve this issue, ensure the catalog ID is correct and valid for the intended offers.
* `required-field-missing`\
  The request failed due to a missing `products.id` field. Provide the missing `products.id` field and try again.
* `invalid-product-id`\
  This error occurs for one of the following reasons: !!! I need someone to validate these reasons. !!!
  * This request failed to create an offer with a duplicate child product ID within the same catalog. It indicates another product ID with the same value `[255678200`] within the catalog ID `[823600]`. To resolve this issue, ensure each child product ID is unique within its catalog before creating the offer again.
  * The system failed to recognize or accept the product ID provided in your request. This error can happen for a few reasons:

    * **Invalid product ID**: The product ID `[aaa]` might not exist in the system or be formatted incorrectly.
    * **Catalog ID conflict**: The catalog ID `[823600]` may not be associated with the product ID provided, which suggests a mismatch or incorrect pairing.
    * **Access or permissions issue**: You may not have the required permissions to add a child product to this catalog.

    To solve this, ensure that both the product ID and catalog ID are valid and correctly associated with your system. Also, double-check your permissions to ensure that you're authorized to make this change.
* `invalid-price-list-type`\
  The request failed due to an unsupported price list type, specifically `[renewalList]`. The system does not recognize this as a valid price list type, triggering the validation error. To resolve this issue, ensure that the price list type supplied in your request matches one of the accepted types defined in the [Live changes](/commerce-api-references/commerce-api-reference-guide/admin-apis-reference/live-changes.md) section.
* `invalid-currency`\
  The request failed due to an issue with the specified currency code in the request. The currency code `[aaa]` is invalid. Currency codes must conform to the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard, which consists of three letters. Ensure you use a valid currency code, such as `USD`, `EUR`, or `GBP`, and try the operation again.
* `not-supported-design-offer`\
  This request failed because you cannot deploy the specified offer ID `[37061080197]` when it is in the Design state. Provide the correct offer ID and try again.
* `required-data-missing`\
  Missing the required data for this request. Provide the missing data and try again.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalriver.com/commerce-api-references/warnings-and-error-codes/error-codes/error-codes-for-shopper-apis/400-bad-request.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
