Common HTTP error codes returned by the commercetools Composable Commerce APIs and their meaning.
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.
statusCodeInt | HTTP status code corresponding to the error. |
messageString | First error message in the errors array. |
errorsArray 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 400. |
{
"statusCode": 400,
"message": "First error message.",
"errors": [
{
"code": "SyntaxError",
"message": "First error message."
},
{
"code": "SemanticError",
"message": "Second error message."
}
]
}AuthErrorResponse
statusCodeInt | HTTP status code corresponding to the error. |
messageString | First error message in the errors array. |
errorsArray of ErrorObject | Authentication and authorization-related errors returned for a request. |
errorString | Error code as per the OAuth 2.0 specification. For example: "access_denied". |
error_descriptionString | Plain text description of the first error. |
{
"statusCode": 401,
"message": "invalid_token",
"errors": [
{
"code": "invalid_token",
"message": "invalid_token"
}
],
"error": "invalid_token"
}ErrorObject
codeString | Error identifier. |
messageString | 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
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.
codeString | "AnonymousIdAlreadyInUse" |
messageString | "The given anonymous ID is already in use." |
DuplicateField
Returned when a field value conflicts with an existing value causing a duplicate.
codeString | "DuplicateField" |
messageString | "A duplicate value $duplicateValue exists for field $field." |
fieldString | Name of the conflicting field. |
duplicateValueAny | Conflicting duplicate value. |
DuplicateFieldWithConflictingResource
Returned when a field value conflicts with an existing value stored in a particular resource causing a duplicate.
codeString | "DuplicateFieldWithConflictingResource" |
messageString | "A duplicate value $duplicateValue exists for field $field on $conflictingResource." |
fieldString | Name of the conflicting field. |
duplicateValueAny | Conflicting duplicate value. |
conflictingResource | Reference to the resource that has the conflicting value. |
FeatureRemoved
Returned when the requested feature was removed.
codeString | "FeatureRemoved" |
messageString | Description of the feature that is removed. |
InvalidInput
Returned when an invalid input has been sent.
codeString | "InvalidInput" |
messageString | Description of the constraints that are not met by the request. For example, "Invalid $propertyName. It may be a non-empty string up to $maxLength". |
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.
codeString | "InvalidJsonInput" |
messageString | "Request body does not contain valid JSON." |
detailedErrorMessageString | 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.
codeString | "InvalidOperation" |
messageString | Plain text description of the error. |
InvalidField
Returned when a field has an invalid value.
codeString | "InvalidField" |
messageString | "The value $invalidValue is not valid for field $field." |
fieldString | Name of the field with the invalid value. |
invalidValueAny | Value invalid for the field. |
allowedValuesArray of Any | Fixed set of allowed values for the field, if any. |
InternalConstraintViolated
codeString | "InternalConstraintViolated" |
messageString | Plain text description of the constraints that were violated. |
MaxResourceLimitExceeded
The limits must be adjusted for this resource before sending the request again.
codeString | "MaxResourceLimitExceeded" |
messageString | "You have exceeded the limit of $limit resources of type $resourceTypeId." |
exceededResource | Resource type that reached its maximum limit of configured elements (for example, 100 Zones per Project). |
MoneyOverflow
codeString | "MoneyOverflow" |
messageString | "A Money operation resulted in an overflow." |
ObjectNotFound
codeString | "ObjectNotFound" |
messageString | "A $resourceType with identifier $id was unexpectedly not found." or"No index found for project" |
ReferenceExists
Returned when a resource cannot be deleted because it is being referenced by another resource.
codeString | "ReferenceExists" |
messageString | "Can not delete a $resource while it is referenced by at least one $referencedBy." |
referencedBy | Type of referenced resource. |
ReferencedResourceNotFound
idString | Unique identifier of the referenced resource, if known. |
keyString | User-defined unique identifier of the referenced resource, if known. |
codeString | "ReferencedResourceNotFound" |
messageString | "The referenced object of type $typeId $predicate was not found. It either doesn't exist, or it can't be accessed from this endpoint (e.g., if the endpoint filters by store or customer account)." |
typeId | Type of referenced resource. |
RequiredField
Returned when a value is not defined for a required field.
codeString | "RequiredField" |
messageString | "A value is required for field $field." |
fieldString | Name of the field missing the value. |
ResourceSizeLimitExceeded
Returned when the resource exceeds the maximum allowed size of 16 MB.
codeString | "ResourceSizeLimitExceeded" |
messageString | "The resource size exceeds the maximal allowed size of 16 MB." |
SemanticError
codeString | "SemanticError" |
messageString | Plain text description of the error concerning the predicate. For example, "Invalid country code $countryCode provided for the field $fieldDefinition.". |
SyntaxError
codeString | "SyntaxError" |
messageString | "Syntax error while parsing $fieldDefinition." |
QueryTimedOut
Returned when the query times out.
codeString | "QueryTimedOut" |
messageString | "The query timed out. If your query constantly times out, please check that it follows the performance best practices (see https://docs.commercetools.com/api/predicates/query#performance-considerations)." |
403 Forbidden
codeString | "insufficient_scope" |
messageString | "Insufficient scope. One of the following scopes is missing:" |
404 Not Found
404:ResourceNotFound
Returned when the resource addressed by the request URL does not exist.
codeString | "ResourceNotFound" |
messageString | "The Resource with ID $resourceId was not found." |
409 Conflict
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.
codeString | "ConcurrentModification" |
messageString | "Object $resourceId has a different version than expected. Expected: $expectedVersion - Actual: $currentVersion." |
currentVersionInt | Current version of the resource. |
SearchNotReady
Returned if the requested search service is not ready. The search might be deactivated or indexing is in progress.
codeString | "SearchNotReady" |
messageString | $Search is not ready. Check the indexing-status endpoint and that the feature has been activated in the project settings. |
413 Content Too Large
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.
codeString | "ContentTooLarge" |
messageString | "Content too large." |
500 Internal Server Error
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.
codeString | "General" |
messageString | Description about any known details of the problem, for example, "Write operations are temporarily unavailable". |
502 Bad Gateway
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.
codeString | "BadGateway" |
messageString | 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.
codeString | "OverCapacity" |
messageString | 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.
codeString | "PendingOperation" |
messageString | Plain text description of the error. |
HTTP API-specific errors
Extensions
ErrorByExtension
idString | Unique identifier of the Extension. |
keyString | User-defined unique identifier of the Extension. |
ExtensionError
codeString | Error code caused by the Extension. For example, InvalidField. |
messageString | Plain text description of the error. |
extensionIdString | Unique identifier of the Extension. |
extensionKeyString | User-defined unique identifier of the Extension. |
//Any string parameter matching this regular expression | Error-specific additional fields. |
400 Bad Request
400:ExtensionPredicateEvaluationFailed
codeString | "ExtensionPredicateEvaluationFailed" |
messageString | "The compared field $fieldName is not present." |
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
502:ExtensionBadResponse
500 HTTP status code, or an invalid JSON response).codeString | "ExtensionBadResponse" |
messageString | Description of the invalid Extension response. For example, "The extension did not return the expected JSON.". |
localizedMessage | User-defined localized description of the error. |
extensionExtraInfoObject | Any information that should be returned to the API caller. |
extensionErrorsArray of ExtensionError | Additional errors related to the API Extension. |
extensionBodyString | The response body returned by the Extension. |
extensionStatusCodeInt | Http status code returned by the Extension. |
extensionIdString | Unique identifier of the Extension. |
extensionKeyString | 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
codeString | "ExtensionUpdateActionsFailed" |
messageString | "The extension returned update actions that could not be executed." |
localizedMessage | User-defined localized description of the error. |
extensionExtraInfoObject | Any information that should be returned to the API caller. |
extensionErrorsArray 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
504:ExtensionNoResponse
codeString | "ExtensionNoResponse" |
messageString | "Extension did not respond in time." |
extensionIdString | Unique identifier of the API Extension. |
extensionKeyString | 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
502 or 504:ExternalOAuthFailed
500).codeString | "ExternalOAuthFailed" |
messageString | Plain text description detailing the external OAuth error. For example, "External OAuth did not respond in time.". |
Products
400 Bad Request
400:DuplicatePriceKey
Returned when a Price key conflicts with an existing key.
Keys of Embedded Prices must be unique per ProductVariant.
codeString | "DuplicatePriceKey" |
messageString | "Duplicate price key: $priceKey. The price key must be unique per variant." |
conflictingPrice | Conflicting Embedded Price. |
DuplicatePriceScope
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.
codeString | "DuplicatePriceScope" |
messageString | "Duplicate price scope: $priceScope. The combination of currency, country, customerGroup and channel must be unique for each price of a product variant." |
conflictingPrice | Conflicting Embedded Price. |
DuplicateVariantValues
codeString | "DuplicateVariantValues" |
messageString | "A duplicate combination of the variant values (sku, key, images, prices, attributes) exists." |
variantValues | Every Product Variant must have a distinct combination of SKU, prices, and custom Attribute values. |
VariantValues
skuString | SKU of the ProductVariant. |
pricesArray of PriceDraft | Embedded Prices of the ProductVariant. |
attributesArray of Attribute | Attributes of the ProductVariant. |
DuplicateAttributeValue
codeString | "DuplicateAttributeValue" |
messageString | "Attribute can't have the same value in a different variant." |
attribute | Conflicting Attributes. |
DuplicateAttributeValues
CombinationUnique AttributeConstraint criteria are not met during an Update Product request.codeString | "DuplicateAttributeValues" |
messageString | "The set of attributes must be unique across all variants." |
attributesArray of Attribute | Conflicting Attributes. |
Product Types
400 Bad Request
400:AttributeDefinitionAlreadyExists
name of the AttributeDefinition conflicts with an existing Attribute.codeString | "AttributeDefinitionAlreadyExists" |
messageString | "An attribute definition with name $attributeName already exists on product type $productTypeName." |
conflictingProductTypeIdString | Unique identifier of the Product Type containing the conflicting name. |
conflictingProductTypeNameString | Name of the Product Type containing the conflicting name. |
conflictingAttributeNameString | Name of the conflicting Attribute. |
AttributeDefinitionTypeConflict
type is different for an AttributeDefinition using the same name in multiple Product Types.codeString | "AttributeDefinitionTypeConflict" |
messageString | "The attribute with name $attributeName has a different type on product type $productTypeName." |
conflictingProductTypeIdString | Unique identifier of the Product Type containing the conflicting name. |
conflictingProductTypeNameString | Name of the Product Type containing the conflicting name. |
conflictingAttributeNameString | Name of the conflicting Attribute. |
AttributeNameDoesNotExist
name.codeString | "AttributeNameDoesNotExist" |
messageString | "Attribute definition for $attributeName does not exist on type $typeName." |
invalidAttributeNameString | Non-existent Attribute name. |
DuplicateEnumValues
codeString | "DuplicateEnumValues" |
messageString | "The enum values contain duplicate keys: $listOfDuplicateKeys." |
duplicatesArray of String | Duplicate keys. |
EnumKeyAlreadyExists
codeString | "EnumKeyAlreadyExists" |
messageString | "The $attributeName attribute definition already contains an enum value with the key $enumKey." |
conflictingEnumKeyString | Conflicting enum key. |
conflictingAttributeNameString | Name of the conflicting Attribute. |
EnumKeyDoesNotExist
codeString | "EnumKeyDoesNotExist" |
messageString | "The $fieldName field definition does not contain an enum value with the key $enumKey." |
conflictingEnumKeyString | Conflicting enum key. |
conflictingAttributeNameString | Name of the conflicting Attribute. |
EnumValuesMustMatch
codeString | "EnumValuesMustMatch" |
messageString | "The given values must be equal to the existing enum values." |
EnumValueIsUsed
Returned when an enum value cannot be removed from an Attribute as it is being used by a Product.
codeString | "EnumValueIsUsed" |
messageString | "$enumKeysTranscript is used by some products and cannot be deleted because the $attributeName attribute is required." |
Carts and Orders
RecurringOrderFailureError
codeString | "RecurringOrderFailure" |
messageString | Plain text description of the error. |
detailsAny | Details about the error's cause and the entities involved. |
400 Bad Request
400:OutOfStock
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.
codeString | "OutOfStock" |
messageString | "Some line items are out of stock at the time of placing the order: $itemSku." |
lineItemsArray of String | Unique identifiers of the Line Items that are out of stock. |
skusArray 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.
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.
codeString | "PriceChanged" |
messageString | Plain text description of the reason for the Price change. For example, "The price or tax of some line items changed at the time of placing the order: $lineItems.". |
lineItemsArray of String | Unique identifiers of the Line Items for which the Price or TaxRate has changed. |
shippingBoolean | true if the ShippingRate has changed. |
DiscountCodeNonApplicable
MatchesCart or ApplicationStoppedByGroupBestDeal.The error is returned as a failed response to:
- Create Cart and Create Cart in Store requests.
- Create Cart and Create Cart in Store requests.
- 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 Carts, if the associated Cart Discounts are inactive or invalid, or belongs to a different Store than the Cart.
- Add DiscountCode update action on My Carts, if the associated Cart Discounts are inactive or invalid, or belongs to a different Store than the Cart.
- Add DiscountCode update action on Order Edits, if the associated Cart Discounts are inactive or invalid, or belongs to a different Store than the Order.
- Create Order from Cart in BusinessUnit request on Associate Orders.
codeString | "DiscountCodeNonApplicable" |
messageString | "The discountCode $discountCodeId cannot be applied to the cart." |
discountCodeString | Discount Code passed to the Cart. |
reasonString | "DoesNotExist" or "TimeRangeNonApplicable" |
discountCodeIdString | 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
DoesNotMatchCart.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.
codeString | "ShippingMethodDoesNotMatchCart" |
messageString | "The predicate does not match the cart." |
InvalidItemShippingDetails
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.
codeString | "InvalidItemShippingDetails" |
messageString | "Inconsistent shipping details for $subject with ID $itemId. $subject quantity is $itemQuantity and shippingTargets quantity sum is $quantitySum." |
subjectString | "LineItem" or "CustomLineItem" |
itemIdString | Unique identifier of the Line Item or Custom Line Item. |
MatchingPriceNotFound
priceMode value for a selected currency, country, Customer Group, or Channel.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.
codeString | "MatchingPriceNotFound" |
messageString | "The variant $variantId of product $productId does not contain a price for currency $currencyCode, $country, $customerGroup, $channel." |
productIdString | Unique identifier of a Product. |
variantIdInt | 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
lineItems, customLineItems, or shippingInfo in the Cart is missing the TaxRate matching country and state given in the shippingAddress of that Cart.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.
codeString | "MissingTaxRateForCountry" |
messageString | "Tax category $taxCategoryId is missing a tax rate for country $countriesAndStates." |
taxCategoryIdString | Unique identifier of the TaxCategory. |
country | Country code of the geographic location. Pattern:^[A-Z]{2}$ |
stateString | State within the country, such as Texas in the United States. |
CountryNotConfiguredInStore
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.
codeString | "CountryNotConfiguredInStore" |
messageString | "The country $country is not configured for the store $store." |
storeCountriesArray 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
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.
codeString | "InvalidCredentials" |
messageString | "Account with the given credentials not found." |
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.
codeString | "InvalidCurrentPassword" |
messageString | "The given current password does not match." |
ExpiredCustomerPasswordToken
Returned when the provided password token of the Customer has expired.
The error is returned as a failed response to:
codeString | "ExpiredCustomerPasswordToken" |
messageString | "The given password token has expired." |
ExpiredCustomerEmailToken
Returned when the provided email token of the Customer has expired.
The error is returned as a failed response to:
codeString | "ExpiredCustomerEmailToken" |
messageString | "The given email token has expired." |
409 Conflict
409:LockedField
To confirm if the operation was successful, repeat the request.
codeString | "LockedField" |
messageString | "'$field' is locked by another request. Please try again later." |
fieldString | Field that is currently locked. |
Cart Discounts
400 Bad Request
400:MaxCartDiscountsReached
The error is returned as a failed response to:
- Create CartDiscount and Create CartDiscount in Store requests
- Change IsActive update action
codeString | "MaxCartDiscountsReached" |
messageString | "Maximum number of active cart discounts reached ($max)." |
StoreCartDiscountsLimitReached
The error is returned as a failed response to:
- Create CartDiscount and Create CartDiscount in Store requests
- Add Store and Set Store update actions
codeString | "StoreCartDiscountsLimitReached" |
messageString | "Maximum number of active cart discounts reached for $stores." |
storesArray of StoreKeyReference | Stores for which the limit for active Cart Discounts that can exist has been reached. |
MaxStoreReferencesReached
The error is returned as a failed response to:
- Create CartDiscount and Create CartDiscount in Store requests
- Add Store and Set Store update actions
codeString | "MaxStoreReferencesReached" |
messageString | "Maximum number of store discounts on a single cart discount reached $max". |
Discount Groups
400 Bad Request
400:MaxDiscountGroupsReached
The error is returned as a failed response to:
- Create DiscountGroup request
- Set IsActive update action
codeString | "MaxDiscountGroupsReached" |
messageString | "Maximum number of active discount groups reached ($max)." |
Product Discounts
404 Not Found
404:NoMatchingProductDiscountFound
Returned when a Product Discount could not be found that could be applied to the Price of a Product Variant.
codeString | "NoMatchingProductDiscountFound" |
messageString | "Couldn't find a matching product discount for: productId=$productId, variantId=$variantId, price=$price." |
Shipping Methods
400 Bad Request
400:EditPreviewFailed
Returned when a preview to find an appropriate Shipping Method for an OrderEdit could not be generated.
codeString | "EditPreviewFailed" |
messageString | "Error while applying staged actions. ShippingMethods could not be determined." |
result | State of the OrderEdit where the stagedActions cannot be applied to the Order. |
Product Projection Search
400 Bad Request
400:SearchFacetPathNotFound
Returned when a search facet path could not be found.
codeString | "SearchFacetPathNotFound" |
messageString | "Facet path $path not found." |
SearchExecutionFailure
Returned when a search query could not be completed due to an unexpected failure.
codeString | "SearchExecutionFailure" |
messageString | "Something went wrong during the search query execution. In most case this happens due to usage of non-existing fields and custom product attributes. Please verify all filters and facets in your search query and make sure that all paths are correct." |
SearchDeactivated
Returned when the indexing of Product information is deactivated in a Project.
codeString | "SearchDeactivated" |
messageString | "The endpoint is deactivated for this project. Please enable it via the Project endpoint, via the Merchant Center in the Project settings, or reach out to Support to enable it." |
SearchIndexingInProgress
Returned when the indexing of Product information is still in progress for Projects that have indexing activated.
codeString | "SearchIndexingInProgress" |
messageString | "The indexing is currently in progress. Please wait until the status is "Activated" to execute search requests." |
Projects
400 Bad Request
400:LanguageUsedInStores
Returned when a language cannot be removed from a Project as it is being used by a Store.
codeString | "LanguageUsedInStores" |
messageString | "Language(s) in use by a store cannot be deleted. Remove them in all the stores of this project first." |
Stores
400 Bad Request
400:ProjectNotConfiguredForLanguages
Returned when the languages set for a Store are not supported by the Project.
codeString | "ProjectNotConfiguredForLanguages" |
messageString | "The project is not configured for given languages." |
languagesArray 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
ProductDistributionrole.
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.
codeString | "MissingRoleOnChannel" |
messageString | "Given channel with $idOrKeyOfChannel does not have the required role $role." |
channel | ResourceIdentifier to a given Channel. |
missingRole |
|
Product Selections
400 Bad Request
ProductAssignmentMissing
codeString | "ProductAssignmentMissing" |
messageString | For Product Selection of mode Individual, the message is:
"A Product Variant Selection can only be set for a Product that has previously been added to the Product Selection."
For Product Selection of mode IndividualExclusion, the message is:
"A Variant Exclusion can only be set for a Product that has previously been added to the Product Selection of type Individual Exclusion." |
product |
ProductPresentWithDifferentVariantSelection
codeString | "ProductPresentWithDifferentVariantSelection" |
messageString | "Product is already present with the following different $variantSelections." |
product | |
existingVariantSelection | Existing Product Variant Selection or Exclusion for the Product in the Product Selection. |
Standalone Prices
400 Bad Request
400:DuplicateStandalonePriceScope
validFrom and validUntil).codeString | "DuplicateStandalonePriceScope" |
messageString | "Duplicate standalone price scope for SKU: $sku. The combination of SKU, currency, country, customerGroup, channel, validFrom and validUntil must be unique for each standalone price." |
conflictingStandalonePrice | Reference to the conflicting Standalone Price. |
skuString | 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
validFrom and validUntil).codeString | "OverlappingStandalonePriceValidity" |
messageString | Two standalone prices have overlapping validity periods." |
conflictingStandalonePrice | Reference to the conflicting Standalone Price. |
skuString | 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
ProductDistributionrole.
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.
codeString | "MissingRoleOnChannel" |
messageString | "Given channel with $idOrKeyOfChannel does not have the required role $role." |
channel | ResourceIdentifier to a given Channel. |
missingRole |
|
Associate Roles B2B
400 Bad Request
400:AssociateMissingPermission
codeString | "AssociateMissingPermission" |
messageString |
|
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. |
permissionsArray of Permission | The Permissions that the Associate performing the action lacks. At least one of these Permissions is needed. |
Audit Log-specific errors
429 Too Many Requests
429:Too Many Requests
Retry-After header).codeString | "TooManyRequests" |
messageString | "You have made too many requests. Please try again later." |
Import API-specific errors
AccessDeniedError
codeString | "access_denied"An error identifier. |
messageString | A plain language description of the cause of an error. |
ConcurrentModificationError
The request conflicts with the current state of the involved resources. This error typically occurs when the request attempts to modify a resource that is out of date, that is, it has been modified by another client since the last time it was retrieved by the system attempting to update it. The client application should resolve the conflict (with or without involving the end-user) before retrying the request.
codeString | "ConcurrentModification"An error identifier. |
messageString | A plain language description of the cause of an error. |
specifiedVersionInt | The version specified in the failed request. |
currentVersionInt | The current version of the resource. |
conflictedResourceAny | The resource in conflict. |
ContentionError
codeString | "Contention"An error identifier. |
messageString | A plain language description of the cause of an error. |
DuplicateAttributeValueError
Unique AttributeConstraintEnum was violated.codeString | "DuplicateAttributeValue"An error identifier. |
messageString | A plain language description of the cause of an error. |
attribute | The attribute in conflict. |
DuplicateAttributeValuesError
CombinationUnique AttributeConstraintEnum was violated.codeString | "DuplicateAttributeValues"An error identifier. |
messageString | A plain language description of the cause of an error. |
attributesArray of Attribute |
DuplicateFieldError
The given value already exists for a field that is checked for unique values.
codeString | "DuplicateField"An error identifier. |
messageString | A plain language description of the cause of an error. |
fieldString | The name of the field. |
duplicateValueAny | The offending duplicate value. |
DuplicateVariantValuesError
codeString | "DuplicateVariantValues"An error identifier. |
messageString | A plain language description of the cause of an error. |
variantValuesVariantValues | The offending variant values. |
GenericError
codeString | "Generic"An error identifier. |
messageString | A plain language description of the cause of an error. |
NewMasterVariantAdditionNotAllowedError
codeString | "NewMasterVariantAdditionNotAllowed"An error identifier. |
messageString | "Adding a new variant as master variant is not allowed." |
InsufficientScopeError
codeString | "insufficient_scope"An error identifier. |
messageString | A plain language description of the cause of an error. |
InvalidCredentialsError
codeString | "InvalidCredentials"An error identifier. |
messageString | A plain language description of the cause of an error. |
InvalidFieldError
variants, which is not supported by Product Import, is sent to the Product Import endpoint.codeString | "InvalidField"An error identifier. |
messageString | A plain language description of the cause of an error. |
fieldString | The name of the field. |
invalidValueAny | The invalid value. |
allowedValuesArray of Any | The set of allowed values for the field, if any. |
resourceIndexInt | The index of the resource in the import request that contains the invalid field. |
InvalidFieldsUpdateError
Returned when a field cannot be updated.
codeString | "InvalidFieldUpdate"An error identifier. |
messageString | "The following fields are currently not supported for changes/updates" |
fieldsArray of String | Fields that cannot be updated. |
InvalidInput
An invalid input has been sent to the service. The client application should validate the input according to the constraints described in the error message before sending the request again.
codeString | "InvalidInput"An error identifier. |
messageString | A plain language description of the cause of an error. |
InvalidJsonInput
An invalid JSON input has been sent to the service. Either the JSON is syntactically incorrect or the JSON has an unexpected shape, for example, a required field is missing. The client application should validate the input according to the constraints described in the error message before sending the request again.
codeString | "InvalidJsonInput"An error identifier. |
messageString | A plain language description of the cause of an error. |
InvalidOperation
The resources in the request are not in the valid state for the operation. The client application should validate the constraints described in the error message before sending the request again.
codeString | "InvalidOperation"An error identifier. |
messageString | A plain language description of the cause of an error. |
InvalidScopeError
The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner.
codeString | "invalid_scope"An error identifier. |
messageString | A plain language description of the cause of an error. |
InvalidStateTransitionError
codeString | "InvalidTransition"An error identifier. |
messageString | A plain language description of the cause of an error. |
currentState | Every Import Operation is assigned one of the following states. |
newState | Every Import Operation is assigned one of the following states. |
InvalidTokenError
codeString | "invalid_token"An error identifier. |
messageString | A plain language description of the cause of an error. |
RequiredFieldError
A required field is missing a value.
codeString | "RequiredField"An error identifier. |
messageString | A plain language description of the cause of an error. |
fieldString | The name of the field. |
ResourceCreationError
codeString | "ResourceCreation"An error identifier. |
messageString | A plain language description of the cause of an error. |
resourceAny | The resource that was created. |
ResourceDeletionError
codeString | "ResourceDeletion"An error identifier. |
messageString | A plain language description of the cause of an error. |
resourceAny | The resource that was deleted. |
ResourceNotFoundError
codeString | "ResourceNotFound"An error identifier. |
messageString | A plain language description of the cause of an error. |
resourceAny | The resource that was not found. |
ResourceUpdateError
codeString | "ResourceUpdate"An error identifier. |
messageString | A plain language description of the cause of an error. |
resourceAny | The resource that was updated. |