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
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.
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.
defaultMailSenderAddress
defaultMailSenderAddress · String
Default shop’s email sender’s address.
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.
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.
reserveStockDurationAuthenticatedUser
reserveStockDurationAuthenticatedUser · Int
Default number of minutes stock will be reserved for authenticated checkout or null when stock reservation is disabled.
limitQuantityPerCheckout
limitQuantityPerCheckout · Int
Default number of maximum line quantity in single checkout (per single checkout line).
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.
enableAccountConfirmationByEmail
enableAccountConfirmationByEmail · Boolean
Determines if account confirmation by email is enabled.
allowLoginWithoutConfirmation
allowLoginWithoutConfirmation · Boolean
Determines if user can login without confirmation when enableAccountConfirmation is enabled.
limits
limits · LimitInfo!
Resource limitations and current usage if any set for a shop
announcements
announcements · [Announcement!]!
List of announcements for this shop.
version
version · String!
Saleor API version.
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.19preserveAllAddressFields
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.22passwordLoginMode
passwordLoginMode · PasswordLoginModeEnum!
Controls whether password-based authentication is allowed.
Added in Saleor 3.23includeTaxesInPrices
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.23accountConfirmMergeMode
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.
Used by
- ShopMetadataUpdated (objects)
- shop (queries)
- ShopAddressUpdate (objects)
- ShopDomainUpdate (objects)
- ShopFetchTaxRates (objects)
- ShopSettingsTranslate (objects)
- ShopSettingsUpdate (objects)
- AccountChangeEmailRequested (objects)
- AccountConfirmationRequested (objects)
- AccountConfirmed (objects)
- AccountDeleteRequested (objects)
- AccountDeleted (objects)
- AccountEmailChanged (objects)
- AccountSetPasswordRequested (objects)
- StaffSetPasswordRequested (objects)
Schema: Saleor 3.23.43. Download SDL.