# Shop - admin-graphql - OBJECT
Version: 2025-01

## Description
Represents a collection of general settings and information about the shop.

### Access Scopes



## Fields
* [accountOwner](/docs/api/admin-graphql/2025-01/objects/StaffMember): StaffMember! - Account owner information.
* [alerts](/docs/api/admin-graphql/2025-01/objects/ShopAlert): ShopAlert! - A list of the shop's active alert messages that appear in the Shopify admin.
* [allProductCategories](/docs/api/admin-graphql/2025-01/objects/ProductCategory): ProductCategory! - A list of the shop's product categories. Limit: 1000 product categories.
* [allProductCategoriesList](/docs/api/admin-graphql/2025-01/objects/TaxonomyCategory): TaxonomyCategory! - A list of the shop's product categories. Limit: 1000 product categories.
* [analyticsToken](/docs/api/admin-graphql/2025-01/scalars/String): String! - The token required to query the shop's reports or dashboards.
* [billingAddress](/docs/api/admin-graphql/2025-01/objects/ShopAddress): ShopAddress! - The shop's billing address information.
* [channelDefinitionsForInstalledChannels](/docs/api/admin-graphql/2025-01/objects/AvailableChannelDefinitionsByChannel): AvailableChannelDefinitionsByChannel! - List of all channel definitions associated with a shop.
* [checkoutApiSupported](/docs/api/admin-graphql/2025-01/scalars/Boolean): Boolean! - Specifies whether the shop supports checkouts via Checkout API.
* [contactEmail](/docs/api/admin-graphql/2025-01/scalars/String): String! - The public-facing contact email address for the shop.
Customers will use this email to communicate with the shop owner.
* [countriesInShippingZones](/docs/api/admin-graphql/2025-01/objects/CountriesInShippingZones): CountriesInShippingZones! - Countries that have been defined in shipping zones for the shop.
* [createdAt](/docs/api/admin-graphql/2025-01/scalars/DateTime): DateTime! - The date and time when the shop was created.
* [currencyCode](/docs/api/admin-graphql/2025-01/enums/CurrencyCode): CurrencyCode! - The three letter code for the currency that the shop sells in.
* [currencyFormats](/docs/api/admin-graphql/2025-01/objects/CurrencyFormats): CurrencyFormats! - How currencies are displayed on your store.
* [customerAccounts](/docs/api/admin-graphql/2025-01/enums/ShopCustomerAccountsSetting): ShopCustomerAccountsSetting! - Whether customer accounts are required, optional, or disabled for the shop.
* [customerAccountsV2](/docs/api/admin-graphql/2025-01/objects/CustomerAccountsV2): CustomerAccountsV2! - Information about the shop's customer accounts.
* [description](/docs/api/admin-graphql/2025-01/scalars/String): String - The shop's meta description used in search engine results.
* [domains](/docs/api/admin-graphql/2025-01/objects/Domain): Domain! - The domains configured for the shop.
* [email](/docs/api/admin-graphql/2025-01/scalars/String): String! - The shop owner's email address.
Shopify will use this email address to communicate with the shop owner.
* [enabledPresentmentCurrencies](/docs/api/admin-graphql/2025-01/enums/CurrencyCode): CurrencyCode! - The presentment currencies enabled for the shop.
* [features](/docs/api/admin-graphql/2025-01/objects/ShopFeatures): ShopFeatures! - The set of features enabled for the shop.
* [fulfillmentServices](/docs/api/admin-graphql/2025-01/objects/FulfillmentService): FulfillmentService! - List of the shop's installed fulfillment services.
* [ianaTimezone](/docs/api/admin-graphql/2025-01/scalars/String): String! - The shop's time zone as defined by the IANA.
* [id](/docs/api/admin-graphql/2025-01/scalars/ID): ID! - A globally-unique ID.
* [limitedPendingOrderCount](/docs/api/admin-graphql/2025-01/objects/LimitedPendingOrderCount): LimitedPendingOrderCount! - The number of pendings orders on the shop.
Limited to a maximum of 10000.
* [marketingSmsConsentEnabledAtCheckout](/docs/api/admin-graphql/2025-01/scalars/Boolean): Boolean! - Whether SMS marketing has been enabled on the shop's checkout configuration settings.
* [merchantApprovalSignals](/docs/api/admin-graphql/2025-01/objects/MerchantApprovalSignals): MerchantApprovalSignals - The approval signals for a shop to support onboarding to channel apps.
* [metafield](/docs/api/admin-graphql/2025-01/objects/Metafield): Metafield - A [custom field](https://shopify.dev/docs/apps/build/custom-data),
including its `namespace` and `key`, that's associated with a Shopify resource
for the purposes of adding and storing additional information.
* [myshopifyDomain](/docs/api/admin-graphql/2025-01/scalars/String): String! - The shop's .myshopify.com domain name.
* [name](/docs/api/admin-graphql/2025-01/scalars/String): String! - The shop's name.
* [navigationSettings](/docs/api/admin-graphql/2025-01/objects/NavigationItem): NavigationItem! - The shop's settings related to navigation.
* [orderNumberFormatPrefix](/docs/api/admin-graphql/2025-01/scalars/String): String! - The prefix that appears before order numbers.
* [orderNumberFormatSuffix](/docs/api/admin-graphql/2025-01/scalars/String): String! - The suffix that appears after order numbers.
* [paymentSettings](/docs/api/admin-graphql/2025-01/objects/PaymentSettings): PaymentSettings! - The shop's settings related to payments.
* [plan](/docs/api/admin-graphql/2025-01/objects/ShopPlan): ShopPlan! - The shop's billing plan.
* [primaryDomain](/docs/api/admin-graphql/2025-01/objects/Domain): Domain! - The primary domain of the shop's online store.
* [publicationCount](/docs/api/admin-graphql/2025-01/scalars/Int): Int! - The number of publications for the shop.
* [resourceLimits](/docs/api/admin-graphql/2025-01/objects/ShopResourceLimits): ShopResourceLimits! - The shop's limits for specific resources. For example, the maximum number ofvariants allowed per product, or the maximum number of locations allowed.
* [richTextEditorUrl](/docs/api/admin-graphql/2025-01/scalars/URL): URL! - The URL of the rich text editor that can be used for mobile devices.
* [searchFilters](/docs/api/admin-graphql/2025-01/objects/SearchFilterOptions): SearchFilterOptions! - The list of search filter options for the shop. These can be used to filter productvisibility for the shop.
* [setupRequired](/docs/api/admin-graphql/2025-01/scalars/Boolean): Boolean! - Whether the shop has outstanding setup steps.
* [shipsToCountries](/docs/api/admin-graphql/2025-01/enums/CountryCode): CountryCode! - The list of countries that the shop ships to.
* [shopOwnerName](/docs/api/admin-graphql/2025-01/scalars/String): String! - The name of the shop owner.
* [shopPolicies](/docs/api/admin-graphql/2025-01/objects/ShopPolicy): ShopPolicy! - The list of all legal policies associated with a shop.
* [storefrontUrl](/docs/api/admin-graphql/2025-01/scalars/URL): URL! - The URL of the shop's storefront.
* [taxShipping](/docs/api/admin-graphql/2025-01/scalars/Boolean): Boolean! - Whether the shop charges taxes for shipping.
* [taxesIncluded](/docs/api/admin-graphql/2025-01/scalars/Boolean): Boolean! - Whether applicable taxes are included in the shop's product prices.
* [timezoneAbbreviation](/docs/api/admin-graphql/2025-01/scalars/String): String! - The shop's time zone abbreviation.
* [timezoneOffset](/docs/api/admin-graphql/2025-01/scalars/String): String! - The shop's time zone offset.
* [timezoneOffsetMinutes](/docs/api/admin-graphql/2025-01/scalars/Int): Int! - The shop's time zone offset expressed as a number of minutes.
* [transactionalSmsDisabled](/docs/api/admin-graphql/2025-01/scalars/Boolean): Boolean! - Whether transactional SMS sent by Shopify have been disabled for a shop.
* [translations](/docs/api/admin-graphql/2025-01/objects/Translation): Translation! - The published translations associated with the resource.
* [unitSystem](/docs/api/admin-graphql/2025-01/enums/UnitSystem): UnitSystem! - The shop's unit system for weights and measures.
* [updatedAt](/docs/api/admin-graphql/2025-01/scalars/DateTime): DateTime! - The date and time when the shop was last updated.
* [url](/docs/api/admin-graphql/2025-01/scalars/URL): URL! - The URL of the shop's online store.
* [weightUnit](/docs/api/admin-graphql/2025-01/enums/WeightUnit): WeightUnit! - The shop's primary unit of weight for products and shipping.

## Connections
* [assignedFulfillmentOrders](/docs/api/admin-graphql/2025-01/connections/FulfillmentOrderConnection): FulfillmentOrderConnection!
* [availableChannelApps](/docs/api/admin-graphql/2025-01/connections/AppConnection): AppConnection!
* [channels](/docs/api/admin-graphql/2025-01/connections/ChannelConnection): ChannelConnection!
* [collections](/docs/api/admin-graphql/2025-01/connections/CollectionConnection): CollectionConnection!
* [currencySettings](/docs/api/admin-graphql/2025-01/connections/CurrencySettingConnection): CurrencySettingConnection!
* [customerTags](/docs/api/admin-graphql/2025-01/connections/StringConnection): StringConnection!
* [customers](/docs/api/admin-graphql/2025-01/connections/CustomerConnection): CustomerConnection!
* [draftOrderTags](/docs/api/admin-graphql/2025-01/connections/StringConnection): StringConnection!
* [draftOrders](/docs/api/admin-graphql/2025-01/connections/DraftOrderConnection): DraftOrderConnection!
* [fulfillmentOrders](/docs/api/admin-graphql/2025-01/connections/FulfillmentOrderConnection): FulfillmentOrderConnection!
* [inventoryItems](/docs/api/admin-graphql/2025-01/connections/InventoryItemConnection): InventoryItemConnection!
* [locations](/docs/api/admin-graphql/2025-01/connections/LocationConnection): LocationConnection!
* [metafields](/docs/api/admin-graphql/2025-01/connections/MetafieldConnection): MetafieldConnection!
* [orderTags](/docs/api/admin-graphql/2025-01/connections/StringConnection): StringConnection!
* [orders](/docs/api/admin-graphql/2025-01/connections/OrderConnection): OrderConnection!
* [productImages](/docs/api/admin-graphql/2025-01/connections/ImageConnection): ImageConnection!
* [productTags](/docs/api/admin-graphql/2025-01/connections/StringConnection): StringConnection!
* [productTypes](/docs/api/admin-graphql/2025-01/connections/StringConnection): StringConnection!
* [productVariants](/docs/api/admin-graphql/2025-01/connections/ProductVariantConnection): ProductVariantConnection!
* [productVendors](/docs/api/admin-graphql/2025-01/connections/StringConnection): StringConnection!
* [products](/docs/api/admin-graphql/2025-01/connections/ProductConnection): ProductConnection!
* [search](/docs/api/admin-graphql/2025-01/connections/SearchResultConnection): SearchResultConnection!
* [staffMembers](/docs/api/admin-graphql/2025-01/connections/StaffMemberConnection): StaffMemberConnection!
* [storefrontAccessTokens](/docs/api/admin-graphql/2025-01/connections/StorefrontAccessTokenConnection): StorefrontAccessTokenConnection!



## Related queries
* [shop](/docs/api/admin-graphql/2025-01/queries/shop) Returns the Shop resource corresponding to the access token used in the request. The Shop resource contains
business and store management settings for the shop.

## Related mutations
* [collectionDelete](/docs/api/admin-graphql/2025-01/mutations/collectionDelete) Deletes a collection.
* [collectionPublish](/docs/api/admin-graphql/2025-01/mutations/collectionPublish) Publishes a collection to a channel.
* [collectionUnpublish](/docs/api/admin-graphql/2025-01/mutations/collectionUnpublish) Unpublishes a collection.
* [customerDelete](/docs/api/admin-graphql/2025-01/mutations/customerDelete) Delete a customer. As of API version 2022-10, apps using protected customer data must meet the protected customer data [requirements](https://shopify.dev/apps/store/data-protection/protected-customer-data).
* [delegateAccessTokenCreate](/docs/api/admin-graphql/2025-01/mutations/delegateAccessTokenCreate) Creates a delegate access token.

To learn more about creating delegate access tokens, refer to
[Delegate OAuth access tokens to subsystems](https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/use-delegate-tokens).
* [delegateAccessTokenDestroy](/docs/api/admin-graphql/2025-01/mutations/delegateAccessTokenDestroy) Destroys a delegate access token.
* [productCreate](/docs/api/admin-graphql/2025-01/mutations/productCreate) Creates a product.

Learn more about the [product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model)
and [adding product data](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/add-data).
* [productDelete](/docs/api/admin-graphql/2025-01/mutations/productDelete) Deletes a product, including all associated variants and media.

As of API version `2023-01`, if you need to delete a large product, such as one that has many
[variants](https://shopify.dev/api/admin-graphql/latest/input-objects/ProductVariantInput)
that are active at several
[locations](https://shopify.dev/api/admin-graphql/latest/input-objects/InventoryLevelInput),
you may encounter timeout errors. To avoid these timeout errors, you can instead use the asynchronous
[ProductDeleteAsync](https://shopify.dev/api/admin-graphql/latest/mutations/productDeleteAsync)
mutation.
* [productDuplicate](/docs/api/admin-graphql/2025-01/mutations/productDuplicate) Duplicates a product.

If you need to duplicate a large product, such as one that has many
[variants](https://shopify.dev/api/admin-graphql/latest/input-objects/ProductVariantInput)
that are active at several
[locations](https://shopify.dev/api/admin-graphql/latest/input-objects/InventoryLevelInput),
you might encounter timeout errors.

To avoid these timeout errors, you can instead duplicate the product asynchronously.

In API version 2024-10 and higher, include `synchronous: false` argument in this mutation to perform the duplication asynchronously.

In API version 2024-07 and lower, use the asynchronous [`ProductDuplicateAsyncV2`](https://shopify.dev/api/admin-graphql/2024-07/mutations/productDuplicateAsyncV2).
* [productPublish](/docs/api/admin-graphql/2025-01/mutations/productPublish) Publishes a product. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can only be published on online stores.
* [productUnpublish](/docs/api/admin-graphql/2025-01/mutations/productUnpublish) Unpublishes a product.
* [publishablePublish](/docs/api/admin-graphql/2025-01/mutations/publishablePublish) Publishes a resource to a channel. If the resource is a product, then it's visible in the channel only if the product status is `active`. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can be published only on online stores.
* [publishablePublishToCurrentChannel](/docs/api/admin-graphql/2025-01/mutations/publishablePublishToCurrentChannel) Publishes a resource to current channel. If the resource is a product, then it's visible in the channel only if the product status is `active`. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can be published only on online stores.
* [publishableUnpublish](/docs/api/admin-graphql/2025-01/mutations/publishableUnpublish) Unpublishes a resource from a channel. If the resource is a product, then it's visible in the channel only if the product status is `active`.
* [publishableUnpublishToCurrentChannel](/docs/api/admin-graphql/2025-01/mutations/publishableUnpublishToCurrentChannel) Unpublishes a resource from the current channel. If the resource is a product, then it's visible in the channel only if the product status is `active`.
* [savedSearchDelete](/docs/api/admin-graphql/2025-01/mutations/savedSearchDelete) Delete a saved search.
* [storefrontAccessTokenCreate](/docs/api/admin-graphql/2025-01/mutations/storefrontAccessTokenCreate) Creates a storefront access token for use with the [Storefront API](https://shopify.dev/docs/api/storefront).

An app can have a maximum of 100 active storefront access tokens for each shop.

[Get started with the Storefront API](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/getting-started).

## Related Unions
* [MetafieldReferencer](/docs/api/admin-graphql/2025-01/unions/MetafieldReferencer) Types of resources that may use metafields to reference other resources.

## Examples
### Get a metafield attached to a shop
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query ShopMetafield($namespace: String!, $key: String!) { shop { copyrightYear: metafield(namespace: $namespace, key: $key) { value } } }\",\n \"variables\": {\n    \"namespace\": \"my_fields\",\n    \"key\": \"copyright_year\"\n  }\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: {\n    \"query\": `query ShopMetafield($namespace: String!, $key: String!) {\n      shop {\n        copyrightYear: metafield(namespace: $namespace, key: $key) {\n          value\n        }\n      }\n    }`,\n    \"variables\": {\n      \"namespace\": \"my_fields\",\n      \"key\": \"copyright_year\"\n    },\n  },\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query ShopMetafield($namespace: String!, $key: String!) {\n    shop {\n      copyrightYear: metafield(namespace: $namespace, key: $key) {\n        value\n      }\n    }\n  }\nQUERY\n\nvariables = {\n  \"namespace\": \"my_fields\",\n  \"key\": \"copyright_year\"\n}\n\nresponse = client.query(query: query, variables: variables)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query ShopMetafield($namespace: String!, $key: String!) {\n    shop {\n      copyrightYear: metafield(namespace: $namespace, key: $key) {\n        value\n      }\n    }\n  }`,\n  {\n    variables: {\n      \"namespace\": \"my_fields\",\n      \"key\": \"copyright_year\"\n    },\n  },\n);\n\nconst data = await response.json();\n"
Graphql query: "query ShopMetafield($namespace: String!, $key: String!) {\n  shop {\n    copyrightYear: metafield(namespace: $namespace, key: $key) {\n      value\n    }\n  }\n}"
#### Graphql Input
{
  "namespace": "my_fields",
  "key": "copyright_year"
}
#### Graphql Response
{
  "data": {
    "shop": {
      "copyrightYear": {
        "value": "2022"
      }
    }
  }
}

### Get metafields attached to a shop
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query ShopMetafields { shop { metafields(first: 3) { edges { node { namespace key value } } } } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query ShopMetafields {\n    shop {\n      metafields(first: 3) {\n        edges {\n          node {\n            namespace\n            key\n            value\n          }\n        }\n      }\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query ShopMetafields {\n    shop {\n      metafields(first: 3) {\n        edges {\n          node {\n            namespace\n            key\n            value\n          }\n        }\n      }\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query ShopMetafields {\n    shop {\n      metafields(first: 3) {\n        edges {\n          node {\n            namespace\n            key\n            value\n          }\n        }\n      }\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query ShopMetafields {\n  shop {\n    metafields(first: 3) {\n      edges {\n        node {\n          namespace\n          key\n          value\n        }\n      }\n    }\n  }\n}"
#### Graphql Input
{}
#### Graphql Response
{
  "data": {
    "shop": {
      "metafields": {
        "edges": [
          {
            "node": {
              "namespace": "my_fields",
              "key": "copyright_year",
              "value": "2022"
            }
          }
        ]
      }
    }
  }
}

### Receive a list of all FulfillmentServices
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query FulfillmentServiceList { shop { fulfillmentServices { id callbackUrl fulfillmentOrdersOptIn permitsSkuSharing handle inventoryManagement serviceName } } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query FulfillmentServiceList {\n    shop {\n      fulfillmentServices {\n        id\n        callbackUrl\n        fulfillmentOrdersOptIn\n        permitsSkuSharing\n        handle\n        inventoryManagement\n        serviceName\n      }\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query FulfillmentServiceList {\n    shop {\n      fulfillmentServices {\n        id\n        callbackUrl\n        fulfillmentOrdersOptIn\n        permitsSkuSharing\n        handle\n        inventoryManagement\n        serviceName\n      }\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query FulfillmentServiceList {\n    shop {\n      fulfillmentServices {\n        id\n        callbackUrl\n        fulfillmentOrdersOptIn\n        permitsSkuSharing\n        handle\n        inventoryManagement\n        serviceName\n      }\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query FulfillmentServiceList {\n  shop {\n    fulfillmentServices {\n      id\n      callbackUrl\n      fulfillmentOrdersOptIn\n      permitsSkuSharing\n      handle\n      inventoryManagement\n      serviceName\n    }\n  }\n}"
#### Graphql Input
null
#### Graphql Response
{
  "data": {
    "shop": {
      "fulfillmentServices": [
        {
          "id": "gid://shopify/FulfillmentService/manual",
          "callbackUrl": null,
          "fulfillmentOrdersOptIn": false,
          "permitsSkuSharing": true,
          "handle": "manual",
          "inventoryManagement": false,
          "serviceName": "Manual"
        },
        {
          "id": "gid://shopify/FulfillmentService/18961920?id=true",
          "callbackUrl": "http://shipwire.com",
          "fulfillmentOrdersOptIn": true,
          "permitsSkuSharing": true,
          "handle": "shipwire",
          "inventoryManagement": false,
          "serviceName": "Shipwire"
        },
        {
          "id": "gid://shopify/FulfillmentService/198258461?id=true",
          "callbackUrl": "http://google.com",
          "fulfillmentOrdersOptIn": true,
          "permitsSkuSharing": false,
          "handle": "on-demand-delivery",
          "inventoryManagement": false,
          "serviceName": "On Demand Delivery"
        },
        {
          "id": "gid://shopify/FulfillmentService/736057333?id=true",
          "callbackUrl": null,
          "fulfillmentOrdersOptIn": false,
          "permitsSkuSharing": false,
          "handle": "mr-acme-drop-shipper",
          "inventoryManagement": false,
          "serviceName": "Mr. ACME Drop Shipper"
        },
        {
          "id": "gid://shopify/FulfillmentService/1061774486?id=true",
          "callbackUrl": null,
          "fulfillmentOrdersOptIn": false,
          "permitsSkuSharing": false,
          "handle": "mr-drop-shipper",
          "inventoryManagement": false,
          "serviceName": "Mr. Drop Shipper"
        }
      ]
    }
  }
}

### Retrieve information about a shop
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query { shop { name currencyCode checkoutApiSupported taxesIncluded resourceLimits { maxProductVariants } } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query {\n    shop {\n      name\n      currencyCode\n      checkoutApiSupported\n      taxesIncluded\n      resourceLimits {\n        maxProductVariants\n      }\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query {\n    shop {\n      name\n      currencyCode\n      checkoutApiSupported\n      taxesIncluded\n      resourceLimits {\n        maxProductVariants\n      }\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query {\n    shop {\n      name\n      currencyCode\n      checkoutApiSupported\n      taxesIncluded\n      resourceLimits {\n        maxProductVariants\n      }\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query {\n  shop {\n    name\n    currencyCode\n    checkoutApiSupported\n    taxesIncluded\n    resourceLimits {\n      maxProductVariants\n    }\n  }\n}"
#### Graphql Input
null
#### Graphql Response
{
  "data": {
    "shop": {
      "name": "Snowdevil",
      "currencyCode": "USD",
      "checkoutApiSupported": true,
      "taxesIncluded": false,
      "resourceLimits": {
        "maxProductVariants": 100
      }
    }
  }
}

### Retrieves a list of fulfillment orders assigned to the shop locations that are owned by the app
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query AssignedFulfillmentOrderList($assignmentStatus: FulfillmentOrderAssignmentStatus) { shop { assignedFulfillmentOrders(first: 10, assignmentStatus: $assignmentStatus) { edges { node { id status requestStatus destination { firstName lastName address1 city province zip countryCode phone } lineItems(first: 10) { edges { node { id productTitle sku remainingQuantity } } } } } } } }\",\n \"variables\": {\n    \"assignmentStatus\": \"FULFILLMENT_REQUESTED\"\n  }\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: {\n    \"query\": `query AssignedFulfillmentOrderList($assignmentStatus: FulfillmentOrderAssignmentStatus) {\n      shop {\n        assignedFulfillmentOrders(first: 10, assignmentStatus: $assignmentStatus) {\n          edges {\n            node {\n              id\n              status\n              requestStatus\n              destination {\n                firstName\n                lastName\n                address1\n                city\n                province\n                zip\n                countryCode\n                phone\n              }\n              lineItems(first: 10) {\n                edges {\n                  node {\n                    id\n                    productTitle\n                    sku\n                    remainingQuantity\n                  }\n                }\n              }\n            }\n          }\n        }\n      }\n    }`,\n    \"variables\": {\n      \"assignmentStatus\": \"FULFILLMENT_REQUESTED\"\n    },\n  },\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query AssignedFulfillmentOrderList($assignmentStatus: FulfillmentOrderAssignmentStatus) {\n    shop {\n      assignedFulfillmentOrders(first: 10, assignmentStatus: $assignmentStatus) {\n        edges {\n          node {\n            id\n            status\n            requestStatus\n            destination {\n              firstName\n              lastName\n              address1\n              city\n              province\n              zip\n              countryCode\n              phone\n            }\n            lineItems(first: 10) {\n              edges {\n                node {\n                  id\n                  productTitle\n                  sku\n                  remainingQuantity\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }\nQUERY\n\nvariables = {\n  \"assignmentStatus\": \"FULFILLMENT_REQUESTED\"\n}\n\nresponse = client.query(query: query, variables: variables)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query AssignedFulfillmentOrderList($assignmentStatus: FulfillmentOrderAssignmentStatus) {\n    shop {\n      assignedFulfillmentOrders(first: 10, assignmentStatus: $assignmentStatus) {\n        edges {\n          node {\n            id\n            status\n            requestStatus\n            destination {\n              firstName\n              lastName\n              address1\n              city\n              province\n              zip\n              countryCode\n              phone\n            }\n            lineItems(first: 10) {\n              edges {\n                node {\n                  id\n                  productTitle\n                  sku\n                  remainingQuantity\n                }\n              }\n            }\n          }\n        }\n      }\n    }\n  }`,\n  {\n    variables: {\n      \"assignmentStatus\": \"FULFILLMENT_REQUESTED\"\n    },\n  },\n);\n\nconst data = await response.json();\n"
Graphql query: "query AssignedFulfillmentOrderList($assignmentStatus: FulfillmentOrderAssignmentStatus) {\n  shop {\n    assignedFulfillmentOrders(first: 10, assignmentStatus: $assignmentStatus) {\n      edges {\n        node {\n          id\n          status\n          requestStatus\n          destination {\n            firstName\n            lastName\n            address1\n            city\n            province\n            zip\n            countryCode\n            phone\n          }\n          lineItems(first: 10) {\n            edges {\n              node {\n                id\n                productTitle\n                sku\n                remainingQuantity\n              }\n            }\n          }\n        }\n      }\n    }\n  }\n}"
#### Graphql Input
{
  "assignmentStatus": "FULFILLMENT_REQUESTED"
}
#### Graphql Response
{
  "data": {
    "shop": {
      "assignedFulfillmentOrders": {
        "edges": [
          {
            "node": {
              "id": "gid://shopify/FulfillmentOrder/1046001474",
              "status": "OPEN",
              "requestStatus": "SUBMITTED",
              "destination": null,
              "lineItems": {
                "edges": []
              }
            }
          }
        ]
      }
    }
  }
}

### Retrieves a list of all users
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query { shop { staffMembers(first: 10) { edges { node { active avatar { url } email exists firstName id initials isShopOwner lastName locale name phone } } } } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query {\n    shop {\n      staffMembers(first: 10) {\n        edges {\n          node {\n            active\n            avatar {\n              url\n            }\n            email\n            exists\n            firstName\n            id\n            initials\n            isShopOwner\n            lastName\n            locale\n            name\n            phone\n          }\n        }\n      }\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query {\n    shop {\n      staffMembers(first: 10) {\n        edges {\n          node {\n            active\n            avatar {\n              url\n            }\n            email\n            exists\n            firstName\n            id\n            initials\n            isShopOwner\n            lastName\n            locale\n            name\n            phone\n          }\n        }\n      }\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query {\n    shop {\n      staffMembers(first: 10) {\n        edges {\n          node {\n            active\n            avatar {\n              url\n            }\n            email\n            exists\n            firstName\n            id\n            initials\n            isShopOwner\n            lastName\n            locale\n            name\n            phone\n          }\n        }\n      }\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query {\n  shop {\n    staffMembers(first: 10) {\n      edges {\n        node {\n          active\n          avatar {\n            url\n          }\n          email\n          exists\n          firstName\n          id\n          initials\n          isShopOwner\n          lastName\n          locale\n          name\n          phone\n        }\n      }\n    }\n  }\n}"
#### Graphql Input
null
#### Graphql Response
{
  "data": {
    "shop": {
      "staffMembers": {
        "edges": [
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/106ea358a244c6081c66489854c884cbfa858aec3c1730397e34bd4f4992f21e/www.gravatar.com/avatar/a902d35d9cd3096a7285782c69dd4622.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "sales@example.com",
              "exists": true,
              "firstName": "angie",
              "id": "gid://shopify/StaffMember/1039577421",
              "initials": [
                "a",
                "l"
              ],
              "isShopOwner": false,
              "lastName": "lucuos",
              "locale": "en",
              "name": "angie lucuos",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/29f98977e6ce2b24120b4d26ce7fde694b7bafc46a6be575ce88cf26a789c4e6/www.gravatar.com/avatar/4df4299bb7b53d4a9e8989238f81c15d.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "arnie@champion.example.com",
              "exists": true,
              "firstName": "Arnold",
              "id": "gid://shopify/StaffMember/863601736",
              "initials": [
                "S",
                "n"
              ],
              "isShopOwner": false,
              "lastName": "Schwarzenegger",
              "locale": "en",
              "name": "Snow Devil Inc.",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/s/files/1/2637/1970/users/foo.jpg?v=1731443626"
              },
              "email": "bob@example.com",
              "exists": true,
              "firstName": "bob",
              "id": "gid://shopify/StaffMember/902541635",
              "initials": [
                "b",
                "b"
              ],
              "isShopOwner": true,
              "lastName": "bobsen",
              "locale": "en",
              "name": "bob bobsen",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/a2fa3a40bc8b418a7e6a69413fb84a57164b6f4ce6757d4163ffda4302e02682/www.gravatar.com/avatar/59aa4f8e9b82c046003452b23e3b881e.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "pos@shopify.com",
              "exists": true,
              "firstName": "bob",
              "id": "gid://shopify/StaffMember/1004723144",
              "initials": [
                "b",
                "b"
              ],
              "isShopOwner": false,
              "lastName": "bobsen",
              "locale": "en",
              "name": "bob bobsen",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/739472b8350cf18a7f2058ef2d37019d4026bcb276844fa3d192eed26b594e27/www.gravatar.com/avatar/6fe88e20596eb227b53b543c2cece91e.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "collaborator_bob@example.com",
              "exists": true,
              "firstName": "collaborator",
              "id": "gid://shopify/StaffMember/688782760",
              "initials": [
                "S",
                "n"
              ],
              "isShopOwner": false,
              "lastName": "bob",
              "locale": "en",
              "name": "Snow Devil Inc.",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/8149b06b8974a1092082b18147941ef437a669fa6db5aba0ccd80bee9b33b788/www.gravatar.com/avatar/866ad7602839b586d7d18cb11b131881.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "customereventsbob@example.com",
              "exists": true,
              "firstName": "customereventsbob",
              "id": "gid://shopify/StaffMember/216359514",
              "initials": [
                "c",
                "b"
              ],
              "isShopOwner": false,
              "lastName": "bobsen",
              "locale": "en",
              "name": "customereventsbob bobsen",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/9a11b2a61faef02c90cae564d6cd8f61c9c5932abdc470375ea4af38d2234678/www.gravatar.com/avatar/a30775a5f88642adceaa3a6ff418ff4d.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "customereventsbobnoapps@example.com",
              "exists": true,
              "firstName": "customereventsbobnoapps",
              "id": "gid://shopify/StaffMember/257608065",
              "initials": [
                "c",
                "b"
              ],
              "isShopOwner": false,
              "lastName": "bobsen",
              "locale": "en",
              "name": "customereventsbobnoapps bobsen",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/d0f4af069a9948a91f75815dcf3c24b7bd775bb8fa66571da1b257f2fd2eacf5/www.gravatar.com/avatar/3111a27ed0d92a4209a15190114490d4.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "customereventsbobwithoneapp@example.com",
              "exists": true,
              "firstName": "customereventsbobwithoneapp",
              "id": "gid://shopify/StaffMember/584611871",
              "initials": [
                "c",
                "b"
              ],
              "isShopOwner": false,
              "lastName": "bobsen",
              "locale": "en",
              "name": "customereventsbobwithoneapp bobsen",
              "phone": null
            }
          },
          {
            "node": {
              "active": false,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/0feaeef95fe37c482d1472c776d9f5c35f3f4b0a051fef68bf702422c284f5fd/www.gravatar.com/avatar/cc9f2fc36ad3c135e4984fc6f63c4c16.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "deactivateduser@example.com",
              "exists": true,
              "firstName": "deactivated",
              "id": "gid://shopify/StaffMember/667736507",
              "initials": [
                "d",
                "u"
              ],
              "isShopOwner": false,
              "lastName": "user",
              "locale": "en",
              "name": "deactivated user",
              "phone": null
            }
          },
          {
            "node": {
              "active": true,
              "avatar": {
                "url": "https://cdn.shopify.com/proxy/bb267d2b2b59370b919f9c8f42719ece9e33c84ee51230220405746dd8c5c504/www.gravatar.com/avatar/68bd9ae0240cb5cfd89463b1fe778375.jpg?s=2048&d=https%3A%2F%2Fcdn.shopify.com%2Fshopifycloud%2Fshopify%2Fassets%2Fno-gravatar-new-04e7c2331218ac202e79e31be502fd5631bc96cb0206580dbcb0720ebbbd7c73.png"
              },
              "email": "existingbob@example.com",
              "exists": true,
              "firstName": "existingbob",
              "id": "gid://shopify/StaffMember/2108187",
              "initials": [
                "e",
                "b"
              ],
              "isShopOwner": false,
              "lastName": "bobsen",
              "locale": "en",
              "name": "existingbob bobsen",
              "phone": "3213213211"
            }
          }
        ]
      }
    }
  }
}

### Retrieves a list of currencies enabled on a shop
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query { shop { currencySettings(first: 1) { edges { node { currencyCode rateUpdatedAt } } } } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query {\n    shop {\n      currencySettings(first: 1) {\n        edges {\n          node {\n            currencyCode\n            rateUpdatedAt\n          }\n        }\n      }\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query {\n    shop {\n      currencySettings(first: 1) {\n        edges {\n          node {\n            currencyCode\n            rateUpdatedAt\n          }\n        }\n      }\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query {\n    shop {\n      currencySettings(first: 1) {\n        edges {\n          node {\n            currencyCode\n            rateUpdatedAt\n          }\n        }\n      }\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query {\n  shop {\n    currencySettings(first: 1) {\n      edges {\n        node {\n          currencyCode\n          rateUpdatedAt\n        }\n      }\n    }\n  }\n}"
#### Graphql Input
null
#### Graphql Response
{
  "data": {
    "shop": {
      "currencySettings": {
        "edges": [
          {
            "node": {
              "currencyCode": "CAD",
              "rateUpdatedAt": "2018-01-24T00:01:01Z"
            }
          }
        ]
      }
    }
  }
}

### Retrieves a list of storefront access tokens that have been issued
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query storefrontAccessToken { shop { storefrontAccessTokens(first: 10) { edges { node { id accessToken accessScopes { handle } createdAt title } } } } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query storefrontAccessToken {\n    shop {\n      storefrontAccessTokens(first: 10) {\n        edges {\n          node {\n            id\n            accessToken\n            accessScopes {\n              handle\n            }\n            createdAt\n            title\n          }\n        }\n      }\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query storefrontAccessToken {\n    shop {\n      storefrontAccessTokens(first: 10) {\n        edges {\n          node {\n            id\n            accessToken\n            accessScopes {\n              handle\n            }\n            createdAt\n            title\n          }\n        }\n      }\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query storefrontAccessToken {\n    shop {\n      storefrontAccessTokens(first: 10) {\n        edges {\n          node {\n            id\n            accessToken\n            accessScopes {\n              handle\n            }\n            createdAt\n            title\n          }\n        }\n      }\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query storefrontAccessToken {\n  shop {\n    storefrontAccessTokens(first: 10) {\n      edges {\n        node {\n          id\n          accessToken\n          accessScopes {\n            handle\n          }\n          createdAt\n          title\n        }\n      }\n    }\n  }\n}"
#### Graphql Input
null
#### Graphql Response
{
  "data": {
    "shop": {
      "storefrontAccessTokens": {
        "edges": [
          {
            "node": {
              "id": "gid://shopify/StorefrontAccessToken/55270800",
              "accessToken": "678d97641255a4ab5feff997ee233f4c",
              "accessScopes": [
                {
                  "handle": "unauthenticated_read_product_listings"
                },
                {
                  "handle": "unauthenticated_write_checkouts"
                },
                {
                  "handle": "unauthenticated_read_checkouts"
                },
                {
                  "handle": "unauthenticated_read_selling_plans"
                }
              ],
              "createdAt": "2024-11-12T20:33:46Z",
              "title": "Buy Button Extension"
            }
          }
        ]
      }
    }
  }
}

### Retrieves a list of the shop's policies
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query ShopPolicyList { shop { shopPolicies { id url body type title createdAt updatedAt } } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query ShopPolicyList {\n    shop {\n      shopPolicies {\n        id\n        url\n        body\n        type\n        title\n        createdAt\n        updatedAt\n      }\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query ShopPolicyList {\n    shop {\n      shopPolicies {\n        id\n        url\n        body\n        type\n        title\n        createdAt\n        updatedAt\n      }\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query ShopPolicyList {\n    shop {\n      shopPolicies {\n        id\n        url\n        body\n        type\n        title\n        createdAt\n        updatedAt\n      }\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query ShopPolicyList {\n  shop {\n    shopPolicies {\n      id\n      url\n      body\n      type\n      title\n      createdAt\n      updatedAt\n    }\n  }\n}"
#### Graphql Input
null
#### Graphql Response
{
  "data": {
    "shop": {
      "shopPolicies": [
        {
          "id": "gid://shopify/ShopPolicy/1",
          "url": "https://checkout.local/26371970/policies/1.html?locale=en",
          "body": "<p>The following is snowdevil's refund policy. blah blah blah blah blah.</p>",
          "type": "REFUND_POLICY",
          "title": "Refund policy",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        },
        {
          "id": "gid://shopify/ShopPolicy/2",
          "url": "https://checkout.local/26371970/policies/2.html?locale=en",
          "body": "<p>PrivacyPolicy - this is a privacy policy document.</p>",
          "type": "PRIVACY_POLICY",
          "title": "Privacy policy",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        },
        {
          "id": "gid://shopify/ShopPolicy/3",
          "url": "https://checkout.local/26371970/policies/3.html?locale=en",
          "body": "<p>Terms of Service - this is our terms of service</p>",
          "type": "TERMS_OF_SERVICE",
          "title": "Terms of service",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        },
        {
          "id": "gid://shopify/ShopPolicy/4",
          "url": "https://checkout.local/26371970/policies/4.html?locale=en",
          "body": "<p>This is our Legal Notice</p>",
          "type": "LEGAL_NOTICE",
          "title": "Legal notice",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        },
        {
          "id": "gid://shopify/ShopPolicy/5",
          "url": "https://checkout.local/26371970/policies/5.html?locale=en",
          "body": "<p>This is our Shipping Policy</p>",
          "type": "SHIPPING_POLICY",
          "title": "Shipping policy",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        },
        {
          "id": "gid://shopify/ShopPolicy/6",
          "url": "https://checkout.local/26371970/policies/6.html?locale=en",
          "body": "<p>This is our Terms of Sale 🇫🇷</p>",
          "type": "TERMS_OF_SALE",
          "title": "Terms of sale",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        },
        {
          "id": "gid://shopify/ShopPolicy/7",
          "url": "https://checkout.local/26371970/policies/7.html?locale=en",
          "body": "<p>This is our Subscription Policy</p>",
          "type": "SUBSCRIPTION_POLICY",
          "title": "Cancellation policy",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        },
        {
          "id": "gid://shopify/ShopPolicy/8",
          "url": "https://checkout.local/26371970/policies/8.html?locale=en",
          "body": "<p>Contact Information - this is a contact information document.</p>",
          "type": "CONTACT_INFORMATION",
          "title": "Contact information",
          "createdAt": "2024-11-19T09:03:50-05:00",
          "updatedAt": "2024-11-19T09:03:50-05:00"
        }
      ]
    }
  }
}

### Retrieves the shop's configuration
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"query ShopShow { shop { accountOwner { name } alerts { action { title url } description } billingAddress { address1 address2 city company country countryCodeV2 latitude longitude phone province provinceCode zip } checkoutApiSupported contactEmail createdAt currencyCode currencyFormats { moneyFormat moneyInEmailsFormat moneyWithCurrencyFormat moneyWithCurrencyInEmailsFormat } customerAccounts description email enabledPresentmentCurrencies fulfillmentServices { handle serviceName } ianaTimezone id marketingSmsConsentEnabledAtCheckout myshopifyDomain name paymentSettings { supportedDigitalWallets } plan { displayName partnerDevelopment shopifyPlus } primaryDomain { host id } productTypes(first: 250) { edges { node } } setupRequired shipsToCountries taxesIncluded taxShipping timezoneAbbreviation transactionalSmsDisabled updatedAt url weightUnit } }\"\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: `query ShopShow {\n    shop {\n      accountOwner {\n        name\n      }\n      alerts {\n        action {\n          title\n          url\n        }\n        description\n      }\n      billingAddress {\n        address1\n        address2\n        city\n        company\n        country\n        countryCodeV2\n        latitude\n        longitude\n        phone\n        province\n        provinceCode\n        zip\n      }\n      checkoutApiSupported\n      contactEmail\n      createdAt\n      currencyCode\n      currencyFormats {\n        moneyFormat\n        moneyInEmailsFormat\n        moneyWithCurrencyFormat\n        moneyWithCurrencyInEmailsFormat\n      }\n      customerAccounts\n      description\n      email\n      enabledPresentmentCurrencies\n      fulfillmentServices {\n        handle\n        serviceName\n      }\n      ianaTimezone\n      id\n      marketingSmsConsentEnabledAtCheckout\n      myshopifyDomain\n      name\n      paymentSettings {\n        supportedDigitalWallets\n      }\n      plan {\n        displayName\n        partnerDevelopment\n        shopifyPlus\n      }\n      primaryDomain {\n        host\n        id\n      }\n      productTypes(first: 250) {\n        edges {\n          node\n        }\n      }\n      setupRequired\n      shipsToCountries\n      taxesIncluded\n      taxShipping\n      timezoneAbbreviation\n      transactionalSmsDisabled\n      updatedAt\n      url\n      weightUnit\n    }\n  }`,\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  query ShopShow {\n    shop {\n      accountOwner {\n        name\n      }\n      alerts {\n        action {\n          title\n          url\n        }\n        description\n      }\n      billingAddress {\n        address1\n        address2\n        city\n        company\n        country\n        countryCodeV2\n        latitude\n        longitude\n        phone\n        province\n        provinceCode\n        zip\n      }\n      checkoutApiSupported\n      contactEmail\n      createdAt\n      currencyCode\n      currencyFormats {\n        moneyFormat\n        moneyInEmailsFormat\n        moneyWithCurrencyFormat\n        moneyWithCurrencyInEmailsFormat\n      }\n      customerAccounts\n      description\n      email\n      enabledPresentmentCurrencies\n      fulfillmentServices {\n        handle\n        serviceName\n      }\n      ianaTimezone\n      id\n      marketingSmsConsentEnabledAtCheckout\n      myshopifyDomain\n      name\n      paymentSettings {\n        supportedDigitalWallets\n      }\n      plan {\n        displayName\n        partnerDevelopment\n        shopifyPlus\n      }\n      primaryDomain {\n        host\n        id\n      }\n      productTypes(first: 250) {\n        edges {\n          node\n        }\n      }\n      setupRequired\n      shipsToCountries\n      taxesIncluded\n      taxShipping\n      timezoneAbbreviation\n      transactionalSmsDisabled\n      updatedAt\n      url\n      weightUnit\n    }\n  }\nQUERY\n\nresponse = client.query(query: query)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  query ShopShow {\n    shop {\n      accountOwner {\n        name\n      }\n      alerts {\n        action {\n          title\n          url\n        }\n        description\n      }\n      billingAddress {\n        address1\n        address2\n        city\n        company\n        country\n        countryCodeV2\n        latitude\n        longitude\n        phone\n        province\n        provinceCode\n        zip\n      }\n      checkoutApiSupported\n      contactEmail\n      createdAt\n      currencyCode\n      currencyFormats {\n        moneyFormat\n        moneyInEmailsFormat\n        moneyWithCurrencyFormat\n        moneyWithCurrencyInEmailsFormat\n      }\n      customerAccounts\n      description\n      email\n      enabledPresentmentCurrencies\n      fulfillmentServices {\n        handle\n        serviceName\n      }\n      ianaTimezone\n      id\n      marketingSmsConsentEnabledAtCheckout\n      myshopifyDomain\n      name\n      paymentSettings {\n        supportedDigitalWallets\n      }\n      plan {\n        displayName\n        partnerDevelopment\n        shopifyPlus\n      }\n      primaryDomain {\n        host\n        id\n      }\n      productTypes(first: 250) {\n        edges {\n          node\n        }\n      }\n      setupRequired\n      shipsToCountries\n      taxesIncluded\n      taxShipping\n      timezoneAbbreviation\n      transactionalSmsDisabled\n      updatedAt\n      url\n      weightUnit\n    }\n  }`,\n);\n\nconst data = await response.json();\n"
Graphql query: "query ShopShow {\n  shop {\n    accountOwner {\n      name\n    }\n    alerts {\n      action {\n        title\n        url\n      }\n      description\n    }\n    billingAddress {\n      address1\n      address2\n      city\n      company\n      country\n      countryCodeV2\n      latitude\n      longitude\n      phone\n      province\n      provinceCode\n      zip\n    }\n    checkoutApiSupported\n    contactEmail\n    createdAt\n    currencyCode\n    currencyFormats {\n      moneyFormat\n      moneyInEmailsFormat\n      moneyWithCurrencyFormat\n      moneyWithCurrencyInEmailsFormat\n    }\n    customerAccounts\n    description\n    email\n    enabledPresentmentCurrencies\n    fulfillmentServices {\n      handle\n      serviceName\n    }\n    ianaTimezone\n    id\n    marketingSmsConsentEnabledAtCheckout\n    myshopifyDomain\n    name\n    paymentSettings {\n      supportedDigitalWallets\n    }\n    plan {\n      displayName\n      partnerDevelopment\n      shopifyPlus\n    }\n    primaryDomain {\n      host\n      id\n    }\n    productTypes(first: 250) {\n      edges {\n        node\n      }\n    }\n    setupRequired\n    shipsToCountries\n    taxesIncluded\n    taxShipping\n    timezoneAbbreviation\n    transactionalSmsDisabled\n    updatedAt\n    url\n    weightUnit\n  }\n}"
#### Graphql Input
null
#### Graphql Response
{
  "data": {
    "shop": {
      "accountOwner": {
        "name": "bob bobsen"
      },
      "alerts": [],
      "billingAddress": {
        "address1": "190 MacLaren Street",
        "address2": "suite 800",
        "city": "Ottawa",
        "company": "Snowdevil",
        "country": "Canada",
        "countryCodeV2": "CA",
        "latitude": 45.45,
        "longitude": -75.43,
        "phone": "6135551234",
        "province": "Ontario",
        "provinceCode": "ON",
        "zip": "K2P 0L6"
      },
      "checkoutApiSupported": true,
      "contactEmail": "email@snowdevil.ca",
      "createdAt": "2005-05-05T00:00:00Z",
      "currencyCode": "USD",
      "currencyFormats": {
        "moneyFormat": "${{amount}}",
        "moneyInEmailsFormat": "${{amount}}",
        "moneyWithCurrencyFormat": "${{amount}} USD",
        "moneyWithCurrencyInEmailsFormat": "${{amount}} USD"
      },
      "customerAccounts": "OPTIONAL",
      "description": "Snow devil",
      "email": "email@snowdevil.ca",
      "enabledPresentmentCurrencies": [
        "AUD",
        "CAD",
        "JPY",
        "USD"
      ],
      "fulfillmentServices": [
        {
          "handle": "manual",
          "serviceName": "Manual"
        },
        {
          "handle": "shipwire",
          "serviceName": "Shipwire"
        },
        {
          "handle": "on-demand-delivery",
          "serviceName": "On Demand Delivery"
        },
        {
          "handle": "mr-acme-drop-shipper",
          "serviceName": "Mr. ACME Drop Shipper"
        },
        {
          "handle": "mr-drop-shipper",
          "serviceName": "Mr. Drop Shipper"
        }
      ],
      "ianaTimezone": "America/New_York",
      "id": "gid://shopify/Shop/26371970",
      "marketingSmsConsentEnabledAtCheckout": false,
      "myshopifyDomain": "snowdevil.myshopify.com",
      "name": "Snowdevil",
      "paymentSettings": {
        "supportedDigitalWallets": []
      },
      "plan": {
        "displayName": "Basic",
        "partnerDevelopment": false,
        "shopifyPlus": false
      },
      "primaryDomain": {
        "host": "www.snowdevil.ca",
        "id": "gid://shopify/Domain/948873163"
      },
      "productTypes": {
        "edges": [
          {
            "node": "Boots"
          },
          {
            "node": "Cult Products"
          },
          {
            "node": "Footwear"
          },
          {
            "node": "Snowboards"
          }
        ]
      },
      "setupRequired": false,
      "shipsToCountries": [
        "AC",
        "AD",
        "AE",
        "AF",
        "AG",
        "AI",
        "AL",
        "AM",
        "AO",
        "AR",
        "AT",
        "AU",
        "AW",
        "AX",
        "AZ",
        "BA",
        "BB",
        "BD",
        "BE",
        "BF",
        "BG",
        "BH",
        "BI",
        "BJ",
        "BL",
        "BM",
        "BN",
        "BO",
        "BQ",
        "BR",
        "BS",
        "BT",
        "BW",
        "BY",
        "BZ",
        "CA",
        "CC",
        "CD",
        "CF",
        "CG",
        "CH",
        "CI",
        "CK",
        "CL",
        "CM",
        "CN",
        "CO",
        "CR",
        "CV",
        "CW",
        "CX",
        "CY",
        "CZ",
        "DE",
        "DJ",
        "DK",
        "DM",
        "DO",
        "DZ",
        "EC",
        "EE",
        "EG",
        "EH",
        "ER",
        "ES",
        "ET",
        "FI",
        "FJ",
        "FK",
        "FO",
        "FR",
        "GA",
        "GB",
        "GD",
        "GE",
        "GF",
        "GG",
        "GH",
        "GI",
        "GL",
        "GM",
        "GN",
        "GP",
        "GQ",
        "GR",
        "GS",
        "GT",
        "GW",
        "GY",
        "HK",
        "HN",
        "HR",
        "HT",
        "HU",
        "ID",
        "IE",
        "IL",
        "IM",
        "IN",
        "IO",
        "IQ",
        "IS",
        "IT",
        "JE",
        "JM",
        "JO",
        "JP",
        "KE",
        "KG",
        "KH",
        "KI",
        "KM",
        "KN",
        "KR",
        "KW",
        "KY",
        "KZ",
        "LA",
        "LB",
        "LC",
        "LI",
        "LK",
        "LR",
        "LS",
        "LT",
        "LU",
        "LV",
        "LY",
        "MA",
        "MC",
        "MD",
        "ME",
        "MF",
        "MG",
        "MK",
        "ML",
        "MM",
        "MN",
        "MO",
        "MQ",
        "MR",
        "MS",
        "MT",
        "MU",
        "MV",
        "MW",
        "MX",
        "MY",
        "MZ",
        "NA",
        "NC",
        "NE",
        "NF",
        "NG",
        "NI",
        "NL",
        "NO",
        "NP",
        "NR",
        "NU",
        "NZ",
        "OM",
        "PA",
        "PE",
        "PF",
        "PG",
        "PH",
        "PK",
        "PL",
        "PM",
        "PN",
        "PS",
        "PT",
        "PY",
        "QA",
        "RE",
        "RO",
        "RS",
        "RU",
        "RW",
        "SA",
        "SB",
        "SC",
        "SD",
        "SE",
        "SG",
        "SH",
        "SI",
        "SJ",
        "SK",
        "SL",
        "SM",
        "SN",
        "SO",
        "SR",
        "SS",
        "ST",
        "SV",
        "SX",
        "SZ",
        "TA",
        "TC",
        "TD",
        "TF",
        "TG",
        "TH",
        "TJ",
        "TK",
        "TL",
        "TM",
        "TN",
        "TO",
        "TR",
        "TT",
        "TV",
        "TW",
        "TZ",
        "UA",
        "UG",
        "UM",
        "US",
        "UY",
        "UZ",
        "VA",
        "VC",
        "VE",
        "VG",
        "VN",
        "VU",
        "WF",
        "WS",
        "XK",
        "YE",
        "YT",
        "ZA",
        "ZM",
        "ZW"
      ],
      "taxesIncluded": false,
      "taxShipping": false,
      "timezoneAbbreviation": "EST",
      "transactionalSmsDisabled": false,
      "updatedAt": "2024-11-19T14:03:50Z",
      "url": "https://www.snowdevil.ca",
      "weightUnit": "KILOGRAMS"
    }
  }
}