Skip to content
Saleor
Esc
↑↓navigate↵open⌘Jpreview

Schema: Saleor 3.23.43Download SDLUpgrade guides

On this page

Shop Object

Represents a shop resource containing general shop data and configuration.

type Shop implements ObjectWithMetadata {
  privateMetadata: [MetadataItem!]!
  privateMetafield(key: String!): String
  privateMetafields(keys: [String!]): Metadata
  metadata: [MetadataItem!]!
  metafield(key: String!): String
  metafields(keys: [String!]): Metadata
  id: ID!
  availablePaymentGateways(currency: String @deprecated(reason: "Use `channel` argument instead."), channel: String): [PaymentGateway!]! @deprecated(reason: "The legacy Payments API is deprecated and will be removed. Use the Transactions API instead.")
  availableExternalAuthentications: [ExternalAuthentication!]!
  availableShippingMethods(channel: String!, address: AddressInput): [ShippingMethod!]
  channelCurrencies: [String!]!
  countries(languageCode: LanguageCodeEnum @deprecated, filter: CountryFilterInput): [CountryDisplay!]!
  defaultCountry: CountryDisplay
  defaultMailSenderName: String
  defaultMailSenderAddress: String
  description: String
  domain: Domain!
  languages: [LanguageDisplay!]!
  name: String!
  permissions: [Permission!]!
  phonePrefixes: [String!]!
  headerText: String
  fulfillmentAutoApprove: Boolean!
  fulfillmentAllowUnpaid: Boolean!
  trackInventoryByDefault: Boolean
  allowStorefrontTraffic: Boolean!
  defaultWeightUnit: WeightUnitsEnum
  translation(languageCode: LanguageCodeEnum!): ShopTranslation
  reserveStockDurationAnonymousUser: Int
  reserveStockDurationAuthenticatedUser: Int
  limitQuantityPerCheckout: Int
  companyAddress: Address
  customerSetPasswordUrl: String
  staffNotificationRecipients: [StaffNotificationRecipient!]
  enableAccountConfirmationByEmail: Boolean
  allowLoginWithoutConfirmation: Boolean
  limits: LimitInfo! @deprecated
  announcements: [Announcement!]!
  version: String!
  schemaVersion: String!
  availableTaxApps: [App!]!
  preserveAllAddressFields: Boolean!
  passwordLoginMode: PasswordLoginModeEnum!
  includeTaxesInPrices: Boolean! @deprecated(reason: "Use `Channel.taxConfiguration.pricesEnteredWithTax` to determine whether prices are entered with tax.")
  displayGrossPrices: Boolean! @deprecated(reason: "Use `Channel.taxConfiguration` to determine whether to display gross or net prices.")
  chargeTaxesOnShipping: Boolean! @deprecated(reason: "Use `ShippingMethodType.taxClass` to determine whether taxes are calculated for shipping methods; if a tax class is set, the taxes will be calculated, otherwise no tax rate will be applied.")
  useLegacyShippingZoneStockAvailability: Boolean!
  accountConfirmMergeMode: AccountConfirmModeEnum!
  useLegacyUpdateWebhookEmission: Boolean @deprecated
}

Interfaces

ObjectWithMetadata

Fields

privateMetadata

privateMetadata · [MetadataItem!]!

List of private metadata items. Requires staff permissions to access.

privateMetafield

privateMetafield · String

A single key from private metadata. Requires staff permissions to access.

Tip: Use GraphQL aliases to fetch multiple keys.

key

key · String!

privateMetafields

privateMetafields · Metadata

Private metadata. Requires staff permissions to access. Use keys to control which fields you want to include. The default is to include everything.

keys

keys · [String!]

metadata

metadata · [MetadataItem!]!

List of public metadata items. Can be accessed without permissions.

metafield

metafield · String

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

key

key · String!

metafields

metafields · Metadata

Public metadata. Use keys to control which fields you want to include. The default is to include everything.

keys

keys · [String!]

id

id · ID!

ID of the shop.

availablePaymentGateways

availablePaymentGateways · [PaymentGateway!]!

List of available payment gateways.

currency

currency · String

A currency for which gateways will be returned.

channel

channel · String

Slug of a channel for which the data should be returned.

availableExternalAuthentications

availableExternalAuthentications · [ExternalAuthentication!]!

List of available external authentications.

availableShippingMethods

availableShippingMethods · [ShippingMethod!]

Shipping methods that are available for the shop.

channel

channel · String!

Slug of a channel for which the data should be returned.

address

address · AddressInput

Address for which available shipping methods should be returned.

channelCurrencies

channelCurrencies · [String!]!

List of all currencies supported by shop’s channels.

Requires one of the following permissions:AUTHENTICATED_STAFF_USERAUTHENTICATED_APP

countries

countries · [CountryDisplay!]!

List of countries available in the shop.

languageCode

languageCode · LanguageCodeEnum

A language code to return the translation for.

filter

filter · CountryFilterInput

Filtering options for countries

defaultCountry

defaultCountry · CountryDisplay

Shop’s default country.

defaultMailSenderName

defaultMailSenderName · String

Default shop’s email sender’s name.

Requires one of the following permissions:MANAGE_SETTINGS

defaultMailSenderAddress

defaultMailSenderAddress · String

Default shop’s email sender’s address.

Requires one of the following permissions:MANAGE_SETTINGS

description

description · String

Shop’s description.

domain

domain · Domain!

Shop’s domain data.

languages

languages · [LanguageDisplay!]!

List of the shops’s supported languages.

name

name · String!

Shop’s name.

permissions

permissions · [Permission!]!

List of available permissions.

phonePrefixes

phonePrefixes · [String!]!

List of possible phone prefixes.

headerText

headerText · String

Header text.

fulfillmentAutoApprove

fulfillmentAutoApprove · Boolean!

Automatically approve all new fulfillments.

fulfillmentAllowUnpaid

fulfillmentAllowUnpaid · Boolean!

Allow to approve fulfillments which are unpaid.

trackInventoryByDefault

trackInventoryByDefault · Boolean

This field is used as a default value for ProductVariant.trackInventory.

allowStorefrontTraffic

allowStorefrontTraffic · Boolean!

Determines whether the GraphQL API accepts storefront requests (anonymous requests and authenticated non-staff customers). When disabled, only apps and staff users may call the API directly; all other requests are rejected with an HTTP 401 and the STOREFRONT_TRAFFIC_NOT_ALLOWED error code.

Added in Saleor 3.23

defaultWeightUnit

defaultWeightUnit · WeightUnitsEnum

Default weight unit.

translation

translation · ShopTranslation

Returns translated shop fields for the given language code.

languageCode

languageCode · LanguageCodeEnum!

A language code to return the translation for shop.

reserveStockDurationAnonymousUser

reserveStockDurationAnonymousUser · Int

Default number of minutes stock will be reserved for anonymous checkout or null when stock reservation is disabled.

Requires one of the following permissions:MANAGE_SETTINGS

reserveStockDurationAuthenticatedUser

reserveStockDurationAuthenticatedUser · Int

Default number of minutes stock will be reserved for authenticated checkout or null when stock reservation is disabled.

Requires one of the following permissions:MANAGE_SETTINGS

limitQuantityPerCheckout

limitQuantityPerCheckout · Int

Default number of maximum line quantity in single checkout (per single checkout line).

Requires one of the following permissions:MANAGE_SETTINGS

companyAddress

companyAddress · Address

Company address.

customerSetPasswordUrl

customerSetPasswordUrl · String

URL of a view where customers can set their password.

staffNotificationRecipients

staffNotificationRecipients · [StaffNotificationRecipient!]

List of staff notification recipients.

Requires one of the following permissions:MANAGE_SETTINGS

enableAccountConfirmationByEmail

enableAccountConfirmationByEmail · Boolean

Determines if account confirmation by email is enabled.

Requires one of the following permissions:MANAGE_SETTINGS

allowLoginWithoutConfirmation

allowLoginWithoutConfirmation · Boolean

Determines if user can login without confirmation when enableAccountConfirmation is enabled.

Requires one of the following permissions:MANAGE_SETTINGS

limits

limits · LimitInfo!

Resource limitations and current usage if any set for a shop

Requires one of the following permissions:AUTHENTICATED_STAFF_USER

announcements

announcements · [Announcement!]!

List of announcements for this shop.

Requires one of the following permissions:AUTHENTICATED_STAFF_USER

version

version · String!

Saleor API version.

Requires one of the following permissions:AUTHENTICATED_STAFF_USERAUTHENTICATED_APP

schemaVersion

schemaVersion · String!

Minor Saleor API version.

availableTaxApps

availableTaxApps · [App!]!

List of tax apps that can be assigned to the channel. The list will be calculated by Saleor based on the apps that are subscribed to webhooks related to tax calculations: CHECKOUT_CALCULATE_TAXES

Added in Saleor 3.19
Requires one of the following permissions:AUTHENTICATED_STAFF_USERMANAGE_APPS

preserveAllAddressFields

preserveAllAddressFields · Boolean!

When enabled, address fields that are not valid for a given country (according to Google’s i18n address data) will be preserved instead of being removed during validation. Validation errors are still returned.

Added in Saleor 3.22
Requires one of the following permissions:MANAGE_SETTINGS

passwordLoginMode

passwordLoginMode · PasswordLoginModeEnum!

Controls whether password-based authentication is allowed.

Added in Saleor 3.23

includeTaxesInPrices

includeTaxesInPrices · Boolean!

Include taxes in prices.

displayGrossPrices

displayGrossPrices · Boolean!

Display prices with tax in store.

chargeTaxesOnShipping

chargeTaxesOnShipping · Boolean!

Charge taxes on shipping.

useLegacyShippingZoneStockAvailability

useLegacyShippingZoneStockAvailability · Boolean!

When enabled, stock availability is filtered by shipping zones and the destination address (legacy behavior). When disabled, stock availability is determined only by the direct warehouse-channel link, ignoring shipping zones.

Added in Saleor 3.23

accountConfirmMergeMode

accountConfirmMergeMode · AccountConfirmModeEnum!

Controls the method used for merging existing orders and giftcards when password-based authentication is used. Learn more at https://docs.saleor.io/upgrade-guides/core/migrate-account-merging

useLegacyUpdateWebhookEmission

useLegacyUpdateWebhookEmission · Boolean

Use legacy update webhook emission. When enabled, update webhooks (e.g. customerUpdated,productVariantUpdated) are sent even when only metadata changes. When disabled, update webhooks are not sent for metadata-only changes; only metadata-specific webhooks (e.g., customerMetadataUpdated, productVariantMetadataUpdated) are sent.

Added in Saleor 3.22

Used by


Schema: Saleor 3.23.43. Download SDL.

Last updated on August 10, 2026

Was this page helpful?