All Release Notes

GraphQL API to query project-specific limits

23 July 2020
Composable Commerce
HTTP API
Enhancement
GraphQLLimits

You can now check limits that are specific to a project with a GraphQL query.

Which limits are included?

  • Limits that can be changed
  • Limits that only apply to projects created after the introduction of the respective limit.
  • If the total count of resources stored is limited, you can also access the current count
  • [GraphQL API] Added the following types to the GraphQL schema: CartDiscountLimitsProjection, CartLimitsProjection, CustomerGroupLimitsProjection, CustomerLimitsProjection, ExtensionLimitsProjection, Limit, LimitWithCurrent, OrderEditLimitsProjection, ProductDiscountLimitsProjection, ProductLimitsProjection, ProjectCustomLimitsProjection, QueryLimitsProjection, RefreshTokenLimitsProjection, ShippingMethodLimitsProjection, ShoppingListLimitsProjection, StoreLimitsProjection, TaxCategoryLimitsProjection, ZoneLimitsProjection.
  • [GraphQL API] Changed the Query type:
    • Added the limits field to the Query type.

Introduced the following changes to the GraphQL schema (in SDL format):

extend type Query {
limits: ProjectCustomLimitsProjection!
}
"Contains information about the limits of your project."
type ProjectCustomLimitsProjection {
query: QueryLimitsProjection!
products: ProductLimitsProjection!
shoppingLists: ShoppingListLimitsProjection!
extensions: ExtensionLimitsProjection!
productDiscounts: ProductDiscountLimitsProjection!
cartDiscounts: CartDiscountLimitsProjection!
orderEdits: OrderEditLimitsProjection!
stores: StoreLimitsProjection!
customers: CustomerLimitsProjection!
customerGroups: CustomerGroupLimitsProjection!
zones: ZoneLimitsProjection!
taxCategories: TaxCategoryLimitsProjection!
refreshTokens: RefreshTokenLimitsProjection!
shippingMethods: ShippingMethodLimitsProjection!
carts: CartLimitsProjection!
}
type CartDiscountLimitsProjection {
totalActiveWithoutDiscountCodes: LimitWithCurrent!
}
type CartLimitsProjection {
total: LimitWithCurrent!
}
type CustomerGroupLimitsProjection {
total: LimitWithCurrent!
}
type CustomerLimitsProjection {
total: LimitWithCurrent!
}
type ExtensionLimitsProjection {
timeoutInMs: Limit!
}
type Limit {
limit: Long
}
type LimitWithCurrent {
limit: Long
current: Long!
}
type OrderEditLimitsProjection {
total: LimitWithCurrent!
}
type ProductDiscountLimitsProjection {
totalActive: LimitWithCurrent!
}
type ProductLimitsProjection {
pricesPerVariant: Limit!
variants: Limit!
}
type QueryLimitsProjection {
offset: Limit!
}
type RefreshTokenLimitsProjection {
total: LimitWithCurrent!
}
type ShippingMethodLimitsProjection {
total: LimitWithCurrent!
}
type ShoppingListLimitsProjection {
lineItems: Limit!
textLineItems: Limit!
total: LimitWithCurrent!
}
type StoreLimitsProjection {
total: LimitWithCurrent!
}
type TaxCategoryLimitsProjection {
total: LimitWithCurrent!
}
type ZoneLimitsProjection {
total: LimitWithCurrent!
}