HTTP API errors
Common HTTP error codes returned by the commercetools Composable Commerce APIs and their meaning.
Error responses have the same overall structure across the different Composable Commerce APIs. General errors, such as InvalidJsonInput
or ConcurrentModification
are returned across all APIs. API-specific errors, such as ExtensionPredicateEvaluationFailed
are only returned for a specific set of endpoints and update actions.
Representations
ErrorResponse
Base representation of an error response containing common fields to all errors.
statusCode Int | HTTP status code corresponding to the error. |
message String | First error message in the |
errors Array of ErrorObject | Errors returned for a request. A single error response can contain multiple errors if the errors are related to the same HTTP status code such as |
{"statusCode": 400,"message": "First error message.","errors": [{"code": "SyntaxError","message": "First error message."},{"code": "SemanticError","message": "Second error message."}]}
AuthErrorResponse
Represents errors related to authentication and authorization in a format conforming to the OAuth 2.0 specification.
statusCode Int | HTTP status code corresponding to the error. |
message String | First error message in the |
errors Array of ErrorObject | Authentication and authorization-related errors returned for a request. |
error String | Error code as per the OAuth 2.0 specification. For example: |
error_description String | Plain text description of the first error. |
{"statusCode": 401,"message": "invalid_token","errors": [{"code": "invalid_token","message": "invalid_token"}],"error": "invalid_token"}
ErrorObject
Represents a single error. Multiple errors may be included in an ErrorResponse.
code String | Error identifier. |
message String | Plain text description of the cause of the error. |
// Any string parameter matching this regular expression | Error-specific additional fields. |
General errors
400 Bad Request
The following general error codes can appear in responses with the HTTP status code 400
:
AnonymousIdAlreadyInUse
Returned when the anonymous ID is being used by another resource.
The client application should choose another anonymous ID or retrieve an automatically generated one.
code String | "AnonymousIdAlreadyInUse" |
message String |
|
DuplicateField
Returned when a field value conflicts with an existing value causing a duplicate.
code String | "DuplicateField" |
message String |
|
field String | Name of the conflicting field. |
duplicateValue Any | Conflicting duplicate value. |
DuplicateFieldWithConflictingResource
Returned when a field value conflicts with an existing value stored in a particular resource causing a duplicate.
code String | "DuplicateFieldWithConflictingResource" |
message String |
|
field String | Name of the conflicting field. |
duplicateValue Any | Conflicting duplicate value. |
conflictingResource | Reference to the resource that has the conflicting value. |
FeatureRemoved
Returned when the requested feature was removed.
code String | "FeatureRemoved" |
message String | Description of the feature that is removed. |
InvalidInput
Returned when an invalid input has been sent.
code String | "InvalidInput" |
message String | Description of the constraints that are not met by the request. For example, |
InvalidJsonInput
Returned when an invalid JSON input has been sent. Either the JSON is syntactically incorrect or does not conform to the expected shape (for example is missing a required field).
The client application should validate the input according to the constraints described in the error message before sending the request.
code String | "InvalidJsonInput" |
message String |
|
detailedErrorMessage String | Further explanation about why the JSON is invalid. |
InvalidOperation
Returned when the resources involved in the request are not in a valid state for the operation.
The client application should validate the constraints described in the error message before sending the request.
code String | "InvalidOperation" |
message String | Plain text description of the error. |
InvalidField
Returned when a field has an invalid value.
code String | "InvalidField" |
message String |
|
field String | Name of the field with the invalid value. |
invalidValue Any | Value invalid for the field. |
allowedValues Array of Any | Fixed set of allowed values for the field, if any. |
InternalConstraintViolated
Returned when certain API-specific constraints were not met. For example, the specified Discount Code was never applied and cannot be updated.
code String | "InternalConstraintViolated" |
message String | Plain text description of the constraints that were violated. |
MaxResourceLimitExceeded
Returned when a resource type cannot be created as it has reached its limits.
The limits must be adjusted for this resource before sending the request again.
code String | "MaxResourceLimitExceeded" |
message String |
|
exceededResource | Resource type that reached its maximum limit of configured elements (for example, 100 Zones per Project). |
MoneyOverflow
Returned when a Money operation overflows the 64-bit integer range. See Money usage for more information.
code String | "MoneyOverflow" |
message String |
|
ObjectNotFound
Returned when the requested resource was not found.
code String | "ObjectNotFound" |
message String |
|
ReferenceExists
Returned when a resource cannot be deleted because it is being referenced by another resource.
code String | "ReferenceExists" |
message String |
|
referencedBy | Type of referenced resource. |
ReferencedResourceNotFound
Returned when a resource referenced by a Reference or a ResourceIdentifier could not be found.
id String | Unique identifier of the referenced resource, if known. |
key String | User-defined unique identifier of the referenced resource, if known. |
code String | "ReferencedResourceNotFound" |
message String |
|
typeId | Type of referenced resource. |
RequiredField
Returned when a value is not defined for a required field.
code String | "RequiredField" |
message String |
|
field String | Name of the field missing the value. |
ResourceSizeLimitExceeded
Returned when the resource exceeds the maximum allowed size of 16 MB.
code String | "ResourceSizeLimitExceeded" |
message String |
|
SemanticError
Returned when a Discount predicate or API Extension predicate is not semantically correct.
code String | "SemanticError" |
message String | Plain text description of the error concerning the predicate. For example, |
SyntaxError
Returned when a Discount predicate, API Extension predicate, or search query does not have the correct syntax.
code String | "SyntaxError" |
message String |
|
QueryTimedOut
Returned when the query times out.
If a query constantly times out, please check if it follows the performance best practices.
code String | "QueryTimedOut" |
message String |
|
404 Not Found
The following general error codes can appear in responses with the HTTP status code 404
:
ResourceNotFound
Returned when the resource addressed by the request URL does not exist.
code String | "ResourceNotFound" |
message String |
|
409 Conflict
The following general error codes can appear in responses with the HTTP status code 409
:
ConcurrentModification
Returned when the request conflicts with the current state of the involved resources. Typically, the request attempts to modify a resource that is out of date (that is modified by another client since it was last retrieved). The client application should resolve the conflict (with or without involving the end user) before retrying the request.
code String | "ConcurrentModification" |
message String |
|
currentVersion Int | Current version of the resource. |
413 Content Too Large
The following general error codes can appear in responses with the HTTP status code 413
:
ContentTooLarge
Returned when the request results in too much data being returned from the API. Adjust the request query to reduce the size of the data returned.
code String | "ContentTooLarge" |
message String |
|
500 Internal Server Error
The following general error codes can appear in responses with the HTTP status code 500
:
General
Returned when a server-side problem occurs before or after data persistence. In some cases, the requested action may successfully complete after the error is returned. Therefore, it is recommended to verify the status of the requested resource after receiving a 500 error.
If you encounter this error, report it to the Composable Commerce support team.
code String | "General" |
message String | Description about any known details of the problem, for example, |
502 Bad Gateway
The following general error codes can appear in responses with the HTTP status code 502
:
BadGateway
Returned when a server-side problem is caused by scaling infrastructure resources.
The client application should retry the request with exponential backoff up to a point where further delay is unacceptable.
code String | "BadGateway" |
message String | Plain text description of the error. |
OverCapacity
Returned when the service is having trouble handling the load.
The client application should retry the request with exponential backoff up to a point where further delay is unacceptable.
code String | "OverCapacity" |
message String | Plain text description of the error. |
PendingOperation
Returned when a previous conflicting operation is still pending and needs to finish before the request can succeed.
The client application should retry the request with exponential backoff up to a point where further delay is unacceptable. If the error persists, report it to the Composable Commerce support team.
code String | "PendingOperation" |
message String | Plain text description of the error. |
API-specific errors
Extensions
ErrorByExtension
id String | Unique identifier of the Extension. |
key String | User-defined unique identifier of the Extension. |
ExtensionError
code String | Error code caused by the Extension. For example, |
message String | Plain text description of the error. |
extensionId String | Unique identifier of the Extension. |
extensionKey String | User-defined unique identifier of the Extension. |
// Any string parameter matching this regular expression | Error-specific additional fields. |
400 Bad Request
The following error codes specific to API Extensions can appear in responses with the HTTP status code 400
:
ExtensionPredicateEvaluationFailed
Returned when the predicate defined in the ExtensionTrigger could not be evaluated due to a missing field.
code String | "ExtensionPredicateEvaluationFailed" |
message String |
|
errorByExtension | Details about the API Extension that was involved in the error. |
{"code": "ExtensionPredicateEvaluationFailed","message": "The compared field 'cart' is not present","errorByExtension": {"id": "{{extension-id}}","key": "{{extension-key}}"}}
502 Bad Gateway
The following error codes specific to API Extensions can appear in responses with the HTTP status code 502
:
ExtensionBadResponse
Returned when the response from the API Extension could not be parsed successfully (such as a 500
HTTP status code, or an invalid JSON response).
code String | "ExtensionBadResponse" |
message String | Description of the invalid Extension response. For example, |
localizedMessage | User-defined localized description of the error. |
extensionExtraInfo Object | Any information that should be returned to the API caller. |
extensionErrors Array of ExtensionError | Additional errors related to the API Extension. |
extensionBody String | The response body returned by the Extension. |
extensionStatusCode Int | Http status code returned by the Extension. |
extensionId String | Unique identifier of the Extension. |
extensionKey String | User-defined unique identifier of the Extension. |
{"code": "ExtensionBadResponse","message": "'404' is not an expected status code.","extensionErrors": [],"extensionBody": "{\r\n \"message\": \"No HTTP resource was found that matches the request URI 'https://example.azurewebsites.net/api/extension'.\",\r\n \"messageDetail\": \"No type was found that matches the controller named 'extension'.\"\r\n}","extensionStatusCode": 404,"extensionId": "{{extension-id}}","extensionKey": "{{extension-key}}"}
ExtensionUpdateActionsFailed
Returned when update actions could not be applied to the resource (for example, because a referenced resource does not exist). This would result in a 400 Bad Request response if the same update action was sent from a regular client.
code String | "ExtensionUpdateActionsFailed" |
message String |
|
localizedMessage | User-defined localized description of the error. |
extensionExtraInfo Object | Any information that should be returned to the API caller. |
extensionErrors Array of ExtensionError | Additional errors related to the API Extension. |
{"code": "ExtensionUpdateActionsFailed","message": "The extension returned update actions that could not be executed.","extensionErrors": [{"code": "InvalidField","message": "The value '{\"message\":\"timeout of 2000ms exceeded\",\"name\":\"Error\",\"stack\"} is not valid for field 'response'.","extensionId": "{{extension-id}}","extensionKey": "{{extension-key}}","field": "response"}]}
504 Gateway Timeout
The following error codes specific to API Extensions can appear in responses with the HTTP status code 504
:
ExtensionNoResponse
Returned when the API Extension does not respond within the time limit, or could not be reached.
code String | "ExtensionNoResponse" |
message String |
|
extensionId String | Unique identifier of the API Extension. |
extensionKey String | User-defined unique identifier of the API Extension, if available. |
{"code": "ExtensionNoResponse","message": "Extension did not respond in time.","extensionId": "{{extension-id}}","extensionKey": "{{extension-key}}"}
External OAuth
502 Bad Gateway or 504 Gateway Timeout
The following error codes specific to external OAuth can appear in responses with the HTTP status code 502
or 504
:
ExternalOAuthFailed
Returned when an external OAuth Introspection endpoint does not return a response within the time limit, or the response isn't compliant with RFC 7662 (for example, an HTTP status code like 500
).
code String | "ExternalOAuthFailed" |
message String | Plain text description detailing the external OAuth error. For example, |
Products
400 Bad Request
The following error codes specific to Products can appear in responses with the HTTP status code 400
:
DuplicatePriceKey
Returned when a Price key conflicts with an existing key.
Keys of Embedded Prices must be unique per ProductVariant.
code String | "DuplicatePriceKey" |
message String |
|
conflictingPrice | Conflicting Embedded Price. |
DuplicatePriceScope
Returned when a Price scope conflicts with an existing one during an Update Product request.
Every Price of a Product Variant must have a distinct combination of currency, Customer Group, country, and Channel that constitute the scope of a Price.
code String | "DuplicatePriceScope" |
message String |
|
conflictingPrice | Conflicting Embedded Price. |
DuplicateVariantValues
Returned when a Product Variant value conflicts with an existing one during an Update Product request.
code String | "DuplicateVariantValues" |
message String |
|
variantValues | Every Product Variant must have a distinct combination of SKU, prices, and custom Attribute values. |
VariantValues
sku String | SKU of the ProductVariant. |
prices Array of PriceDraft | Embedded Prices of the ProductVariant. |
attributes Array of Attribute | Attributes of the ProductVariant. |
DuplicateAttributeValue
Returned when the Unique
AttributeConstraint criteria are not met during an Update Product request.
code String | "DuplicateAttributeValue" |
message String |
|
attribute | Conflicting Attributes. |
DuplicateAttributeValues
Returned when the CombinationUnique
AttributeConstraint criteria are not met during an Update Product request.
code String | "DuplicateAttributeValues" |
message String |
|
attributes Array of Attribute | Conflicting Attributes. |
Product Types
400 Bad Request
The following error codes specific to Product Types can appear in responses with the HTTP status code 400
:
AttributeDefinitionAlreadyExists
Returned when the name
of the AttributeDefinition conflicts with an existing Attribute.
The error is returned as a failed response to the Create ProductType request or Change AttributeDefinition Name update action.
code String | "AttributeDefinitionAlreadyExists" |
message String |
|
conflictingProductTypeId String | Unique identifier of the Product Type containing the conflicting name. |
conflictingProductTypeName String | Name of the Product Type containing the conflicting name. |
conflictingAttributeName String | Name of the conflicting Attribute. |
AttributeDefinitionTypeConflict
Returned when the type
is different for an AttributeDefinition using the same name
in multiple Product Types.
The error is returned as a failed response to the Create ProductType request.
code String | "AttributeDefinitionTypeConflict" |
message String |
|
conflictingProductTypeId String | Unique identifier of the Product Type containing the conflicting name. |
conflictingProductTypeName String | Name of the Product Type containing the conflicting name. |
conflictingAttributeName String | Name of the conflicting Attribute. |
AttributeNameDoesNotExist
Returned when an AttributeDefinition does not exist for an Attribute name
.
The error is returned as a failed response to the Change AttributeDefinition Name update action.
code String | "AttributeNameDoesNotExist" |
message String |
|
invalidAttributeName String | Non-existent Attribute name. |
DuplicateEnumValues
Returned when an AttributeEnumType or AttributeLocalizedEnumType contains duplicate keys.
code String | "DuplicateEnumValues" |
message String |
|
duplicates Array of String | Duplicate keys. |
EnumKeyAlreadyExists
Returned when an AttributeEnumType or AttributeLocalizedEnumType contains a key that already exists.
code String | "EnumKeyAlreadyExists" |
message String |
|
conflictingEnumKey String | Conflicting enum key. |
conflictingAttributeName String | Name of the conflicting Attribute. |
EnumKeyDoesNotExist
Returned when an AttributeEnumType or AttributeLocalizedEnumType already contains a value with the given key.
The error is returned as a failed response to the Change the key of an EnumValue update action.
code String | "EnumKeyDoesNotExist" |
message String |
|
conflictingEnumKey String | Conflicting enum key. |
conflictingAttributeName String | Name of the conflicting Attribute. |
EnumValuesMustMatch
Returned when during an order update of AttributeEnumType or AttributeLocalizedEnumType the new enum values do not match the existing ones.
The error is returned as a failed response to the Change the order of EnumValues and Change the order of LocalizedEnumValues update actions.
code String | "EnumValuesMustMatch" |
message String |
|
EnumValueIsUsed
Returned when an enum value cannot be removed from an Attribute as it is being used by a Product.
The error is returned as a failed response to the Remove EnumValues from AttributeDefinition update action.
code String | "EnumValueIsUsed" |
message String |
|
Carts and Orders
400 Bad Request
The following error codes specific to Orders can appear in responses to Create Order from Cart requests with the HTTP status code 400
:
OutOfStock
Returned when some of the Line Items are out of stock at the time of placing an Order.
The error is returned as a failed response to:
- Create Order from Cart, Create Order in Store from Cart, Create Order from Quote, and Create Order by Import requests on Orders.
- Create Order from Cart, Create Order in Store from Cart, and Create Order from Quote requests on My Orders.
- Create Order from Cart in BusinessUnit and Create Order from Quote in BusinessUnit requests on Associate Orders.
code String | "OutOfStock" |
message String |
|
lineItems Array of String | Unique identifiers of the Line Items that are out of stock. |
skus Array of String | SKUs of the Line Items that are out of stock. |
PriceChanged
Returned when the Price or Tax Rate of some Line Items or Shipping Rate of some Shipping Methods changed since they were last added to the Cart.
When a Cart is frozen, the error can be returned as a failed response to all update actions on Carts and My Carts.
The error is also returned as a failed response to:
- Create Order from Cart, Create Order in Store from Cart, and Create Order from Quote requests on Orders.
- Create Order from Cart, Create Order in Store from Cart, and Create Order from Quote requests on My Orders.
- Create Order from Cart in BusinessUnit request on Associate Orders.
code String | "PriceChanged" |
message String | Plain text description of the reason for the Price change. For example, |
lineItems Array of String | Unique identifiers of the Line Items for which the Price or TaxRate has changed. |
shipping Boolean |
|
DiscountCodeNonApplicable
Returned when the Cart contains a Discount Code with a DiscountCodeState other than MatchesCart
.
The error is returned as a failed response to:
- Create Cart and Create Cart in Store requests and Add DiscountCode update action on Carts.
- Create Cart and Create Cart in Store requests and Add DiscountCode update action on My Carts.
- Create Cart in BusinessUnit request on Associate Carts.
- Create Order from Cart and Create Order in Store from Cart requests on Orders.
- Create Order from Cart and Create Order in Store from Cart requests on My Orders.
- Add DiscountCode update action on Order Edits.
- Create Order from Cart in BusinessUnit request on Associate Orders.
code String | "DiscountCodeNonApplicable" |
message String |
|
discountCode String | Discount Code passed to the Cart. |
reason String |
|
discountCodeId String | Unique identifier of the Discount Code. |
validFrom | Date and time (UTC) from which the Discount Code is valid. |
validUntil | Date and time (UTC) until which the Discount Code is valid. |
validityCheckTime | Date and time (UTC) the Discount Code validity check was last performed. |
ShippingMethodDoesNotMatchCart
Returned when the Cart contains a ShippingMethod that is not allowed for the Cart. In this case, the ShippingMethodState value is DoesNotMatchCart
.
When a Cart is frozen, the error can be returned as a failed response to all update actions on Carts and My Carts.
The error is also returned as a failed response to:
- Create Order from Cart and Create Order in Store from Cart requests on Orders.
- Create Order from Cart and Create Order in Store from Cart requests on My Orders.
- Create Order from Cart in BusinessUnit request on Associate Orders.
code String | "ShippingMethodDoesNotMatchCart" |
message String |
|
InvalidItemShippingDetails
Returned when Line Item or Custom Line Item quantities set under ItemShippingDetails do not match the sum of the quantities in their respective shipping details.
When a Cart is frozen, the error can be returned as a failed response to all update actions on Carts and My Carts.
The error is also returned as a failed response to:
- Create Cart and Create Cart in Store requests and Add LineItem, Add CustomLineItem, Set LineItem ShippingDetails, Set CustomLineItem ShippingDetails, Add Shopping List, and Remove LineItem update actions on Carts.
- Create Cart and Create Cart in Store requests, and Add LineItem, Set LineItem ShippingDetails, and Remove LineItem update actions on My Carts.
- Create Cart in BusinessUnit request on Associate Carts.
- Create Order from Cart, Create Order in Store from Cart, Create Order from Quote, and Create Order by Import requests on Orders.
- Create Order from Cart, Create Order in Store from Cart, and Create Order from Quote requests on My Orders.
- Add LineItem, Add CustomLineItem, Set LineItem ShippingDetails, Set CustomLineItem ShippingDetails, Add Shopping List, and Remove LineItem update actions on Order Edits.
- Create Order from Cart in BusinessUnit and Create Order from Quote in BusinessUnit requests on Associate Orders.
code String | "InvalidItemShippingDetails" |
message String |
|
subject String |
|
itemId String | Unique identifier of the Line Item or Custom Line Item. |
MatchingPriceNotFound
Returned when the Product Variant does not have a Price according to the Product priceMode
value for a selected currency, country, Customer Group, or Channel.
The error can be returned as a failed response to all update actions on Carts and Staged Orders.
The error is also returned as a failed response to:
- Authenticate (sign in) Customer and Authenticate (sign in) Customer in Store requests and Set CustomerGroup update action on Customers.
- Authenticate (sign in) Customer and Authenticate (sign in) Customer in Store requests on My Customer Profile.
- Create Cart, Create Cart in Store, Replicate Cart, and Replicate Cart in Store requests on Carts.
- Create Cart and Create Cart in Store and Replicate My Cart requests on My Carts.
- Create Cart in BusinessUnit and Replicate Cart in Business Unit requests on Associate Carts.
- Create Order from Cart and Create Order in Store from Cart requests on Orders.
- Create Order from Cart and Create Order in Store from Cart requests on My Orders.
- Create Order from Cart in BusinessUnit request on Associate Orders.
code String | "MatchingPriceNotFound" |
message String |
|
productId String | Unique identifier of a Product. |
variantId Int | Unique identifier of a ProductVariant in the Product. |
currency | Currency code of the country. Pattern:^[A-Z]{3}$ |
country | Country code of the geographic location. Pattern:^[A-Z]{2}$ |
customerGroup | Customer Group associated with the Price. |
channel | Channel associated with the Price. |
MissingTaxRateForCountry
Returned when the Tax Category of at least one of the lineItems
, customLineItems
, or shippingInfo
in the Cart is missing the TaxRate matching country
and state
given in the shippingAddress
of that Cart.
The error can be returned as a failed response to all update actions on Carts and Staged Orders.
The error is also returned as a failed response to:
- Authenticate (sign in) Customer and Authenticate (sign in) Customer in Store requests and Set CustomerGroup update action on Customers.
- Authenticate (sign in) Customer and Authenticate (sign in) Customer in Store on My Customer Profile.
- Create Cart, Create Cart in Store, Replicate Cart, and Replicate Cart in Store requests on Carts.
- Create Cart and Create Cart in Store and Replicate My Cart requests on My Carts.
- Create Cart in BusinessUnit and Replicate Cart in Business Unit requests on Associate Carts.
- Create Order from Cart and Create Order in Store from Cart requests on Orders.
- Create Order from Cart and Create Order in Store from Cart requests on My Orders.
- Create Order from Cart in BusinessUnit requests on Associate Orders.
code String | "MissingTaxRateForCountry" |
message String |
|
taxCategoryId String | Unique identifier of the TaxCategory. |
country | Country code of the geographic location. Pattern:^[A-Z]{2}$ |
state String | State within the country, such as Texas in the United States. |
CountryNotConfiguredInStore
Returned when a Cart or an Order in a Store references a country that is not included in the countries configured for the Store.
The error is returned as a failed response to:
- Create Cart in Store request and Set Country update action on Carts.
- Create Cart in Store request and Set Country update action on My Carts.
- Create Order in Store from Cart and Create Order from Quote requests on Orders.
- Create Order in Store from Cart and Create Order from Quote requests on My Orders.
- Create Order by Import request on Order Import.
- Set Country update action on Order Edits.
code String | "CountryNotConfiguredInStore" |
message String |
|
storeCountries Array of CountryCode | Countries configured for the Store. |
country | The country that is not configured for the Store but referenced on the Cart or Order. Pattern:^[A-Z]{2}$ |
Customers
400 Bad Request
The following error codes specific to Customers can appear in responses with the HTTP status code 400
:
InvalidCredentials
Returned when a Customer with the given credentials (matching the given email/password pair) is not found and authentication fails.
The error is returned as a failed response to:
- Authenticate (sign in) Customer and Authenticate (sign in) Customer in Store requests on Customers.
- Authenticate (sign in) Customer and Authenticate (sign in) Customer in Store requests on My Customer Profile.
code String | "InvalidCredentials" |
message String |
|
InvalidCurrentPassword
Returned when the current password of the Customer does not match.
The error is returned as a failed response to:
- Change Customer Password and Change Customer Password in a Store requests on Customers.
- Change Customer Password and Change Customer Password in a Store requests on My Customer Profile.
code String | "InvalidCurrentPassword" |
message String |
|
409 Conflict
The following general error codes can appear in responses with the HTTP status code 409
:
LockedField
Returned when two Customers are simultaneously created or updated with the same email address.
To confirm if the operation was successful, repeat the request.
code String | "LockedField" |
message String |
|
field String | Field that is currently locked. |
Cart Discounts
400 Bad Request
The following error codes specific to Cart Discounts can appear in responses with the HTTP status code 400
:
MaxCartDiscountsReached
Returned when a Cart Discount cannot be created or activated as the limit for active Cart Discounts has been reached.
The error is returned as a failed response to:
- Create CartDiscount and Create CartDiscount in Store requests
- Change IsActive update action
code String | "MaxCartDiscountsReached" |
message String |
|
StoreCartDiscountsLimitReached
Returned when a Cart Discount cannot be created or assigned to a Store as the limit for active Cart Discounts in a Store has been reached for one or more Stores in the request.
The error is returned as a failed response to:
- Create CartDiscount and Create CartDiscount in Store requests
- Add Store and Set Store update actions
code String | "StoreCartDiscountsLimitReached" |
message String |
|
stores Array of StoreKeyReference | Stores for which the limit for active Cart Discounts that can exist has been reached. |
MaxStoreReferencesReached
Returned when a Store cannot be added to a Cart Discount as the limit for Stores configured for a Cart Discount has been reached.
The error is returned as a failed response to:
- Create CartDiscount and Create CartDiscount in Store requests
- Add Store and Set Store update actions
code String | "MaxStoreReferencesReached" |
message String |
|
Product Discounts
404 Not Found
The following error codes specific to Product Discounts can appear in responses with the HTTP status code 404
:
NoMatchingProductDiscountFound
Returned when a Product Discount could not be found that could be applied to the Price of a Product Variant.
The error is returned as a failed response to the Get Matching ProductDiscount request.
code String | "NoMatchingProductDiscountFound" |
message String |
|
Shipping Methods
400 Bad Request
The following error code specific to Shipping Methods can appear in responses with the HTTP status code 400
:
EditPreviewFailed
Returned when a preview to find an appropriate Shipping Method for an OrderEdit could not be generated.
The error is returned as a failed response to the Get Shipping Methods for an OrderEdit request.
code String | "EditPreviewFailed" |
message String |
|
result | State of the OrderEdit where the |
Product Projection Search
400 Bad Request
The following error code specific to Product Projection Search can appear in responses with the HTTP status code 400
:
SearchFacetPathNotFound
Returned when a search facet path could not be found.
code String | "SearchFacetPathNotFound" |
message String |
|
SearchExecutionFailure
Returned when a search query could not be completed due to an unexpected failure.
code String | "SearchExecutionFailure" |
message String |
|
SearchDeactivated
Returned when the indexing of Product information is deactivated in a Project.
To activate indexing, call Change Product Search Indexing Enabled and set enabled
to true
.
code String | "SearchDeactivated" |
message String |
|
SearchIndexingInProgress
Returned when the indexing of Product information is still in progress for Projects that have indexing activated.
code String | "SearchIndexingInProgress" |
message String |
|
Projects
400 Bad Request
The following error code specific to Projects can appear in responses with the HTTP status code 400
:
LanguageUsedInStores
Returned when a language cannot be removed from a Project as it is being used by a Store.
The error is returned as a failed response to the Change Languages update action.
code String | "LanguageUsedInStores" |
message String |
|
Stores
400 Bad Request
The following error codes specific to Stores can appear in responses with the HTTP status code 400
:
ProjectNotConfiguredForLanguages
Returned when the languages set for a Store are not supported by the Project.
The error is returned as a failed response to the Set Languages update action.
code String | "ProjectNotConfiguredForLanguages" |
message String |
|
languages Array of Locale | Languages configured for the Store. |
MissingRoleOnChannel
Returned when one of the following states occur:
- Channel is added or set on a Store with missing Channel
roles
. - Standalone Price references a Channel that does not contain the
ProductDistribution
role.
The error is returned as a failed response to:
- Add Distribution Channel, Set Distribution Channel, Add Supply Channel, and Set Supply Channel update actions.
- Create StandalonePrice request.
code String | "MissingRoleOnChannel" |
message String |
|
channel | ResourceIdentifier to a given Channel. |
missingRole |
|
Product Selections
400 Bad Request
ProductAssignmentMissing
Returned when a Product is not assigned to the Product Selection. The error is returned as a failed response either to the Set Variant Selection or to the Set Variant Exclusion update action.
code String | "ProductAssignmentMissing" |
message String | For Product Selection of mode Individual, the message is:
|
product |
ProductPresentWithDifferentVariantSelection
Returned when a Product is already assigned to a Product Selection, but the Product Selection has either a different Product Variant Selection or a different Product Variant Exclusion.
The error is returned as a failed response either to the Add Product or to the Exclude Product update action.
code String | "ProductPresentWithDifferentVariantSelection" |
message String |
|
product | |
existingVariantSelection | Existing Product Variant Selection or Exclusion for the Product in the Product Selection. |
Standalone Prices
400 Bad Request
The following error codes specific to Standalone Prices can appear in responses with the HTTP status code 400
:
DuplicateStandalonePriceScope
Returned when the given Price scope conflicts with the Price scope of an existing Standalone Price.
Every Standalone Price associated with the same SKU must have a distinct combination of currency, country, Customer Group, Channel, and validity periods (validFrom
and validUntil
).
The error is returned as a failed response to the Create StandalonePrice request.
code String | "DuplicateStandalonePriceScope" |
message String |
|
conflictingStandalonePrice | Reference to the conflicting Standalone Price. |
sku String | SKU of the ProductVariant to which the conflicting Standalone Price is associated. |
currency | Currency code of the country. Pattern:^[A-Z]{3}$ |
country | Country code of the geographic location. Pattern:^[A-Z]{2}$ |
customerGroup | CustomerGroup for which the Standalone Price is valid. |
channel | Channel for which the Standalone Price is valid. |
validFrom | Date and time (UTC) from which the Standalone Price is valid. |
validUntil | Date and time (UTC) until which the Standalone Price is valid. |
OverlappingStandalonePriceValidity
Returned when a given Price validity period conflicts with an existing one.
Every Standalone Price associated with the same SKU and with the same combination of currency, country, Customer Group, and Channel, must have non-overlapping validity periods (validFrom
and validUntil
).
The error is returned as a failed response to the Create StandalonePrice request.
code String | "OverlappingStandalonePriceValidity" |
message String |
|
conflictingStandalonePrice | Reference to the conflicting Standalone Price. |
sku String | SKU of the ProductVariant to which the conflicting Standalone Price is associated. |
currency | Currency code of the country. Pattern:^[A-Z]{3}$ |
country | Country code of the geographic location. Pattern:^[A-Z]{2}$ |
customerGroup | CustomerGroup for which the Standalone Price is valid. |
channel | Channel for which the Standalone Price is valid. |
validFrom | Date and time (UTC) from which the Standalone Price is valid. |
validUntil | Date and time (UTC) until which the Standalone Price is valid. |
conflictingValidFrom | Date and time (UTC) from which the conflicting Standalone Price is valid. |
conflictingValidUntil | Date and time (UTC) until which the conflicting Standalone Price is valid. |
MissingRoleOnChannel
Returned when one of the following states occur:
- Channel is added or set on a Store with missing Channel
roles
. - Standalone Price references a Channel that does not contain the
ProductDistribution
role.
The error is returned as a failed response to:
- Add Distribution Channel, Set Distribution Channel, Add Supply Channel, and Set Supply Channel update actions.
- Create StandalonePrice request.
code String | "MissingRoleOnChannel" |
message String |
|
channel | ResourceIdentifier to a given Channel. |
missingRole |
|
Associate Roles
400 Bad Request
The following error codes specific to Associate Roles can appear in responses with the HTTP status code 400
:
AssociateMissingPermission
Returned when an Associate is missing a Permission on a B2B resource.
code String | "AssociateMissingPermission" |
message String |
|
associate | ResourceIdentifier to the Associate that tried to perform the action. |
businessUnit | ResourceIdentifier to the BusinessUnit. |
associateOnBehalf | ResourceIdentifier of the Associate on whose behalf the action is performed. |
permissions Array of Permission | The Permissions that the Associate performing the action lacks. At least one of these Permissions is needed. |