# 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" } } }