To assure good performance for every project using commercetools Composable Commerce, the API imposes limits on certain parameters and objects.
Some limits can be increased per project on customer request. Most limits only apply to projects created after the introduction of the respective limit.
The current value of a project's limits can be accessed via the
limits
field on the GraphQL API.
If the limit applies to the total amount of a resource type, the current usage can be accessed as well.General
JSON document size
JSON documents persisted through any API endpoint must not be larger than
16 megabytes
. If an update action causes an existing resource to exceed this size limit, the request will fail with a ResourceSizeLimitExceeded error. This limit isn't related to the general request size. Even if a request is smaller than 16 megabytes
, if it causes the resulting document to go over this limit, the request will fail.For best performance, we recommend limiting your average documents to no more than 100 KB, and large documents (for example, a Product with many Product Variants, or an Order with many Line Items) to 2 MB.
Field content size
For performance reasons, the maximum size of a searchable field within an AttributeDefinition can not exceed
10 922
characters.Non searchable fields are only limited by the overall JSON document size.
String content limits
Any limitations in length and content of string fields are documented in the API reference of each resource with
MinLength
, MaxLength
, and Pattern
. If a Pattern
is not specified, any UTF-8 encoded Unicode characters are accepted. Additionally, the length of string fields is limited by the overall JSON document size.Slugs
A Slug must match the pattern
[a-zA-Z0-9_\-]{2,256}
, hence they are limited to 256
characters.Queries
Within a query, up to
500
elements can be fetched.When using pagination, the maximum offset is
10 000
.
The total
field of PagedQueryResult is limited to the maximum offset
when the results are filtered with a Query Predicate.See our performance tips for best practices in optimizing queries.
Update actions per request
For performance reasons, the maximum number of update actions within a single request is limited to
500
.Reference Expansion
An expansion path is limited to a maximum depth of
3
references.GraphQL
Queries with a complexity score greater than or equal to
20 000
are not executed, and a QueryComplexityLimitExceeded error is returned.Load testing
External OAuth 2.0 endpoint timeouts
If a project is using OAuth 2.0 access tokens issued by an external OAuth 2.0 introspection endpoint, the OAuth 2.0 service must respond in
500 ms
, including network latency.If the introspection endpoint does not respond within the time limit, or no connection could be established, the overall request will fail with a
504 Gateway Timeout
or 502 Bad Gateway
HTTP status code and an ExternalOAuthFailed error code.Refresh tokens
The number of refresh tokens is limited to
10 million
.
If the limit is exceeded, the least recently used refresh tokens are deleted.
Creating new refresh tokens continues to work.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Product Catalog
Categories
A maximum number of
10 000
Categories can be created.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Product Variants
A maximum number of
100
variants can be specified on a Product.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Product Search
A maximum number of
15 000
ProductSelections per Product can be indexed for Product Search.A maximum number of
15 000
Stores per Product can be indexed for Product Search.Within a search request, up to
100
elements can be fetched.
In pagination, the maximum offset is 10 000
.Queries with string values cannot contain more than
256
characters. Exceeding this limit will return an invalid input error.
You can include a maximum of 50
expressions in a single request. This includes all compound expressions.For performance reasons, the maximum size of a searchable field within an AttributeDefinition can not exceed
10 922
characters.The number of terms per facet is limited to
200
.
This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.Product Projection Search
For performance reasons, the maximum size of a searchable field within an AttributeDefinition can not exceed
10 922
characters.The number of terms per facet is limited to
200
.Within a search request, up to
500
elements can be fetched.
In pagination, the maximum offset is 10 000
.Search results are based on the first
256
characters of the full-text search query parameter only.
Everything beyond 256
characters will be ignored.
You can continue to pass longer query parameters, the API call will still be successful.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Attribute Groups
A maximum number of
100
Attribute Groups can be created per project.Product Tailoring
A maximum number of
100 000 000
Product Tailoring can be created per project.This limit can be increased per project after we review its impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Pricing and Discounts
Standalone Prices
This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, the project key, and use case.
Embedded Prices
A maximum number of
100
Embedded Prices can be specified per ProductVariant. Tiered prices, if any, are also counted towards this limit.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
If you want to go over this limit, you can also use StandalonePrices for an alternative way for pricing your products.
Tax Categories
The maximum number of Tax Categories that can be added to a project is
100
.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, the project key, and use case.
Cart Discounts
The number of active CartDiscounts that do not require a Discount Code (
isActive=true
and requiresDiscountCode=false
) and are independent of any Store is limited to 100
.Additionally, each Store can have up to
100
active CartDiscounts that do not require a Discount Code.Thus, the overall limit of active Cart Discounts without Discount Codes is
100
+ (100
* number of Stores in a Project).These limits can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Cart Discount's Stores
This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Discount Codes
The number of DiscountCodes in a Cart is limited to
10
. The number of CartDiscounts in a DiscountCode is limited to 10
.Product Discounts
The maximum number of ProductDiscounts that can be active at the same time is
500
.Carts, Orders, and Shopping Lists
Shopping Lists
The maximum number of Shopping Lists that can be added to a project is
10 000 000
.
If your project contains more shopping lists, the automatic clean-up task will delete the ones least recently modified.These limits can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Carts
The maximum number of Carts that can be added to a project is
10 000 000
.
If your project contains more carts, the automatic clean-up task will delete the ones least recently modified.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Shipping Methods
The maximum number of Shipping Methods that can be added to a project is
100
.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, the project key, and use case.
Shipping Zones
The maximum number of Zones that can be added to a project is
100
.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, the project key, and use case.
Order Edits
The maximum number of Order Edits that can exist per project is
100 000
.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, the project key, and use case.
Order Search
Only Orders from the last
3 months
are indexed and can be retrieved.Customers
Customers
The maximum number of Customers that can be added to a project is
10 000 000
.This limit can be increased per project after we review the performance impact. Contact the Composable Commerce support team and provide the region, the project key, and use case.
Customer Search
A maximum of
10 000
addresses per Customer can be indexed for Customer Search. The first 10 000
addresses in the Customer addresses
field are indexed.Customer Groups
The maximum number of Customer Groups that can be added to a project is
10 000
.This limit can be increased per project after we review the performance impact. Contact the Composable Commerce support team and provide the region, the project key, and use case.
Business Units B2B
The hierarchy of Business Units is limited to
5
levels.Each top-level Business Unit can have a maximum of
4 000
Divisions, including all direct and indirect children.These limits can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Business Unit Search B2B
A maximum of
10 000
addresses per Business Unit can be indexed for Business Unit Search. The first 10 000
addresses in the BusinessUnit addresses
field are indexed.Audit Log
Records
By default, Audit Log stores Records for
1
year.Audit Log Premium stores Records for
3
years.To request a trial of Audit Log Premium, contact the Composable Commerce support team.
Configuration
Stores
The number of Stores is limited to
300 000
.This limit can be increased per project after we review the performance impact. Contact the Composable Commerce support team and provide the region, project key, and use case.
Store's Inventory Supply Channels
This limit can be increased per project after we review the performance impact. Contact the Composable Commerce support team and provide the region, project key, and use case.
Store's Product Distribution Channels
This limit can be increased per project after we review the performance impact. Contact the Composable Commerce support team and provide the region, project key, and use case.
Store's Product Selections
Customize Data and Behavior
Custom Objects
A maximum of
20 000 000
Custom Objects can be created.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Product Types
A maximum of
1 000
Product Types can be created.This limit can be increased per project after we review the performance impact. Contact the Composable Commerce support team and provide the region, project key, and use case.
API Extensions
A maximum of
25
Extensions can be created per project.Subscriptions
A maximum of
50
Subscriptions can be created per project.This limit can be increased per project after we review the performance impact.
Contact the Composable Commerce support team and provide the region, project key, and use case.
Import API
Import Operations
An Import Operation is automatically deleted
48
hours after it is created.Learn best practices with this limit.
Import Requests
An Import Request may contain a maximum of
20
resources to import.Learn best practices with this limit.