# Errors Common HTTP error codes returned by the commercetools commerce APIs and their meaning. Error responses have the same overall structure across the different 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 [type definition](/api/errors.md?urn=ctp:api:type:ErrorResponse). #### AuthErrorResponse [type definition](/api/errors.md?urn=ctp:api:type:AuthErrorResponse). #### ErrorObject [type definition](/api/errors.md?urn=ctp:api:type:ErrorObject). ## General errors #### 400 Bad Request The following general error codes can appear in responses with the HTTP status code `400`: ##### AnonymousIdAlreadyInUse [type definition](/api/errors.md?urn=ctp:api:type:AnonymousIdAlreadyInUseError). ##### DuplicateField [type definition](/api/errors.md?urn=ctp:api:type:DuplicateFieldError). ##### DuplicateFieldWithConflictingResource [type definition](/api/errors.md?urn=ctp:api:type:DuplicateFieldWithConflictingResourceError). ##### FeatureRemoved [type definition](/api/errors.md?urn=ctp:api:type:FeatureRemovedError). ##### InvalidInput [type definition](/api/errors.md?urn=ctp:api:type:InvalidInputError). ##### InvalidJsonInput [type definition](/api/errors.md?urn=ctp:api:type:InvalidJsonInputError). ##### InvalidOperation [type definition](/api/errors.md?urn=ctp:api:type:InvalidOperationError). ##### InvalidField [type definition](/api/errors.md?urn=ctp:api:type:InvalidFieldError). ##### InternalConstraintViolated [type definition](/api/errors.md?urn=ctp:api:type:InternalConstraintViolatedError). ##### MaxResourceLimitExceeded [type definition](/api/errors.md?urn=ctp:api:type:MaxResourceLimitExceededError). ##### MoneyOverflow [type definition](/api/errors.md?urn=ctp:api:type:MoneyOverflowError). ##### ObjectNotFound [type definition](/api/errors.md?urn=ctp:api:type:ObjectNotFoundError). ##### ReferenceExists [type definition](/api/errors.md?urn=ctp:api:type:ReferenceExistsError). ##### ReferencedResourceNotFound [type definition](/api/errors.md?urn=ctp:api:type:ReferencedResourceNotFoundError). ##### RequiredField [type definition](/api/errors.md?urn=ctp:api:type:RequiredFieldError). ##### ResourceSizeLimitExceeded [type definition](/api/errors.md?urn=ctp:api:type:ResourceSizeLimitExceededError). ##### SemanticError [type definition](/api/errors.md?urn=ctp:api:type:SemanticErrorError). ##### SyntaxError [type definition](/api/errors.md?urn=ctp:api:type:SyntaxErrorError). ##### QueryTimedOut [type definition](/api/errors.md?urn=ctp:api:type:QueryTimedOutError). #### 403 Forbidden [type definition](/api/errors.md?urn=ctp:api:type:InsufficientScopeError). #### 404 Not Found The following general error codes can appear in responses with the HTTP status code `404`: ##### ResourceNotFound [type definition](/api/errors.md?urn=ctp:api:type:ResourceNotFoundError). #### 409 Conflict The following general error codes can appear in responses with the HTTP status code `409`: ##### ConcurrentModification [type definition](/api/errors.md?urn=ctp:api:type:ConcurrentModificationError). ##### SearchNotReady [type definition](/api/errors.md?urn=ctp:api:type:SearchNotReadyError). #### 413 Content Too Large The following general error codes can appear in responses with the HTTP status code `413`: ##### ContentTooLarge [type definition](/api/errors.md?urn=ctp:api:type:ContentTooLargeError). #### 500 Internal Server Error The following general error codes can appear in responses with the HTTP status code `500`: ##### General [type definition](/api/errors.md?urn=ctp:api:type:GeneralError). #### 502 Bad Gateway The following general error codes can appear in responses with the HTTP status code `502`: ##### BadGateway [type definition](/api/errors.md?urn=ctp:api:type:BadGatewayError). #### 503 Service Unavailable The following general error codes can appear in responses with the HTTP status code `503`: ##### OverCapacity [type definition](/api/errors.md?urn=ctp:api:type:OverCapacityError). ##### PendingOperation [type definition](/api/errors.md?urn=ctp:api:type:PendingOperationError). ## HTTP API-specific errors ### Extensions #### ErrorByExtension [type definition](/api/errors.md?urn=ctp:api:type:ErrorByExtension). #### ExtensionError [type definition](/api/errors.md?urn=ctp:api:type:ExtensionError). #### 400 Bad Request The following error codes specific to [API Extensions](/api/projects/api-extensions.md) can appear in responses with the HTTP status code `400`: ##### ExtensionPredicateEvaluationFailed [type definition](/api/errors.md?urn=ctp:api:type:ExtensionPredicateEvaluationFailedError). ##### ExtensionChainTooWide [type definition](/api/errors.md?urn=ctp:api:type:ExtensionChainTooWideError). ##### ExtensionChainTooDeep [type definition](/api/errors.md?urn=ctp:api:type:ExtensionChainTooDeepError). ##### CircularDependency [type definition](/api/errors.md?urn=ctp:api:type:CircularDependencyError). ##### MissingDependency [type definition](/api/errors.md?urn=ctp:api:type:MissingDependencyError). ##### ExtensionDependencyExists [type definition](/api/errors.md?urn=ctp:api:type:ExtensionDependencyExistsError). #### 502 Bad Gateway The following error codes specific to [API Extensions](/api/projects/api-extensions.md) can appear in responses with the HTTP status code `502`: ##### ExtensionBadResponse [type definition](/api/errors.md?urn=ctp:api:type:ExtensionBadResponseError). ##### ExtensionUpdateActionsFailed [type definition](/api/errors.md?urn=ctp:api:type:ExtensionUpdateActionsFailedError). #### 504 Gateway Timeout The following error codes specific to [API Extensions](/api/projects/api-extensions.md) can appear in responses with the HTTP status code `504`: ##### ExtensionNoResponse [type definition](/api/errors.md?urn=ctp:api:type:ExtensionNoResponseError). ### External OAuth #### 502 Bad Gateway or 504 Gateway Timeout The following error codes specific to [external OAuth](/api/authorization.md#request-an-access-token-using-an-external-oauth-server) can appear in responses with the HTTP status code `502` or `504`: ##### ExternalOAuthFailed [type definition](/api/errors.md?urn=ctp:api:type:ExternalOAuthFailedError). ### Products #### 400 Bad Request The following error codes specific to [Products](/api/projects/products.md) can appear in responses with the HTTP status code `400`: ##### DuplicatePriceKey [type definition](/api/errors.md?urn=ctp:api:type:DuplicatePriceKeyError). ##### DuplicatePriceScope [type definition](/api/errors.md?urn=ctp:api:type:DuplicatePriceScopeError). ##### OverlappingPriceValidity [type definition](/api/errors.md?urn=ctp:api:type:OverlappingPriceValidityError). ##### DuplicateVariantValues [type definition](/api/errors.md?urn=ctp:api:type:DuplicateVariantValuesError). ###### VariantValues [type definition](/api/errors.md?urn=ctp:api:type:VariantValues). ##### DuplicateAttributeValue [type definition](/api/errors.md?urn=ctp:api:type:DuplicateAttributeValueError). ##### DuplicateAttributeValues [type definition](/api/errors.md?urn=ctp:api:type:DuplicateAttributeValuesError). ### Product Types #### 400 Bad Request The following error codes specific to [Product Types](/api/projects/productTypes.md) can appear in responses with the HTTP status code `400`: ##### AttributeDefinitionAlreadyExists [type definition](/api/errors.md?urn=ctp:api:type:AttributeDefinitionAlreadyExistsError). ##### AttributeDefinitionTypeConflict [type definition](/api/errors.md?urn=ctp:api:type:AttributeDefinitionTypeConflictError). ##### AttributeNameDoesNotExist [type definition](/api/errors.md?urn=ctp:api:type:AttributeNameDoesNotExistError). ##### DuplicateEnumValues [type definition](/api/errors.md?urn=ctp:api:type:DuplicateEnumValuesError). ##### EnumKeyAlreadyExists [type definition](/api/errors.md?urn=ctp:api:type:EnumKeyAlreadyExistsError). ##### EnumKeyDoesNotExist [type definition](/api/errors.md?urn=ctp:api:type:EnumKeyDoesNotExistError). ##### EnumValuesMustMatch [type definition](/api/errors.md?urn=ctp:api:type:EnumValuesMustMatchError). ##### EnumValueIsUsed [type definition](/api/errors.md?urn=ctp:api:type:EnumValueIsUsedError). ### Business Units #### 403 Forbidden ##### Unauthorized [type definition](/api/errors.md?urn=ctp:api:type:UnauthorizedError). ### Carts and Orders #### RecurringOrderFailureError [type definition](/api/errors.md?urn=ctp:api:type:RecurringOrderFailureError). #### 400 Bad Request The following error codes are specific to [Carts](/api/projects/carts.md) and [Orders](/api/projects/orders.md): ##### OutOfStock [type definition](/api/errors.md?urn=ctp:api:type:OutOfStockError). ##### PriceChanged [type definition](/api/errors.md?urn=ctp:api:type:PriceChangedError). ##### DiscountCodeNonApplicable [type definition](/api/errors.md?urn=ctp:api:type:DiscountCodeNonApplicableError). ##### ShippingMethodDoesNotMatchCart [type definition](/api/errors.md?urn=ctp:api:type:ShippingMethodDoesNotMatchCartError). ##### InvalidItemShippingDetails [type definition](/api/errors.md?urn=ctp:api:type:InvalidItemShippingDetailsError). ##### MatchingPriceNotFound [type definition](/api/errors.md?urn=ctp:api:type:MatchingPriceNotFoundError). ##### MissingTaxRateForCountry [type definition](/api/errors.md?urn=ctp:api:type:MissingTaxRateForCountryError). ##### CountryNotConfiguredInStore [type definition](/api/errors.md?urn=ctp:api:type:CountryNotConfiguredInStoreError). ##### LineItemQuantityAboveLimit [type definition](/api/errors.md?urn=ctp:api:type:LineItemQuantityAboveLimitError). ##### LineItemQuantityBelowLimit [type definition](/api/errors.md?urn=ctp:api:type:LineItemQuantityBelowLimitError). ### Customers #### 400 Bad Request The following error codes specific to [Customers](/api/projects/customers.md) can appear in responses with the HTTP status code `400`: ##### InvalidCredentials [type definition](/api/errors.md?urn=ctp:api:type:InvalidCredentialsError). ##### InvalidCurrentPassword [type definition](/api/errors.md?urn=ctp:api:type:InvalidCurrentPasswordError). ##### ExpiredCustomerPasswordToken [type definition](/api/errors.md?urn=ctp:api:type:ExpiredCustomerPasswordTokenError). ##### ExpiredCustomerEmailToken [type definition](/api/errors.md?urn=ctp:api:type:ExpiredCustomerEmailTokenError). #### 409 Conflict The following general error codes can appear in responses with the HTTP status code `409`: ##### LockedField [type definition](/api/errors.md?urn=ctp:api:type:LockedFieldError). ### Cart Discounts #### 400 Bad Request The following error codes specific to [Cart Discounts](/api/projects/cartDiscounts.md) can appear in responses with the HTTP status code `400`: ##### MaxCartDiscountsReached [type definition](/api/errors.md?urn=ctp:api:type:MaxCartDiscountsReachedError). ##### StoreCartDiscountsLimitReached [type definition](/api/errors.md?urn=ctp:api:type:StoreCartDiscountsLimitReachedError). ##### MaxStoreReferencesReached [type definition](/api/errors.md?urn=ctp:api:type:MaxStoreReferencesReachedError). #### 403 Forbidden ##### Unauthorized [type definition](/api/errors.md?urn=ctp:api:type:UnauthorizedError). ### Discount Groups #### 400 Bad Request The following error codes specific to [Discount Groups](/api/projects/discount-groups.md) can appear in responses with the HTTP status code `400`: ##### MaxDiscountGroupsReached [type definition](/api/errors.md?urn=ctp:api:type:MaxDiscountGroupsReachedError). ### Product Discounts #### 404 Not Found The following error codes specific to [Product Discounts](/api/projects/productDiscounts.md) can appear in responses with the HTTP status code `404`: ##### NoMatchingProductDiscountFound [type definition](/api/errors.md?urn=ctp:api:type:NoMatchingProductDiscountFoundError). ### Shipping Methods #### 400 Bad Request The following error code specific to Shipping Methods can appear in responses with the HTTP status code `400`: ##### EditPreviewFailed [type definition](/api/errors.md?urn=ctp:api:type:EditPreviewFailedError). ### 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 [type definition](/api/errors.md?urn=ctp:api:type:SearchFacetPathNotFoundError). ##### SearchExecutionFailure [type definition](/api/errors.md?urn=ctp:api:type:SearchExecutionFailureError). ##### SearchDeactivated [type definition](/api/errors.md?urn=ctp:api:type:SearchDeactivatedError). ##### SearchIndexingInProgress [type definition](/api/errors.md?urn=ctp:api:type:SearchIndexingInProgressError). ### Projects #### 400 Bad Request The following error code specific to Projects can appear in responses with the HTTP status code `400`: ##### LanguageUsedInStores [type definition](/api/errors.md?urn=ctp:api:type:LanguageUsedInStoresError). ### Stores #### 400 Bad Request The following error codes specific to [Stores](/api/projects/stores.md) can appear in responses with the HTTP status code `400`: ##### ProjectNotConfiguredForLanguages [type definition](/api/errors.md?urn=ctp:api:type:ProjectNotConfiguredForLanguagesError). ##### MissingRoleOnChannel [type definition](/api/errors.md?urn=ctp:api:type:MissingRoleOnChannelError). ### Product Selections #### 400 Bad Request ##### ProductAssignmentMissing [type definition](/api/errors.md?urn=ctp:api:type:ProductAssignmentMissingError). ##### ProductPresentWithDifferentVariantSelection [type definition](/api/errors.md?urn=ctp:api:type:ProductPresentWithDifferentVariantSelectionError). ### Standalone Prices #### 400 Bad Request The following error codes specific to [Standalone Prices](/api/projects/standalone-prices.md) can appear in responses with the HTTP status code `400`: ##### DuplicateStandalonePriceScope [type definition](/api/errors.md?urn=ctp:api:type:DuplicateStandalonePriceScopeError). ##### OverlappingStandalonePriceValidity [type definition](/api/errors.md?urn=ctp:api:type:OverlappingStandalonePriceValidityError). ##### MissingRoleOnChannel [type definition](/api/errors.md?urn=ctp:api:type:MissingRoleOnChannelError). #### 409 Conflict The platform validates that only one price is valid at a time for a price scope. It places a temporary lock on the SKU and price scope combination while processing create and update requests. If a second request creates or updates a price with the same SKU and price scope before the first request completes, a conflict error is returned. This prevents race conditions where overlapping prices could be created or updated simultaneously. **Error handling** If you encounter a [ValidityLockConflict](/api/errors.md#validitylockconflict) or an [ExactLockConflict](/api/errors.md#exactlockconflict) error, retry the same request after 300 ms. If the error occurs frequently, plan your requests in the following way: - **Sequentially:** Recommended for inserting prices with the same price scope but different validity periods. Example: | Prices | CentAmount | Currency | ValidFrom | ValidUntil | | --- | --- | --- | --- | --- | | Price A | 1000 | EUR | 2026-01-01 | 2026-01-02 | | Price B | 1000 | EUR | 2026-01-03 | - | - **In parallel:** Acceptable for inserting prices that differ in price scope fields other than validity periods (for example, currency). Example: | Prices | CentAmount | Currency | ValidFrom | ValidUntil | | --- | --- | --- | --- | --- | | Price C | 1000 | EUR | 2026-01-03 | 2026-01-04 | | Price D | 1000 | USD | 2026-01-03 | 2026-01-04 | ##### ValidityLockConflict Projects created after 10 February 2026 receive this error code. [type definition](/api/errors.md?urn=ctp:api:type:ValidityLockConflictError). ##### ExactLockConflict Projects created before 11 February 2026 receive this error code. [type definition](/api/errors.md?urn=ctp:api:type:ExactLockConflictError). ### Associate Roles #### 400 Bad Request The following error codes specific to [Associate Roles](/api/projects/associate-roles.md) can appear in responses with the HTTP status code `400`: ##### AssociateMissingPermission [type definition](/api/errors.md?urn=ctp:api:type:AssociateMissingPermissionError). ## Audit Log-specific errors ### 429 Too Many Requests The following error code specific to [Change History](/api/history/change-history.md) can appear in responses with the HTTP status code `429`: #### Too Many Requests [type definition](/api/errors.md?urn=ctp:history:type:TooManyRequestsError). ## Import API-specific errors List of error responses in the [Import API](/api/import-export/overview.md). #### AccessDeniedError [type definition](/api/errors.md?urn=ctp:import:type:AccessDeniedError). #### ConcurrentModificationError [type definition](/api/errors.md?urn=ctp:import:type:ConcurrentModificationError). #### ContentionError [type definition](/api/errors.md?urn=ctp:import:type:ContentionError). #### DuplicateAttributeValueError [type definition](/api/errors.md?urn=ctp:import:type:DuplicateAttributeValueError). #### DuplicateAttributeValuesError [type definition](/api/errors.md?urn=ctp:import:type:DuplicateAttributeValuesError). #### DuplicateFieldError [type definition](/api/errors.md?urn=ctp:import:type:DuplicateFieldError). #### DuplicateVariantValuesError [type definition](/api/errors.md?urn=ctp:import:type:DuplicateVariantValuesError). #### GenericError [type definition](/api/errors.md?urn=ctp:import:type:GenericError). #### NewMasterVariantAdditionNotAllowedError [type definition](/api/errors.md?urn=ctp:import:type:NewMasterVariantAdditionNotAllowedError). #### InsufficientScopeError [type definition](/api/errors.md?urn=ctp:import:type:InsufficientScopeError). #### InvalidCredentialsError [type definition](/api/errors.md?urn=ctp:import:type:InvalidCredentialsError). #### InvalidFieldError [type definition](/api/errors.md?urn=ctp:import:type:InvalidFieldError). #### InvalidFieldsUpdateError [type definition](/api/errors.md?urn=ctp:import:type:InvalidFieldsUpdateError). #### InvalidInput [type definition](/api/errors.md?urn=ctp:import:type:InvalidInput). #### InvalidJsonInput [type definition](/api/errors.md?urn=ctp:import:type:InvalidJsonInput). #### InvalidOperation [type definition](/api/errors.md?urn=ctp:import:type:InvalidOperation). #### InvalidScopeError [type definition](/api/errors.md?urn=ctp:import:type:InvalidScopeError). #### InvalidStateTransitionError [type definition](/api/errors.md?urn=ctp:import:type:InvalidStateTransitionError). #### InvalidTokenError [type definition](/api/errors.md?urn=ctp:import:type:InvalidTokenError). #### RequiredFieldError [type definition](/api/errors.md?urn=ctp:import:type:RequiredFieldError). #### ResourceCreationError [type definition](/api/errors.md?urn=ctp:import:type:ResourceCreationError). #### ResourceDeletionError [type definition](/api/errors.md?urn=ctp:import:type:ResourceDeletionError). #### ResourceNotFoundError [type definition](/api/errors.md?urn=ctp:import:type:ResourceNotFoundError). #### ResourceUpdateError [type definition](/api/errors.md?urn=ctp:import:type:ResourceUpdateError). ## Related pages - [Area overview page with navigation](/api.md) - [Previous page: Search query language](/api/search-query-language.md) - [Next page: Limits](/api/limits.md)