> Documentation index: [Saleor](/llms.txt) · [This section](/api-reference/miscellaneous/llms.txt)
> Source: https://docs.saleor.io/api-reference/miscellaneous/objects/shop

# Shop Object

Represents a shop resource containing general shop data and configuration.

```graphql
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
    channel: String
  ): [PaymentGateway!]! @deprecated
  availableExternalAuthentications: [ExternalAuthentication!]!
  availableShippingMethods(
    channel: String!
    address: AddressInput
  ): [ShippingMethod!]
  channelCurrencies: [String!]!
  countries(
    languageCode: LanguageCodeEnum
    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
  displayGrossPrices: Boolean! @deprecated
  chargeTaxesOnShipping: Boolean! @deprecated
  useLegacyShippingZoneStockAvailability: Boolean!
  accountConfirmMergeMode: AccountConfirmModeEnum!
  useLegacyUpdateWebhookEmission: Boolean @deprecated
}
```

<a id="fields"></a>

### Fields

<a id="private-metadata"></a>

#### [`privateMetadata`](#private-metadata) ● [`[MetadataItem!]!`](/api-reference/miscellaneous/objects/metadata-item.md)

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

<a id="private-metafield"></a>

#### [`privateMetafield`](#private-metafield) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

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

Tip: Use GraphQL aliases to fetch multiple keys.

<a id="shop-private-metafield-key"></a>

##### [`key`](#shop-private-metafield-key) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

<a id="private-metafields"></a>

#### [`privateMetafields`](#private-metafields) ● [`Metadata`](/api-reference/miscellaneous/scalars/metadata.md)

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

<a id="shop-private-metafields-keys"></a>

##### [`keys`](#shop-private-metafields-keys) ● [`[String!]`](/api-reference/miscellaneous/scalars/string.md)

<a id="metadata"></a>

#### [`metadata`](#metadata) ● [`[MetadataItem!]!`](/api-reference/miscellaneous/objects/metadata-item.md)

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

<a id="metafield"></a>

#### [`metafield`](#metafield) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

A single key from public metadata.

Tip: Use GraphQL aliases to fetch multiple keys.

<a id="shop-metafield-key"></a>

##### [`key`](#shop-metafield-key) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

<a id="metafields"></a>

#### [`metafields`](#metafields) ● [`Metadata`](/api-reference/miscellaneous/scalars/metadata.md)

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

<a id="shop-metafields-keys"></a>

##### [`keys`](#shop-metafields-keys) ● [`[String!]`](/api-reference/miscellaneous/scalars/string.md)

<a id="id"></a>

#### [`id`](#id) ● [`ID!`](/api-reference/miscellaneous/scalars/id.md)

ID of the shop.

<a id="available-external-authentications"></a>

#### [`availableExternalAuthentications`](#available-external-authentications) ● [`[ExternalAuthentication!]!`](/api-reference/authentication/objects/external-authentication.md)

List of available external authentications.

<a id="available-shipping-methods"></a>

#### [`availableShippingMethods`](#available-shipping-methods) ● [`[ShippingMethod!]`](/api-reference/shipping/objects/shipping-method.md)

Shipping methods that are available for the shop.

<a id="shop-available-shipping-methods-channel"></a>

##### [`channel`](#shop-available-shipping-methods-channel) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

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

<a id="shop-available-shipping-methods-address"></a>

##### [`address`](#shop-available-shipping-methods-address) ● [`AddressInput`](/api-reference/miscellaneous/inputs/address-input.md)

Address for which available shipping methods should be returned.

<a id="channel-currencies"></a>

#### [`channelCurrencies`](#channel-currencies) ● [`[String!]!`](/api-reference/miscellaneous/scalars/string.md)

List of all currencies supported by shop's channels.

Requires one of the following permissions: AUTHENTICATED\_STAFF\_USER AUTHENTICATED\_APP

<a id="countries"></a>

#### [`countries`](#countries) ● [`[CountryDisplay!]!`](/api-reference/miscellaneous/objects/country-display.md)

List of countries available in the shop.

<a id="shop-countries-language-code"></a>

##### [`languageCode`](#shop-countries-language-code) ● [`LanguageCodeEnum`](/api-reference/miscellaneous/enums/language-code-enum.md)

DEPRECATED

No longer supported

A language code to return the translation for.

<a id="shop-countries-filter"></a>

##### [`filter`](#shop-countries-filter) ● [`CountryFilterInput`](/api-reference/miscellaneous/inputs/country-filter-input.md)

Filtering options for countries

<a id="default-country"></a>

#### [`defaultCountry`](#default-country) ● [`CountryDisplay`](/api-reference/miscellaneous/objects/country-display.md)

Shop's default country.

<a id="default-mail-sender-name"></a>

#### [`defaultMailSenderName`](#default-mail-sender-name) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Default shop's email sender's name.

Requires the MANAGE\_SETTINGS permission.

<a id="default-mail-sender-address"></a>

#### [`defaultMailSenderAddress`](#default-mail-sender-address) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Default shop's email sender's address.

Requires the MANAGE\_SETTINGS permission.

<a id="description"></a>

#### [`description`](#description) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Shop's description.

<a id="domain"></a>

#### [`domain`](#domain) ● [`Domain!`](/api-reference/miscellaneous/objects/domain.md)

Shop's domain data.

<a id="languages"></a>

#### [`languages`](#languages) ● [`[LanguageDisplay!]!`](/api-reference/miscellaneous/objects/language-display.md)

List of the shops's supported languages.

<a id="name"></a>

#### [`name`](#name) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

Shop's name.

<a id="permissions"></a>

#### [`permissions`](#permissions) ● [`[Permission!]!`](/api-reference/authentication/objects/permission.md)

List of available permissions.

<a id="phone-prefixes"></a>

#### [`phonePrefixes`](#phone-prefixes) ● [`[String!]!`](/api-reference/miscellaneous/scalars/string.md)

List of possible phone prefixes.

<a id="header-text"></a>

#### [`headerText`](#header-text) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

Header text.

<a id="fulfillment-auto-approve"></a>

#### [`fulfillmentAutoApprove`](#fulfillment-auto-approve) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

Automatically approve all new fulfillments.

<a id="fulfillment-allow-unpaid"></a>

#### [`fulfillmentAllowUnpaid`](#fulfillment-allow-unpaid) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

Allow to approve fulfillments which are unpaid.

<a id="track-inventory-by-default"></a>

#### [`trackInventoryByDefault`](#track-inventory-by-default) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

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

<a id="allow-storefront-traffic"></a>

#### [`allowStorefrontTraffic`](#allow-storefront-traffic) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

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

<a id="default-weight-unit"></a>

#### [`defaultWeightUnit`](#default-weight-unit) ● [`WeightUnitsEnum`](/api-reference/miscellaneous/enums/weight-units-enum.md)

Default weight unit.

<a id="translation"></a>

#### [`translation`](#translation) ● [`ShopTranslation`](/api-reference/shop/objects/shop-translation.md)

Returns translated shop fields for the given language code.

<a id="shop-translation-language-code"></a>

##### [`languageCode`](#shop-translation-language-code) ● [`LanguageCodeEnum!`](/api-reference/miscellaneous/enums/language-code-enum.md)

A language code to return the translation for shop.

<a id="reserve-stock-duration-anonymous-user"></a>

#### [`reserveStockDurationAnonymousUser`](#reserve-stock-duration-anonymous-user) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

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

Requires the MANAGE\_SETTINGS permission.

<a id="reserve-stock-duration-authenticated-user"></a>

#### [`reserveStockDurationAuthenticatedUser`](#reserve-stock-duration-authenticated-user) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

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

Requires the MANAGE\_SETTINGS permission.

<a id="limit-quantity-per-checkout"></a>

#### [`limitQuantityPerCheckout`](#limit-quantity-per-checkout) ● [`Int`](/api-reference/miscellaneous/scalars/int.md)

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

Requires the MANAGE\_SETTINGS permission.

<a id="company-address"></a>

#### [`companyAddress`](#company-address) ● [`Address`](/api-reference/users/objects/address.md)

Company address.

<a id="customer-set-password-url"></a>

#### [`customerSetPasswordUrl`](#customer-set-password-url) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

URL of a view where customers can set their password.

<a id="staff-notification-recipients"></a>

#### [`staffNotificationRecipients`](#staff-notification-recipients) ● [`[StaffNotificationRecipient!]`](/api-reference/miscellaneous/objects/staff-notification-recipient.md)

List of staff notification recipients.

Requires the MANAGE\_SETTINGS permission.

<a id="enable-account-confirmation-by-email"></a>

#### [`enableAccountConfirmationByEmail`](#enable-account-confirmation-by-email) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

Determines if account confirmation by email is enabled.

Requires the MANAGE\_SETTINGS permission.

<a id="allow-login-without-confirmation"></a>

#### [`allowLoginWithoutConfirmation`](#allow-login-without-confirmation) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

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

Requires the MANAGE\_SETTINGS permission.

<a id="announcements"></a>

#### [`announcements`](#announcements) ● [`[Announcement!]!`](/api-reference/miscellaneous/objects/announcement.md)

List of announcements for this shop.

Requires the AUTHENTICATED\_STAFF\_USER permission.

<a id="version"></a>

#### [`version`](#version) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

Saleor API version.

Requires one of the following permissions: AUTHENTICATED\_STAFF\_USER AUTHENTICATED\_APP

<a id="schema-version"></a>

#### [`schemaVersion`](#schema-version) ● [`String!`](/api-reference/miscellaneous/scalars/string.md)

Minor Saleor API version.

<a id="available-tax-apps"></a>

#### [`availableTaxApps`](#available-tax-apps) ● [`[App!]!`](/api-reference/apps/objects/app.md)

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\_USER MANAGE\_APPS

<a id="preserve-all-address-fields"></a>

#### [`preserveAllAddressFields`](#preserve-all-address-fields) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

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 the MANAGE\_SETTINGS permission.

<a id="password-login-mode"></a>

#### [`passwordLoginMode`](#password-login-mode) ● [`PasswordLoginModeEnum!`](/api-reference/authentication/enums/password-login-mode-enum.md)

Controls whether password-based authentication is allowed.

Added in Saleor 3.23

<a id="use-legacy-shipping-zone-stock-availability"></a>

#### [`useLegacyShippingZoneStockAvailability`](#use-legacy-shipping-zone-stock-availability) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

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

<a id="account-confirm-merge-mode"></a>

#### [`accountConfirmMergeMode`](#account-confirm-merge-mode) ● [`AccountConfirmModeEnum!`](/api-reference/authentication/enums/account-confirm-mode-enum.md)

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](/upgrade-guides/core/migrate-account-merging.md)

Show deprecatedHide deprecated

<a id="available-payment-gateways"></a>

#### [`availablePaymentGateways`](#available-payment-gateways) ● [`[PaymentGateway!]!`](/api-reference/payments/objects/payment-gateway.md)

DEPRECATED

The legacy Payments API is deprecated and will be removed. Use the Transactions API instead.

List of available payment gateways.

<a id="shop-available-payment-gateways-currency"></a>

##### [`currency`](#shop-available-payment-gateways-currency) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

DEPRECATED

Use `channel` argument instead.

A currency for which gateways will be returned.

<a id="shop-available-payment-gateways-channel"></a>

##### [`channel`](#shop-available-payment-gateways-channel) ● [`String`](/api-reference/miscellaneous/scalars/string.md)

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

<a id="limits"></a>

#### [`limits`](#limits) ● [`LimitInfo!`](/api-reference/miscellaneous/objects/limit-info.md)

DEPRECATED

No longer supported

Resource limitations and current usage if any set for a shop

Requires the AUTHENTICATED\_STAFF\_USER permission.

<a id="include-taxes-in-prices"></a>

#### [`includeTaxesInPrices`](#include-taxes-in-prices) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

DEPRECATED

Use `Channel.taxConfiguration.pricesEnteredWithTax` to determine whether prices are entered with tax.

Include taxes in prices.

<a id="display-gross-prices"></a>

#### [`displayGrossPrices`](#display-gross-prices) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

DEPRECATED

Use `Channel.taxConfiguration` to determine whether to display gross or net prices.

Display prices with tax in store.

<a id="charge-taxes-on-shipping"></a>

#### [`chargeTaxesOnShipping`](#charge-taxes-on-shipping) ● [`Boolean!`](/api-reference/miscellaneous/scalars/boolean.md)

DEPRECATED

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.

Charge taxes on shipping.

<a id="use-legacy-update-webhook-emission"></a>

#### [`useLegacyUpdateWebhookEmission`](#use-legacy-update-webhook-emission) ● [`Boolean`](/api-reference/miscellaneous/scalars/boolean.md)

DEPRECATED

No longer supported

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

<a id="interfaces"></a>

### Interfaces

<a id="objectwithmetadata"></a>

#### [`ObjectWithMetadata`](/api-reference/miscellaneous/interfaces/object-with-metadata.md)

<a id="returned-by"></a>

### Returned By

[`shop`](/api-reference/miscellaneous/queries/shop.md) query

<a id="member-of"></a>

### Member Of

[`AccountChangeEmailRequested`](/api-reference/users/objects/account-change-email-requested.md) object  ● [`AccountConfirmationRequested`](/api-reference/users/objects/account-confirmation-requested.md) object  ● [`AccountConfirmed`](/api-reference/users/objects/account-confirmed.md) object  ● [`AccountDeleted`](/api-reference/users/objects/account-deleted.md) object  ● [`AccountDeleteRequested`](/api-reference/users/objects/account-delete-requested.md) object  ● [`AccountEmailChanged`](/api-reference/users/objects/account-email-changed.md) object  ● [`AccountSetPasswordRequested`](/api-reference/users/objects/account-set-password-requested.md) object  ● [`ShopAddressUpdate`](/api-reference/shop/objects/shop-address-update.md) object  ● [`ShopDomainUpdate`](/api-reference/shop/objects/shop-domain-update.md) object  ● [`ShopFetchTaxRates`](/api-reference/shop/objects/shop-fetch-tax-rates.md) object  ● [`ShopMetadataUpdated`](/api-reference/miscellaneous/objects/shop-metadata-updated.md) object  ● [`ShopSettingsTranslate`](/api-reference/shop/objects/shop-settings-translate.md) object  ● [`ShopSettingsUpdate`](/api-reference/shop/objects/shop-settings-update.md) object  ● [`StaffSetPasswordRequested`](/api-reference/users/objects/staff-set-password-requested.md) object
