From d1a79bc6077292be4e7508e813e7ee841a6238a5 Mon Sep 17 00:00:00 2001 From: Liz Kenyon Date: Thu, 23 Jan 2025 13:37:19 -0600 Subject: [PATCH] update prisma version --- app/types/admin-2024-10.schema.json | 257754 +++++++++++++++++++++++++ app/types/admin.generated.d.ts | 35 + app/types/admin.types.d.ts | 56438 ++++++ package.json | 4 +- 4 files changed, 314229 insertions(+), 2 deletions(-) create mode 100644 app/types/admin-2024-10.schema.json create mode 100644 app/types/admin.generated.d.ts create mode 100644 app/types/admin.types.d.ts diff --git a/app/types/admin-2024-10.schema.json b/app/types/admin-2024-10.schema.json new file mode 100644 index 00000000..301beb1e --- /dev/null +++ b/app/types/admin-2024-10.schema.json @@ -0,0 +1,257754 @@ +{ + "__schema": { + "queryType": { + "name": "QueryRoot" + }, + "mutationType": { + "name": "Mutation" + }, + "subscriptionType": null, + "types": [ + { + "kind": "SCALAR", + "name": "ARN", + "description": "An Amazon Web Services Amazon Resource Name (ARN), including the Region and account ID.\nFor more information, refer to [Amazon Resource Names](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonedCheckout", + "description": "A checkout that was abandoned by the customer.", + "fields": [ + { + "name": "abandonedCheckoutUrl", + "description": "The URL for the buyer to recover their checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddress", + "description": "The billing address provided by the buyer.\nNull if the user did not provide a billing address.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "completedAt", + "description": "The date and time when the buyer completed the checkout.\nNull if the checkout has not been completed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the checkout was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of extra information that has been added to the checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer who created this checkout.\nMay be null if the checkout was created from a draft order or via an app.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodes", + "description": "The discount codes entered by the buyer at checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "A list of the line items in this checkout.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItemsQuantity", + "description": "The number of products in the checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use [AbandonedCheckoutLineItem.quantity](https://shopify.dev/api/admin-graphql/unstable/objects/AbandonedCheckoutLineItem#field-quantity) instead." + }, + { + "name": "name", + "description": "Unique merchant-facing identifier for the checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A merchant-facing note added to the checkout. Not visible to the buyer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The shipping address to where the line items will be shipped.\nNull if the user did not provide a shipping address.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalPriceSet", + "description": "The sum of all items in the checkout, including discounts but excluding shipping, taxes and tips.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "Individual taxes charged on the checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxesIncluded", + "description": "Whether taxes are included in line item and shipping line prices.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountSet", + "description": "The total amount of discounts to be applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDutiesSet", + "description": "The total duties applied to the checkout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalLineItemsPriceSet", + "description": "The sum of the prices of all line items in the checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPriceSet", + "description": "The sum of all items in the checkout, including discounts, shipping, taxes, and tips.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxSet", + "description": "The total tax applied to the checkout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the checkout was most recently updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonedCheckoutConnection", + "description": "An auto-generated type for paginating through multiple AbandonedCheckouts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckoutEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AbandonedCheckoutEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckout", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonedCheckoutEdge", + "description": "An auto-generated type which holds one AbandonedCheckout and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AbandonedCheckoutEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckout", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItem", + "description": "A single line item in an abandoned checkout.", + "fields": [ + { + "name": "customAttributes", + "description": "A list of extra information that has been added to the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAllocations", + "description": "Discount allocations that have been applied on the line item.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAllocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedTotalPriceSet", + "description": "Final total price for the entire quantity of this line item, including discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedTotalPriceWithCodeDiscount", + "description": "The total price for the entire quantity of this line item, after all discounts are applied, at both the line item and code-based line item level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPriceSet", + "description": "The price of a single variant unit after discounts are applied at the line item level, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPriceWithCodeDiscount", + "description": "The price of a single variant unit after all discounts are applied, at both the line item and code-based line item level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the line item's variant or product.\nNULL if the line item has no product, or if neither the variant nor the product have an image.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotalPriceSet", + "description": "Original total price for the entire quantity of this line item, before discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceSet", + "description": "Original price for a single unit of this line item, before discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "Product for this line item.\nNULL for custom line items and products that were deleted after checkout began.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "SKU for the inventory item associated with the variant, if any.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the line item. Defaults to the product's title.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "Product variant for this line item.\nNULL for custom line items and variants that were deleted after checkout began.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "Title of the variant for this line item.\nNULL for custom line items and products that don't have distinct variants.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItemConnection", + "description": "An auto-generated type for paginating through multiple AbandonedCheckoutLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AbandonedCheckoutLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItemEdge", + "description": "An auto-generated type which holds one AbandonedCheckoutLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AbandonedCheckoutLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AbandonedCheckoutSortKeys", + "description": "The set of valid sort keys for the AbandonedCartGraphQL query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHECKOUT_ID", + "description": "Sort by the `checkout_id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_NAME", + "description": "Sort by the `customer_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_PRICE", + "description": "Sort by the `total_price` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Abandonment", + "description": "A browse, cart, or checkout that was abandoned by a customer.", + "fields": [ + { + "name": "abandonedCheckoutPayload", + "description": "The abandonment payload for the abandoned checkout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AbandonedCheckout", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "abandonmentType", + "description": "The abandonment type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AbandonmentAbandonmentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "app", + "description": "The app associated with an abandoned checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartUrl", + "description": "Permalink to the cart page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the abandonment was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer who abandoned this event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerHasNoDraftOrderSinceAbandonment", + "description": "Whether the customer has a draft order since this abandonment has been abandoned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerHasNoOrderSinceAbandonment", + "description": "Whether the customer has completed an order since this checkout has been abandoned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "daysSinceLastAbandonmentEmail", + "description": "The number of days since the last abandonment email was sent to the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailSentAt", + "description": "When the email was sent, if that's the case.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailState", + "description": "The email state (e.g., sent or not sent).", + "args": [], + "type": { + "kind": "ENUM", + "name": "AbandonmentEmailState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hoursSinceLastAbandonedCheckout", + "description": "The number of hours since the customer has last abandoned a checkout.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryAvailable", + "description": "Whether the products in abandonment are available.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isFromCustomStorefront", + "description": "Whether the abandonment event comes from a custom storefront channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isFromOnlineStore", + "description": "Whether the abandonment event comes from the Online Store sales channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isFromShopApp", + "description": "Whether the abandonment event comes from the Shop app sales channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isFromShopPay", + "description": "Whether the abandonment event comes from Shop Pay.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isMostSignificantAbandonment", + "description": "Whether the customer didn't complete another most significant step since this abandonment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastBrowseAbandonmentDate", + "description": "The date for the latest browse abandonment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCartAbandonmentDate", + "description": "The date for the latest cart abandonment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCheckoutAbandonmentDate", + "description": "The date for the latest checkout abandonment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mostRecentStep", + "description": "The most recent step type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AbandonmentAbandonmentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsAddedToCart", + "description": "The products added to the cart during the customer abandoned visit.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerVisitProductInfoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsViewed", + "description": "The products viewed during the customer abandoned visit.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerVisitProductInfoConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visitStartedAt", + "description": "The date and time when the visit started.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AbandonmentAbandonmentType", + "description": "Specifies the abandonment type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BROWSE", + "description": "The abandonment event is an abandoned browse.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CART", + "description": "The abandonment event is an abandoned cart.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHECKOUT", + "description": "The abandonment event is an abandoned checkout.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AbandonmentDeliveryState", + "description": "Specifies the delivery state of a marketing activity.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_SENT", + "description": "The marketing activity action has not yet been sent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "The marketing activity action has been scheduled for later delivery.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SENT", + "description": "The marketing activity action has been sent.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AbandonmentEmailState", + "description": "Specifies the email state.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_SENT", + "description": "The email has not yet been sent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "The email has been scheduled for later delivery.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SENT", + "description": "The email has been sent.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonmentEmailStateUpdatePayload", + "description": "Return type for `abandonmentEmailStateUpdate` mutation.", + "fields": [ + { + "name": "abandonment", + "description": "The updated abandonment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Abandonment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonmentEmailStateUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonmentEmailStateUpdateUserError", + "description": "An error that occurs during the execution of `AbandonmentEmailStateUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AbandonmentEmailStateUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AbandonmentEmailStateUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `AbandonmentEmailStateUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ABANDONMENT_NOT_FOUND", + "description": "Unable to find an Abandonment for the provided ID.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonmentUpdateActivitiesDeliveryStatusesPayload", + "description": "Return type for `abandonmentUpdateActivitiesDeliveryStatuses` mutation.", + "fields": [ + { + "name": "abandonment", + "description": "The updated abandonment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Abandonment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonmentUpdateActivitiesDeliveryStatusesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AbandonmentUpdateActivitiesDeliveryStatusesUserError", + "description": "An error that occurs during the execution of `AbandonmentUpdateActivitiesDeliveryStatuses`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AbandonmentUpdateActivitiesDeliveryStatusesUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AbandonmentUpdateActivitiesDeliveryStatusesUserErrorCode", + "description": "Possible error codes that can be returned by `AbandonmentUpdateActivitiesDeliveryStatusesUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ABANDONMENT_NOT_FOUND", + "description": "Unable to find an Abandonment for the provided ID.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_STATUS_INFO_NOT_FOUND", + "description": "Unable to find delivery status info for the provided ID.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETING_ACTIVITY_NOT_FOUND", + "description": "Unable to find a marketing activity for the provided ID.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AccessScope", + "description": "The permission required to access a Shopify Admin API or Storefront API resource for a shop. Merchants grant access scopes that are requested by applications.", + "fields": [ + { + "name": "description", + "description": "A description of the actions that the access scope allows an app to perform.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A readable string that represents the access scope. The string usually follows the format `{action}_{resource}`. `{action}` is `read` or `write`, and `{resource}` is the resource that the action can be performed on. `{action}` and `{resource}` are separated by an underscore. For example, `read_orders` or `write_products`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AccountType", + "description": "Possible account types that a staff member can have.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLABORATOR", + "description": "The account of a partner who collaborates with the merchant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLABORATOR_TEAM_MEMBER", + "description": "The account of a partner collaborator team member.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVITED", + "description": "The user has not yet accepted the invitation to create an account.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVITED_STORE_OWNER", + "description": "The user has not yet accepted the invitation to become the store owner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REGULAR", + "description": "The account can access the Shopify admin.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUESTED", + "description": "The admin has not yet accepted the request to create a collaborator account.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESTRICTED", + "description": "The account cannot access the Shopify admin.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAML", + "description": "The account can be signed into via a SAML provider.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AddAllProductsOperation", + "description": "Represents an operation publishing all products to a publication.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedRowCount", + "description": "The count of processed rows, summing imported, failed, and skipped rows.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rowCount", + "description": "Represents a rows objects within this background operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RowCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AdditionalFee", + "description": "The additional fees that have been applied to the order.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the additional fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the additional fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "A list of taxes charged on the additional fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AdditionalFeeSale", + "description": "A sale associated with an additional fee charge.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "additionalFee", + "description": "The additional fees for the associated sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleAdditionalFee", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AdjustmentSale", + "description": "A sale associated with an order price adjustment.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AdjustmentsSortKeys", + "description": "The set of valid sort keys for the Adjustments query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIME", + "description": "Sort by the `time` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AllDiscountItems", + "description": "Targets all items the cart for a specified discount.", + "fields": [ + { + "name": "allItems", + "description": "Whether all items are eligible for the discount. This value always returns `true`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AndroidApplication", + "description": "The Android mobile platform application.", + "fields": [ + { + "name": "appLinksEnabled", + "description": "Whether Android App Links are supported by this app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "applicationId", + "description": "The Android application ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha256CertFingerprints", + "description": "The SHA256 fingerprints of the app's signing certificate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ApiVersion", + "description": "A version of the API, as defined by [Shopify API versioning](https://shopify.dev/api/usage/versioning).\nVersions are commonly referred to by their handle (for example, `2021-10`).", + "fields": [ + { + "name": "displayName", + "description": "The human-readable name of the version.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "The unique identifier of an ApiVersion. All supported API versions have a date-based (YYYY-MM) or `unstable` handle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supported", + "description": "Whether the version is actively supported by Shopify. Supported API versions are guaranteed to be stable. Unsupported API versions include unstable, release candidate, and end-of-life versions that are marked as unsupported. For more information, refer to [Versioning](https://shopify.dev/api/usage/versioning).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "App", + "description": "A Shopify application.", + "fields": [ + { + "name": "apiKey", + "description": "A unique application API identifier.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appStoreAppUrl", + "description": "App store page URL of the app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appStoreDeveloperUrl", + "description": "App store page URL of the developer who created the app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableAccessScopes", + "description": "All requestable access scopes available to the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessScope", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "banner", + "description": "Banner image for the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Description of the app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "developerName", + "description": "The name of the app developer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "developerType", + "description": "The type of app developer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppDeveloperType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "developerUrl", + "description": "Website of the developer who created the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `appStoreDeveloperUrl` instead." + }, + { + "name": "embedded", + "description": "Whether the app uses the Embedded App SDK.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failedRequirements", + "description": "Requirements that must be met before the app can be installed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FailedRequirement", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "features", + "description": "A list of app features that are shown in the Shopify App Store listing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "feedback", + "description": "Feedback from this app about the store.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppFeedback", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "Handle of the app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "Icon that represents the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "installUrl", + "description": "Webpage where you can install the app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "installation", + "description": "Corresponding AppInstallation for this shop and App.\nReturns null if the App is not installed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPostPurchaseAppInUse", + "description": "Whether the app is the [post purchase](https://shopify.dev/apps/checkout/post-purchase) app in use.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "launchUrl", + "description": "Webpage that the app starts in.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use AppInstallation.launchUrl instead" + }, + { + "name": "navigationItems", + "description": "Menu items for the app, which also appear as submenu items in left navigation sidebar in the Shopify admin.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationItem", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use AppInstallation.navigationItems instead" + }, + { + "name": "optionalAccessScopes", + "description": "The optional scopes requested by the app. Lists the optional access scopes the app has declared in its configuration. These scopes are optionally requested by the app after installation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessScope", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previouslyInstalled", + "description": "Whether the app was previously installed on the current shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricingDetails", + "description": "Detailed information about the app pricing.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricingDetailsSummary", + "description": "Summary of the app pricing details.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privacyPolicyUrl", + "description": "Link to app privacy policy.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicCategory", + "description": "The public category for the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppPublicCategory", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "published", + "description": "Whether the app is published to the Shopify App Store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestedAccessScopes", + "description": "The access scopes requested by the app. Lists the access scopes the app has declared in its configuration. Merchant must grant approval to these scopes for the app to be installed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessScope", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "screenshots", + "description": "Screenshots of the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyDeveloped", + "description": "Whether the app was developed by Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Name of the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uninstallMessage", + "description": "Message that appears when the app is uninstalled. For example:\nBy removing this app, you will no longer be able to publish products to MySocialSite or view this app in your Shopify admin. You can re-enable this channel at any time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uninstallUrl", + "description": "Webpage where you can uninstall the app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use AppInstallation.uninstallUrl instead" + }, + { + "name": "webhookApiVersion", + "description": "The webhook API version for the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppCatalog", + "description": "A catalog that defines the publication associated with an app.", + "fields": [ + { + "name": "apps", + "description": "The apps associated with the catalog.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operations", + "description": "Most recent catalog operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "The price list associated with the catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "A group of products and collections that's published to a catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CatalogStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppConnection", + "description": "An auto-generated type for paginating through multiple Apps.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AppEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppCredit", + "description": "App credits can be applied by the merchant towards future app purchases, subscriptions, or usage records in Shopify.", + "fields": [ + { + "name": "amount", + "description": "The amount that can be used towards future app purchases in Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the app credit was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the app credit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the app credit is a test transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppCreditConnection", + "description": "An auto-generated type for paginating through multiple AppCredits.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppCreditEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AppCreditEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppCredit", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppCreditEdge", + "description": "An auto-generated type which holds one AppCredit and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AppCreditEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppCredit", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppDeveloperType", + "description": "Possible types of app developer.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERCHANT", + "description": "Indicates the app developer works directly for a Merchant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTNER", + "description": "Indicates the app developer is a Partner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY", + "description": "Indicates the app developer is Shopify.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Indicates the app developer is unknown. It is not categorized as any of the other developer types.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppDiscountType", + "description": "A script that defines a discount type.", + "fields": [ + { + "name": "app", + "description": "The app providing the app discount type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appBridge", + "description": "The App Bridge details for discount type configuration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FunctionsAppBridge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appKey", + "description": "The client ID of the app providing the app discount type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A description of the app discount type.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the app discount type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID of the function providing the app discount type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "The target type of the app discount type. Possible values: `SHIPPING_LINE` and `LINE_ITEM`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the app discount type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppEdge", + "description": "An auto-generated type which holds one App and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AppEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppFeedback", + "description": "Reports the status of shops and their resources and displays this information\nwithin Shopify admin. AppFeedback is used to notify merchants about steps they need to take\nto set up an app on their store.", + "fields": [ + { + "name": "app", + "description": "The application associated to the feedback.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "feedbackGeneratedAt", + "description": "The date and time when the app feedback was generated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "link", + "description": "A link to where merchants can resolve errors.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Link", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messages", + "description": "The feedback message presented to the merchant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Conveys the state of the feedback and whether it requires merchant action or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceFeedbackState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppInstallation", + "description": "Represents an installed application on a shop.", + "fields": [ + { + "name": "accessScopes", + "description": "The access scopes granted to the application by a merchant during installation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessScope", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "activeSubscriptions", + "description": "The active application subscriptions billed to the shop on a recurring basis.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allSubscriptions", + "description": "All subscriptions created for a shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AppSubscriptionSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscriptionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "app", + "description": "Application which is installed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channel", + "description": "Channel associated with the installed application.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `publication` instead." + }, + { + "name": "credits", + "description": "Credits that can be used towards future app purchases.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AppTransactionSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppCreditConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "launchUrl", + "description": "The URL to launch the application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oneTimePurchases", + "description": "One-time purchases to a shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AppTransactionSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppPurchaseOneTimeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "publication", + "description": "The publication associated with the installed application.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revenueAttributionRecords", + "description": "The records that track the externally-captured revenue for the app. The records are used for revenue attribution purposes.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AppRevenueAttributionRecordSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecordConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptions", + "description": "Subscriptions charge to a shop on a recurring basis.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `activeSubscriptions` instead." + }, + { + "name": "uninstallUrl", + "description": "The URL to uninstall the application.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppInstallationCategory", + "description": "The possible categories of an app installation, based on their purpose\nor the environment they can run in.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHANNEL", + "description": "Apps that serve as channels through which sales are made, such as the online store.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POS_EMBEDDED", + "description": "Apps that can be used in the POS mobile client.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppInstallationConnection", + "description": "An auto-generated type for paginating through multiple AppInstallations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppInstallationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AppInstallationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppInstallationEdge", + "description": "An auto-generated type which holds one AppInstallation and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AppInstallationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppInstallationPrivacy", + "description": "The levels of privacy of an app installation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PRIVATE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppInstallationSortKeys", + "description": "The set of valid sort keys for the AppInstallation query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_TITLE", + "description": "Sort by the `app_title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSTALLED_AT", + "description": "Sort by the `installed_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AppPlanInput", + "description": "The pricing model for the app subscription.\nThe pricing model input can be either `appRecurringPricingDetails` or `appUsagePricingDetails`.", + "fields": null, + "inputFields": [ + { + "name": "appRecurringPricingDetails", + "description": "The pricing details for recurring billing.", + "type": { + "kind": "INPUT_OBJECT", + "name": "AppRecurringPricingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appUsagePricingDetails", + "description": "The pricing details for usage-based billing.", + "type": { + "kind": "INPUT_OBJECT", + "name": "AppUsagePricingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppPlanV2", + "description": "The app plan that the merchant is subscribed to.", + "fields": [ + { + "name": "pricingDetails", + "description": "The plan billed to a shop on a recurring basis.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "AppPricingDetails", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "AppPricingDetails", + "description": "The information about the price that's charged to a shop every plan period.\nThe concrete type can be `AppRecurringPricing` for recurring billing or `AppUsagePricing` for usage-based billing.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AppRecurringPricing", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppUsagePricing", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "AppPricingInterval", + "description": "The frequency at which the shop is billed for an app subscription.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANNUAL", + "description": "The app subscription bills the shop annually.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVERY_30_DAYS", + "description": "The app subscription bills the shop every 30 days.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppPublicCategory", + "description": "The public-facing category for an app.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOM", + "description": "The app's public category is [custom](https://shopify.dev/apps/distribution#capabilities-and-requirements).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "The app's public category is other. An app is in this category if it's not classified under any of the other app types (private, public, or custom).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIVATE", + "description": "The app's public category is [private](https://shopify.dev/apps/distribution#deprecated-app-types).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC", + "description": "The app's public category is [public](https://shopify.dev/apps/distribution#capabilities-and-requirements).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "AppPurchase", + "description": "Services and features purchased once by the store.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the app purchase occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the app purchase.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The amount to be charged to the store for the app purchase.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the app purchase.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppPurchaseStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the app purchase is a test transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AppPurchaseOneTime", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "AppPurchaseOneTime", + "description": "Services and features purchased once by a store.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the app purchase occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the app purchase.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The amount to be charged to the store for the app purchase.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the app purchase.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppPurchaseStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the app purchase is a test transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "AppPurchase", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppPurchaseOneTimeConnection", + "description": "An auto-generated type for paginating through multiple AppPurchaseOneTimes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppPurchaseOneTimeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AppPurchaseOneTimeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppPurchaseOneTime", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppPurchaseOneTimeCreatePayload", + "description": "Return type for `appPurchaseOneTimeCreate` mutation.", + "fields": [ + { + "name": "appPurchaseOneTime", + "description": "The newly created app one-time purchase.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppPurchaseOneTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmationUrl", + "description": "The URL that the merchant can access to approve or decline the newly created app one-time purchase.\n\nIf the merchant declines, then the merchant is redirected to the app and receives a notification message stating that the charge was declined.\nIf the merchant approves and they're successfully invoiced, then the state of the charge changes from `pending` to `active`.\n\nYou get paid after the charge is activated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppPurchaseOneTimeEdge", + "description": "An auto-generated type which holds one AppPurchaseOneTime and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AppPurchaseOneTimeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppPurchaseOneTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppPurchaseStatus", + "description": "The approval status of the app purchase.\n\nThe merchant is charged for the purchase immediately after approval, and the status changes to `active`.\nIf the payment fails, then the app purchase remains `pending`.\n\nPurchases start as `pending` and can change to: `active`, `declined`, `expired`. After a purchase changes, it\nremains in that final state.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTED", + "description": "The app purchase has been approved by the merchant and is ready to be activated by the app. App purchases created through the GraphQL Admin API are activated upon approval.", + "isDeprecated": true, + "deprecationReason": "As of API version 2021-01, when a merchant accepts an app purchase, the status immediately changes from `pending` to `active`." + }, + { + "name": "ACTIVE", + "description": "The app purchase was approved by the merchant and has been activated by the app. Active app purchases are charged to the merchant and are paid out to the partner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DECLINED", + "description": "The app purchase was declined by the merchant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The app purchase was not accepted within two days of being created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The app purchase is pending approval by the merchant.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppRecurringPricing", + "description": "The pricing information about a subscription app.\nThe object contains an interval (the frequency at which the shop is billed for an app subscription) and\na price (the amount to be charged to the subscribing shop at each interval).", + "fields": [ + { + "name": "discount", + "description": "The discount applied to the subscription for a given number of billing intervals.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppSubscriptionDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The frequency at which the subscribing shop is billed for an app subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppPricingInterval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The amount and currency to be charged to the subscribing shop every billing interval.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AppRecurringPricingInput", + "description": "Instructs the app subscription to generate a fixed charge on a recurring basis. The frequency is specified by the billing interval.", + "fields": null, + "inputFields": [ + { + "name": "discount", + "description": "The discount applied to the subscription for a given number of billing intervals.", + "type": { + "kind": "INPUT_OBJECT", + "name": "AppSubscriptionDiscountInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "How often the app subscription generates a charge.", + "type": { + "kind": "ENUM", + "name": "AppPricingInterval", + "ofType": null + }, + "defaultValue": "EVERY_30_DAYS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The amount to be charged to the store every billing interval.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecord", + "description": "Represents app revenue that was captured externally by the partner.", + "fields": [ + { + "name": "amount", + "description": "The financial amount captured in this attribution.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capturedAt", + "description": "The timestamp when the financial amount was captured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The timestamp at which this revenue attribution was issued.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "idempotencyKey", + "description": "The unique value submitted during the creation of the app revenue attribution record.\nFor more information, refer to\n[Idempotent requests](https://shopify.dev/api/usage/idempotent-requests).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Indicates whether this is a test submission.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of revenue attribution.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppRevenueAttributionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecordConnection", + "description": "An auto-generated type for paginating through multiple AppRevenueAttributionRecords.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecordEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AppRevenueAttributionRecordEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecord", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecordEdge", + "description": "An auto-generated type which holds one AppRevenueAttributionRecord and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AppRevenueAttributionRecordEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecord", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppRevenueAttributionRecordSortKeys", + "description": "The set of valid sort keys for the AppRevenueAttributionRecord query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppRevenueAttributionType", + "description": "Represents the billing types of revenue attribution.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPLICATION_PURCHASE", + "description": "App purchase related revenue collection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPLICATION_SUBSCRIPTION", + "description": "App subscription revenue collection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPLICATION_USAGE", + "description": "App usage-based revenue collection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "Other app revenue collection type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppRevokeAccessScopesAppRevokeScopeError", + "description": "Represents an error that happens while revoking a granted scope.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AppRevokeAccessScopesAppRevokeScopeErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppRevokeAccessScopesAppRevokeScopeErrorCode", + "description": "Possible error codes that can be returned by `AppRevokeAccessScopesAppRevokeScopeError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPLICATION_CANNOT_BE_FOUND", + "description": "The application cannot be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APP_NOT_INSTALLED", + "description": "App is not installed on shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_REVOKE_IMPLIED_SCOPES", + "description": "Already granted implied scopes cannot be revoked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_REVOKE_REQUIRED_SCOPES", + "description": "Required scopes cannot be revoked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_REVOKE_UNDECLARED_SCOPES", + "description": "Cannot revoke optional scopes that haven't been declared.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_SOURCE_APP", + "description": "No app found on the access token.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN_SCOPES", + "description": "The requested list of scopes to revoke includes invalid handles.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppRevokeAccessScopesPayload", + "description": "Return type for `appRevokeAccessScopes` mutation.", + "fields": [ + { + "name": "revoked", + "description": "The list of scope handles that have been revoked.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessScope", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppRevokeAccessScopesAppRevokeScopeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscription", + "description": "Provides users access to services and/or features for a duration of time.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the app subscription was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentPeriodEnd", + "description": "The date and time when the current app subscription period ends. Returns `null` if the subscription isn't active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "The plans attached to the app subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscriptionLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the app subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnUrl", + "description": "The URL that the merchant is redirected to after approving the app subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the app subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppSubscriptionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Specifies whether the app subscription is a test transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trialDays", + "description": "The number of free trial days, starting at the subscription's creation date, by which billing is delayed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionCancelPayload", + "description": "Return type for `appSubscriptionCancel` mutation.", + "fields": [ + { + "name": "appSubscription", + "description": "The cancelled app subscription.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionConnection", + "description": "An auto-generated type for paginating through multiple AppSubscriptions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscriptionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AppSubscriptionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionCreatePayload", + "description": "Return type for `appSubscriptionCreate` mutation.", + "fields": [ + { + "name": "appSubscription", + "description": "The newly-created app subscription.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmationUrl", + "description": "The URL pointing to the page where the merchant approves or declines the charges for an app subscription.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionDiscount", + "description": "Discount applied to the recurring pricing portion of a subscription.", + "fields": [ + { + "name": "durationLimitInIntervals", + "description": "The total number of billing intervals to which the discount will be applied.\nThe discount will be applied to an indefinite number of billing intervals if this value is blank.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceAfterDiscount", + "description": "The price of the subscription after the discount is applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingDurationInIntervals", + "description": "The remaining number of billing intervals to which the discount will be applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount applied every billing interval.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "AppSubscriptionDiscountValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionDiscountAmount", + "description": "The fixed amount value of a discount.", + "fields": [ + { + "name": "amount", + "description": "The fixed amount value of a discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AppSubscriptionDiscountInput", + "description": "The input fields to specify a discount to the recurring pricing portion of a subscription over a number of billing intervals.", + "fields": null, + "inputFields": [ + { + "name": "durationLimitInIntervals", + "description": "The total number of billing intervals to which the discount will be applied. Must be greater than 0.\nThe discount will be applied to an indefinite number of billing intervals if this value is left blank.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value to be discounted every billing interval.", + "type": { + "kind": "INPUT_OBJECT", + "name": "AppSubscriptionDiscountValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionDiscountPercentage", + "description": "The percentage value of a discount.", + "fields": [ + { + "name": "percentage", + "description": "The percentage value of a discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "AppSubscriptionDiscountValue", + "description": "The value of the discount.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AppSubscriptionDiscountAmount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionDiscountPercentage", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "AppSubscriptionDiscountValueInput", + "description": "The input fields to specify the value discounted every billing interval.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The monetary value of a discount.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The percentage value of a discount.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionEdge", + "description": "An auto-generated type which holds one AppSubscription and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AppSubscriptionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionLineItem", + "description": "The plan attached to an app subscription.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "plan", + "description": "The pricing model for the app subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppPlanV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageRecords", + "description": "A list of the store's usage records for a usage pricing plan.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AppUsageRecordSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppUsageRecordConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AppSubscriptionLineItemInput", + "description": "The input fields to add more than one pricing plan to an app subscription.", + "fields": null, + "inputFields": [ + { + "name": "plan", + "description": "The pricing model for the app subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AppPlanInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionLineItemUpdatePayload", + "description": "Return type for `appSubscriptionLineItemUpdate` mutation.", + "fields": [ + { + "name": "appSubscription", + "description": "The updated app subscription.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmationUrl", + "description": "The URL where the merchant approves or declines the updated app subscription line item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppSubscriptionReplacementBehavior", + "description": "The replacement behavior when creating an app subscription for a merchant with an already existing app subscription.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPLY_IMMEDIATELY", + "description": "Cancels the merchant's current app subscription immediately and replaces it with the newly created app subscription.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPLY_ON_NEXT_BILLING_CYCLE", + "description": "Defers canceling the merchant's current app subscription and applying the newly created app subscription until the start of the next billing cycle. This value is ignored if the new app subscription is using a different currency than the current app subscription, in which case the new app subscription is applied immediately.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STANDARD", + "description": "Cancels the merchant's current app subscription immediately and replaces it with the newly created app subscription, with the exception of\nthe following scenarios where replacing the current app subscription will be deferred until the start of the next billing cycle.\n1) The current app subscription is annual and the newly created app subscription is annual, using the same currency, but is of a lesser value.\n2) The current app subscription is annual and the newly created app subscription is monthly and using the same currency.\n3) The current app subscription and the newly created app subscription are identical except for the `discount` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppSubscriptionSortKeys", + "description": "The set of valid sort keys for the AppSubscription query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppSubscriptionStatus", + "description": "The status of the app subscription.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTED", + "description": "The app subscription has been approved by the merchant and is ready to be activated by the app.", + "isDeprecated": true, + "deprecationReason": "As of API version 2021-01, when a merchant approves an app subscription, the status immediately transitions from `pending` to `active`." + }, + { + "name": "ACTIVE", + "description": "The app subscription has been approved by the merchant. Active app subscriptions are billed to the shop. After payment, partners receive payouts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELLED", + "description": "The app subscription was cancelled by the app. This could be caused by the app being uninstalled, a new app subscription being activated, or a direct cancellation by the app. This is a terminal state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DECLINED", + "description": "The app subscription was declined by the merchant. This is a terminal state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The app subscription wasn't approved by the merchant within two days of being created. This is a terminal state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FROZEN", + "description": "The app subscription is on hold due to non-payment. The subscription re-activates after payments resume.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The app subscription is pending approval by the merchant.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionTrialExtendPayload", + "description": "Return type for `appSubscriptionTrialExtend` mutation.", + "fields": [ + { + "name": "appSubscription", + "description": "The app subscription that had its trial extended.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscriptionTrialExtendUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionTrialExtendUserError", + "description": "An error that occurs during the execution of `AppSubscriptionTrialExtend`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AppSubscriptionTrialExtendUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppSubscriptionTrialExtendUserErrorCode", + "description": "Possible error codes that can be returned by `AppSubscriptionTrialExtendUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SUBSCRIPTION_NOT_ACTIVE", + "description": "The app subscription isn't active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_NOT_FOUND", + "description": "The app subscription wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRIAL_NOT_ACTIVE", + "description": "The trial isn't active.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppTransactionSortKeys", + "description": "The set of valid sort keys for the AppTransaction query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppUsagePricing", + "description": "Defines a usage pricing model for the app subscription.\nThese charges are variable based on how much the merchant uses the app.", + "fields": [ + { + "name": "balanceUsed", + "description": "The total usage records for interval.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cappedAmount", + "description": "The capped amount prevents the merchant from being charged for any usage over that amount during a billing period.\nThis prevents billing from exceeding a maximum threshold over the duration of the billing period.\nFor the merchant to continue using the app after exceeding a capped amount, they would need to agree to a new usage charge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The frequency with which the app usage records are billed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AppPricingInterval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terms", + "description": "The terms and conditions for app usage pricing.\nMust be present in order to create usage charges.\nThe terms are presented to the merchant when they approve an app's usage charges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AppUsagePricingInput", + "description": "The input fields to issue arbitrary charges for app usage associated with a subscription.", + "fields": null, + "inputFields": [ + { + "name": "cappedAmount", + "description": "The maximum amount of usage charges that can be incurred within a subscription billing interval.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "terms", + "description": "The terms and conditions for app usage. These terms stipulate the pricing model for the charges that an app creates.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppUsageRecord", + "description": "Store usage for app subscriptions with usage pricing.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the usage record was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the app usage record.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "idempotencyKey", + "description": "A unique key generated by the client to avoid duplicate charges.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the usage record.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionLineItem", + "description": "Defines the usage pricing plan the merchant is subscribed to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppSubscriptionLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppUsageRecordConnection", + "description": "An auto-generated type for paginating through multiple AppUsageRecords.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppUsageRecordEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in AppUsageRecordEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppUsageRecord", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppUsageRecordCreatePayload", + "description": "Return type for `appUsageRecordCreate` mutation.", + "fields": [ + { + "name": "appUsageRecord", + "description": "The newly created app usage record.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppUsageRecord", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppUsageRecordEdge", + "description": "An auto-generated type which holds one AppUsageRecord and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of AppUsageRecordEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppUsageRecord", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AppUsageRecordSortKeys", + "description": "The set of valid sort keys for the AppUsageRecord query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AppleApplication", + "description": "The Apple mobile platform application.", + "fields": [ + { + "name": "appClipApplicationId", + "description": "The iOS App Clip application ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appClipsEnabled", + "description": "Whether iOS App Clips are enabled for this app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appId", + "description": "The iOS App ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedWebCredentialsEnabled", + "description": "Whether iOS shared web credentials are enabled for this app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "universalLinksEnabled", + "description": "Whether iOS Universal Links are supported by this app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Article", + "description": "An article in the blogging system.", + "fields": [ + { + "name": "author", + "description": "The name of the author of the article.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ArticleAuthor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blog", + "description": "The blog containing the article.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "The text of the article's body, complete with HTML markup.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comments", + "description": "List of the article's comments.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| published_status | string | Filter by published status | - `any`
- `published`
- `unpublished` | | - `published_status:any`
- `published_status:published`
- `published_status:unpublished` |\n| status | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentsCount", + "description": "Count of comments.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| published_status | string | Filter by published status | - `any`
- `published`
- `unpublished` | | - `published_status:any`
- `published_status:published`
- `published_status:unpublished` |\n| status | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time (ISO 8601 format) when the article was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the article that's automatically generated from the article's title.\nThe handle is used in the article's URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the article.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether or not the article is visible.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "publishedAt", + "description": "The date and time (ISO 8601 format) when the article became or will become visible.\nReturns null when the article isn't visible.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A summary of the article, which can include HTML markup.\nThe summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma-separated list of tags.\nTags are additional short descriptors formatted as a string of comma-separated values.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The name of the template an article is using if it's using an alternate template.\nIf an article is using the default `article.liquid` template, then the value returned is `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the article.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time (ISO 8601 format) when the article was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleAuthor", + "description": "Represents an article author in an Article.", + "fields": [ + { + "name": "name", + "description": "The author's full name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ArticleBlogInput", + "description": "The input fields of a blog when an article is created or updated.", + "fields": null, + "inputFields": [ + { + "name": "title", + "description": "The title of the blog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleConnection", + "description": "An auto-generated type for paginating through multiple Articles.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ArticleEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ArticleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Article", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ArticleCreateInput", + "description": "The input fields to create an article.", + "fields": null, + "inputFields": [ + { + "name": "author", + "description": "The name of the author of the article.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AuthorInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blogId", + "description": "The ID of the blog containing the article.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "The text of the article's body, complete with HTML markup.", + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the article that's automatically generated from the article's title.\nThe handle is used in the article's URL.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the article.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ArticleImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether or not the article should be visible.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The input fields to create or update a metafield.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date and time (ISO 8601 format) when the article should become visible.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A summary of the article, which can include HTML markup.\nThe summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.", + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma-separated list of tags.\nTags are additional short descriptors formatted as a string of comma-separated values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The suffix of the template that's used to render the page.\nIf the value is an empty string or `null`, then the default article template is used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the article.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleCreatePayload", + "description": "Return type for `articleCreate` mutation.", + "fields": [ + { + "name": "article", + "description": "The article that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ArticleCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleCreateUserError", + "description": "An error that occurs during the execution of `ArticleCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ArticleCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ArticleCreateUserErrorCode", + "description": "Possible error codes that can be returned by `ArticleCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AMBIGUOUS_AUTHOR", + "description": "Can't create an article author if both author name and user ID are supplied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMBIGUOUS_BLOG", + "description": "Can't create a blog from input if a blog ID is supplied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHOR_FIELD_REQUIRED", + "description": "Can't create an article if both author name and user ID are blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHOR_MUST_EXIST", + "description": "User must exist if a user ID is supplied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOG_REFERENCE_REQUIRED", + "description": "Must reference or create a blog when creating an article.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_PUBLISH_DATE", + "description": "Can’t set isPublished to true and also set a future publish date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The metafield type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or for the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPLOAD_FAILED", + "description": "Image upload failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleDeletePayload", + "description": "Return type for `articleDelete` mutation.", + "fields": [ + { + "name": "deletedArticleId", + "description": "The ID of the deleted article.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ArticleDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleDeleteUserError", + "description": "An error that occurs during the execution of `ArticleDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ArticleDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ArticleDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `ArticleDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleEdge", + "description": "An auto-generated type which holds one Article and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ArticleEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Article", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ArticleImageInput", + "description": "The input fields for an image associated with an article.", + "fields": null, + "inputFields": [ + { + "name": "altText", + "description": "A word or phrase to share the nature or contents of an image.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL of the image.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ArticleSortKeys", + "description": "The set of valid sort keys for the Article query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTHOR", + "description": "Sort by the `author` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOG_TITLE", + "description": "Sort by the `blog_title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_AT", + "description": "Sort by the `published_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ArticleTagSort", + "description": "Possible sort of tags.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALPHABETICAL", + "description": "Sort alphabetically..", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POPULAR", + "description": "Sort by popularity, starting with the most popular tag.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ArticleUpdateInput", + "description": "The input fields to update an article.", + "fields": null, + "inputFields": [ + { + "name": "author", + "description": "The name of the author of the article.", + "type": { + "kind": "INPUT_OBJECT", + "name": "AuthorInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blogId", + "description": "The ID of the blog containing the article.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "The text of the article's body, complete with HTML markup.", + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the article that's automatically generated from the article's title.\nThe handle is used in the article's URL.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the article.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ArticleImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether or not the article should be visible.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The input fields to create or update a metafield.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date and time (ISO 8601 format) when the article should become visible.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Whether a redirect is required after a new handle has been provided.\nIf `true`, then the old handle is redirected to the new one automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A summary of the article, which can include HTML markup.\nThe summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page.", + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma-separated list of tags.\nTags are additional short descriptors formatted as a string of comma-separated values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The suffix of the template that's used to render the page.\nIf the value is an empty string or `null`, then the default article template is used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the article.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleUpdatePayload", + "description": "Return type for `articleUpdate` mutation.", + "fields": [ + { + "name": "article", + "description": "The article that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ArticleUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ArticleUpdateUserError", + "description": "An error that occurs during the execution of `ArticleUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ArticleUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ArticleUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `ArticleUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AMBIGUOUS_AUTHOR", + "description": "Can't update an article author if both author name and user ID are supplied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMBIGUOUS_BLOG", + "description": "Can't create a blog from input if a blog ID is supplied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHOR_MUST_EXIST", + "description": "User must exist if a user ID is supplied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_PUBLISH_DATE", + "description": "Can’t set isPublished to true and also set a future publish date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPLOAD_FAILED", + "description": "Image upload failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Attribute", + "description": "Represents a generic custom attribute, such as whether an order is a customer's first.", + "fields": [ + { + "name": "key", + "description": "The key or name of the attribute. For example, `\"customersFirstOrder\"`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the attribute. For example, `\"true\"`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AttributeInput", + "description": "The input fields for an attribute.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "Key or name of the attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AuthorInput", + "description": "The input fields for an author. Either the `name` or `user_id` fields can be supplied, but never both.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "The author's full name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userId", + "description": "The ID of a staff member's account.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AutomaticDiscountApplication", + "description": "Automatic discount applications capture the intentions of a discount that was automatically applied.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is applied to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "index", + "description": "An ordered index that can be used to identify the discount application and indicate the precedence\nof the discount application for calculations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "AutomaticDiscountSortKeys", + "description": "The set of valid sort keys for the AutomaticDiscount query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AvailableChannelDefinitionsByChannel", + "description": "Represents an object containing all information for channels available to a shop.", + "fields": [ + { + "name": "channelDefinitions", + "description": "The channel definitions for channels installed on a shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChannelDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelName", + "description": "The name of the channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BadgeType", + "description": "The possible types for a badge.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ATTENTION", + "description": "This badge has type `attention`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEFAULT", + "description": "This badge has type `default`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INFO", + "description": "This badge has type `info`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "This badge has type `success`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARNING", + "description": "This badge has type `warning`.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BalanceTransactionSortKeys", + "description": "The set of valid sort keys for the BalanceTransaction query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AMOUNT", + "description": "Sort by the `amount` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FEE", + "description": "Sort by the `fee` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NET", + "description": "Sort by the `net` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_NAME", + "description": "Sort by the `order_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_METHOD_NAME", + "description": "Sort by the `payment_method_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYOUT_DATE", + "description": "Sort by the `payout_date` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYOUT_STATUS", + "description": "Sort by the `payout_status` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSED_AT", + "description": "Sort by the `processed_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSACTION_TYPE", + "description": "Sort by the `transaction_type` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "BasePaymentDetails", + "description": "Generic payment details that are related to a transaction.", + "fields": [ + { + "name": "paymentMethodName", + "description": "The name of payment method used by the buyer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CardPaymentDetails", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocalPaymentMethodsPaymentDetails", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopPayInstallmentsPaymentDetails", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "BasicEvent", + "description": "Basic events chronicle resource activities such as the creation of an article, the fulfillment of an order, or\nthe addition of a product.\n\n### General events\n\n| Action | Description |\n|---|---|\n| `create` | The item was created. |\n| `destroy` | The item was destroyed. |\n| `published` | The item was published. |\n| `unpublished` | The item was unpublished. |\n| `update` | The item was updated. |\n\n### Order events\n\nOrder events can be divided into the following categories:\n\n- *Authorization*: Includes whether the authorization succeeded, failed, or is pending.\n- *Capture*: Includes whether the capture succeeded, failed, or is pending.\n- *Email*: Includes confirmation or cancellation of the order, as well as shipping.\n- *Fulfillment*: Includes whether the fulfillment succeeded, failed, or is pending. Also includes cancellation, restocking, and fulfillment updates.\n- *Order*: Includess the placement, confirmation, closing, re-opening, and cancellation of the order.\n- *Refund*: Includes whether the refund succeeded, failed, or is pending.\n- *Sale*: Includes whether the sale succeeded, failed, or is pending.\n- *Void*: Includes whether the void succeeded, failed, or is pending.\n\n| Action | Message | Description |\n|---|---|---|\n| `authorization_failure` | The customer, unsuccessfully, tried to authorize: `{money_amount}`. | Authorization failed. The funds cannot be captured. |\n| `authorization_pending` | Authorization for `{money_amount}` is pending. | Authorization pending. |\n| `authorization_success` | The customer successfully authorized us to capture: `{money_amount}`. | Authorization was successful and the funds are available for capture. |\n| `cancelled` | Order was cancelled by `{shop_staff_name}`. | The order was cancelled. |\n| `capture_failure` | We failed to capture: `{money_amount}`. | The capture failed. The funds cannot be transferred to the shop. |\n| `capture_pending` | Capture for `{money_amount}` is pending. | The capture is in process. The funds are not yet available to the shop. |\n| `capture_success` | We successfully captured: `{money_amount}` | The capture was successful and the funds are now available to the shop. |\n| `closed` | Order was closed. | The order was closed. |\n| `confirmed` | Received a new order: `{order_number}` by `{customer_name}`. | The order was confirmed. |\n| `fulfillment_cancelled` | We cancelled `{number_of_line_items}` from being fulfilled by the third party fulfillment service. | Fulfillment for one or more of the line_items failed. |\n| `fulfillment_pending` | We submitted `{number_of_line_items}` to the third party service. | One or more of the line_items has been assigned to a third party service for fulfillment. |\n| `fulfillment_success` | We successfully fulfilled line_items. | Fulfillment was successful for one or more line_items. |\n| `mail_sent` | `{message_type}` email was sent to the customer. | An email was sent to the customer. |\n| `placed` | Order was placed. | An order was placed by the customer. |\n| `re_opened` | Order was re-opened. | An order was re-opened. |\n| `refund_failure` | We failed to refund `{money_amount}`. | The refund failed. The funds are still with the shop. |\n| `refund_pending` | Refund of `{money_amount}` is still pending. | The refund is in process. The funds are still with shop. |\n| `refund_success` | We successfully refunded `{money_amount}`. | The refund was successful. The funds have been transferred to the customer. |\n| `restock_line_items` | We restocked `{number_of_line_items}`. |\tOne or more of the order's line items have been restocked. |\n| `sale_failure` | The customer failed to pay `{money_amount}`. | The sale failed. The funds are not available to the shop. |\n| `sale_pending` | The `{money_amount}` is pending. | The sale is in process. The funds are not yet available to the shop. |\n| `sale_success` | We successfully captured `{money_amount}`. | The sale was successful. The funds are now with the shop. |\n| `update` | `{order_number}` was updated. | The order was updated. |\n| `void_failure` | We failed to void the authorization. | Voiding the authorization failed. The authorization is still valid. |\n| `void_pending` | Authorization void is pending. | Voiding the authorization is in process. The authorization is still valid. |\n| `void_success` | We successfully voided the authorization. | Voiding the authorization was successful. The authorization is no longer valid. |", + "fields": [ + { + "name": "action", + "description": "The action that occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "additionalContent", + "description": "Provides additional content for collapsible timeline events.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "additionalData", + "description": "Provides additional data for event consumers.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appTitle", + "description": "The name of the app that created the event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "arguments", + "description": "Refers to a certain event and its resources.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributeToApp", + "description": "Whether the event was created by an app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributeToUser", + "description": "Whether the event was caused by an admin user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the event was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "criticalAlert", + "description": "Whether the event is critical.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasAdditionalContent", + "description": "Whether this event has additional content.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Human readable text that describes the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondaryMessage", + "description": "Human readable text that supports the event message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": "The resource that generated the event. To see a list of possible types,\nrefer to [HasEvents](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasEvents#implemented-in).", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectId", + "description": "The ID of the resource that generated the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectType", + "description": "The type of the resource that generated the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "EventSubjectType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "BigInt", + "description": "Represents non-fractional signed whole numeric values. Since the value may exceed the size of a 32-bit integer, it's encoded as a string.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BillingAttemptUserError", + "description": "Represents an error that happens during the execution of a billing attempt mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BillingAttemptUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BillingAttemptUserErrorCode", + "description": "Possible error codes that can be returned by `BillingAttemptUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BILLING_CYCLE_CHARGE_BEFORE_EXPECTED_DATE", + "description": "Billing cycle charge attempt made more than 24 hours before the billing cycle `billingAttemptExpectedDate`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_CYCLE_SKIPPED", + "description": "Billing cycle must not be skipped.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTRACT_NOT_FOUND", + "description": "Subscription contract does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTRACT_PAUSED", + "description": "Subscription contract cannot be billed if paused.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTRACT_TERMINATED", + "description": "Subscription contract cannot be billed once terminated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTRACT_UNDER_REVIEW", + "description": "Subscription contract is under review.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_INDEX_OUT_OF_RANGE", + "description": "Billing cycle selector cannot select billing cycle outside of index range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_START_DATE_OUT_OF_RANGE", + "description": "Billing cycle selector cannot select billing cycle outside of start date range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORIGIN_TIME_BEFORE_CONTRACT_CREATION", + "description": "Origin time cannot be before the contract creation time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORIGIN_TIME_OUT_OF_RANGE", + "description": "Origin time needs to be within the selected billing cycle's start and end at date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPCOMING_CYCLE_LIMIT_EXCEEDED", + "description": "Billing cycle selector cannot select upcoming billing cycle past limit.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Blog", + "description": "Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant\nto be used as a type of magazine or newsletter for the shop, with content that changes over time.", + "fields": [ + { + "name": "articles", + "description": "List of the blog's articles.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ArticleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "articlesCount", + "description": "Count of articles.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentPolicy", + "description": "Indicates whether readers can post comments to the blog and if comments are moderated or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CommentPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the blog was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "feed", + "description": "FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BlogFeed", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title.\nThe handle is customizable and is used by the Liquid templating language to refer to the blog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "tags", + "description": "A list of tags associated with the 200 most recent blog articles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The name of the template a blog is using if it's using an alternate template.\nReturns `null` if a blog is using the default blog.liquid template.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the blog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the blog was update.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogConnection", + "description": "An auto-generated type for paginating through multiple Blogs.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlogEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in BlogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BlogCreateInput", + "description": "The input fields to create a blog.", + "fields": null, + "inputFields": [ + { + "name": "commentPolicy", + "description": "Indicates whether readers can post comments to the blog and whether comments are moderated.", + "type": { + "kind": "ENUM", + "name": "CommentPolicy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title.\nThe handle is customizable and is used by the Liquid templating language to refer to the blog.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Attaches additional metadata to a store's resources.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The name of the template a blog is using if it's using an alternate template.\nReturns `null` if a blog is using the default blog.liquid template.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the blog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogCreatePayload", + "description": "Return type for `blogCreate` mutation.", + "fields": [ + { + "name": "blog", + "description": "The blog that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlogCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogCreateUserError", + "description": "An error that occurs during the execution of `BlogCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BlogCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BlogCreateUserErrorCode", + "description": "Possible error codes that can be returned by `BlogCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The metafield type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or for the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogDeletePayload", + "description": "Return type for `blogDelete` mutation.", + "fields": [ + { + "name": "deletedBlogId", + "description": "The ID of the deleted blog.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlogDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogDeleteUserError", + "description": "An error that occurs during the execution of `BlogDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BlogDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BlogDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `BlogDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogEdge", + "description": "An auto-generated type which holds one Blog and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of BlogEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogFeed", + "description": "FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service.", + "fields": [ + { + "name": "location", + "description": "Blog feed provider url.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "Blog feed provider path.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BlogSortKeys", + "description": "The set of valid sort keys for the Blog query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HANDLE", + "description": "Sort by the `handle` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BlogUpdateInput", + "description": "The input fields to update a blog.", + "fields": null, + "inputFields": [ + { + "name": "commentPolicy", + "description": "Indicates whether readers can post comments to the blog and whether comments are moderated.", + "type": { + "kind": "ENUM", + "name": "CommentPolicy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title.\nThe handle is customizable and is used by the Liquid templating language to refer to the blog.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Attaches additional metadata to a store's resources.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectArticles", + "description": "Whether to redirect blog posts automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Whether a redirect is required after a new handle has been provided.\nIf `true`, then the old handle is redirected to the new one automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The name of the template a blog is using if it's using an alternate template.\nReturns `null` if a blog is using the default blog.liquid template.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the blog.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogUpdatePayload", + "description": "Return type for `blogUpdate` mutation.", + "fields": [ + { + "name": "blog", + "description": "The blog that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlogUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BlogUpdateUserError", + "description": "An error that occurs during the execution of `BlogUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BlogUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BlogUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `BlogUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Boolean", + "description": "The `Boolean` scalar type represents `true` or `false`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BulkMutationErrorCode", + "description": "Possible error codes that can be returned by `BulkMutationUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INTERNAL_FILE_SERVER_ERROR", + "description": "There was a problem reading the JSONL file. This error might be intermittent, so you can try performing the same query again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_MUTATION", + "description": "The operation did not run because the mutation is invalid. Check your mutation syntax and try again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_STAGED_UPLOAD_FILE", + "description": "The JSONL file submitted via the `stagedUploadsCreate` mutation is invalid. Update the file and try again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_SUCH_FILE", + "description": "The JSONL file could not be found. Try [uploading the file](https://shopify.dev/api/usage/bulk-operations/imports#generate-the-uploaded-url-and-parameters) again, and check that you've entered the URL correctly for the `stagedUploadPath` mutation argument.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPERATION_IN_PROGRESS", + "description": "The operation did not run because another bulk mutation is already running. [Wait for the operation to finish](https://shopify.dev/api/usage/bulk-operations/imports#wait-for-the-operation-to-finish) before retrying this operation.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkMutationUserError", + "description": "Represents an error that happens during execution of a bulk mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BulkMutationErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkOperation", + "description": "An asynchronous long-running operation to fetch data in bulk or to bulk import data.\n\nBulk operations are created using the `bulkOperationRunQuery` or `bulkOperationRunMutation` mutation. After\nthey are created, clients should poll the `status` field for updates. When `COMPLETED`, the `url` field contains\na link to the data in [JSONL](http://jsonlines.org/) format.\n\nRefer to the [bulk operations guide](https://shopify.dev/api/usage/bulk-operations/imports) for more details.", + "fields": [ + { + "name": "completedAt", + "description": "When the bulk operation was successfully completed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "When the bulk operation was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorCode", + "description": "Error code for failed operations.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BulkOperationErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileSize", + "description": "File size in bytes of the file in the `url` field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "objectCount", + "description": "A running count of all the objects processed.\nFor example, when fetching all the products and their variants, this field counts both products and variants.\nThis field can be used to track operation progress.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "partialDataUrl", + "description": "The URL that points to the partial or incomplete response data (in [JSONL](http://jsonlines.org/) format) that was returned by a failed operation.\nThe URL expires 7 days after the operation fails. Returns `null` when there's no data available.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "GraphQL query document specified in `bulkOperationRunQuery`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootObjectCount", + "description": "A running count of all the objects that are processed at the root of the query.\nFor example, when fetching all the products and their variants, this field only counts products.\nThis field can be used to track operation progress.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Status of the bulk operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "BulkOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The bulk operation's type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "BulkOperationType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL that points to the response data in [JSONL](http://jsonlines.org/) format.\nThe URL expires 7 days after the operation completes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkOperationCancelPayload", + "description": "Return type for `bulkOperationCancel` mutation.", + "fields": [ + { + "name": "bulkOperation", + "description": "The bulk operation to be canceled.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BulkOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BulkOperationErrorCode", + "description": "Error codes for failed bulk operations.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCESS_DENIED", + "description": "The provided operation `query` returned access denied due to missing\n[access scopes](https://shopify.dev/api/usage/access-scopes).\nReview the requested object permissions and execute the query as a normal non-bulk GraphQL request to see more details.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_SERVER_ERROR", + "description": "The operation resulted in partial or incomplete data due to internal server errors during execution.\nThese errors might be intermittent, so you can try performing the same query again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIMEOUT", + "description": "The operation resulted in partial or incomplete data due to query timeouts during execution.\nIn some cases, timeouts can be avoided by modifying your `query` to select fewer fields.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkOperationRunMutationPayload", + "description": "Return type for `bulkOperationRunMutation` mutation.", + "fields": [ + { + "name": "bulkOperation", + "description": "The newly created bulk operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BulkOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BulkMutationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkOperationRunQueryPayload", + "description": "Return type for `bulkOperationRunQuery` mutation.", + "fields": [ + { + "name": "bulkOperation", + "description": "The newly created bulk operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BulkOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BulkOperationStatus", + "description": "The valid values for the status of a bulk operation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELED", + "description": "The bulk operation has been canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELING", + "description": "Cancelation has been initiated on the bulk operation. There may be a short delay from when a cancelation\nstarts until the operation is actually canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLETED", + "description": "The bulk operation has successfully completed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED", + "description": "The bulk operation has been created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The bulk operation URL has expired.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "The bulk operation has failed. For information on why the operation failed, use\n[BulkOperation.errorCode](https://shopify.dev/api/admin-graphql/latest/enums/bulkoperationerrorcode).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUNNING", + "description": "The bulk operation is runnning.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BulkOperationType", + "description": "The valid values for the bulk operation's type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MUTATION", + "description": "The bulk operation is a mutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUERY", + "description": "The bulk operation is a query.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkProductResourceFeedbackCreatePayload", + "description": "Return type for `bulkProductResourceFeedbackCreate` mutation.", + "fields": [ + { + "name": "feedback", + "description": "The feedback that's created.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductResourceFeedback", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BulkProductResourceFeedbackCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BulkProductResourceFeedbackCreateUserError", + "description": "An error that occurs during the execution of `BulkProductResourceFeedbackCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BulkProductResourceFeedbackCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BulkProductResourceFeedbackCreateUserErrorCode", + "description": "Possible error codes that can be returned by `BulkProductResourceFeedbackCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The input value should be less than or equal to the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_FEEDBACK_LIMIT_EXCEEDED", + "description": "The operation was attempted on too many feedback objects. The maximum number of feedback objects that you can operate on is 50.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OUTDATED_FEEDBACK", + "description": "The feedback for a later version of this resource was already accepted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_NOT_FOUND", + "description": "The product wasn't found or isn't available to the channel.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BundlesDraftOrderBundleLineItemComponentInput", + "description": "The input fields representing the components of a bundle line item.", + "fields": null, + "inputFields": [ + { + "name": "quantity", + "description": "The quantity of the bundle component.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "The UUID of the bundle component. Must be unique and consistent across requests.\nThis field is mandatory in order to manipulate drafts with bundles.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The ID of the product variant corresponding to the bundle component.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BundlesFeature", + "description": "Represents the Bundles feature configuration for the shop.", + "fields": [ + { + "name": "eligibleForBundles", + "description": "Whether a shop is configured properly to sell bundles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ineligibilityReason", + "description": "The reason why a shop is not eligible for bundles.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellsBundles", + "description": "Whether a shop has any fixed bundle products or has a cartTransform function installed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "BusinessCustomerErrorCode", + "description": "Possible error codes that can be returned by `BusinessCustomerUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_DELETE", + "description": "Deleting the resource failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT", + "description": "The input is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIMIT_REACHED", + "description": "The number of resources exceeded the limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_INPUT", + "description": "The input is empty.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRED", + "description": "Missing a required field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOURCE_NOT_FOUND", + "description": "The resource wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The field value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNEXPECTED_TYPE", + "description": "Unexpected type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "description": "An error that happens during the execution of a business customer mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BusinessCustomerErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BusinessEntity", + "description": "Represents a merchant's Business Entity.", + "fields": [ + { + "name": "address", + "description": "The address of the merchant's Business Entity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessEntityAddress", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyName", + "description": "The name of the company associated with the merchant's Business Entity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "The display name of the merchant's Business Entity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primary", + "description": "Whether it's the merchant's primary Business Entity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyPaymentsAccount", + "description": "Shopify Payments account information, including balances and payouts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsAccount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BusinessEntityAddress", + "description": "Represents the address of a merchant's Business Entity.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The country code of the merchant's Business Entity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The region of the address, such as the province, state, or district.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BuyerExperienceConfiguration", + "description": "Settings describing the behavior of checkout for a B2B buyer.", + "fields": [ + { + "name": "checkoutToDraft", + "description": "Whether to checkout to draft order for merchant review.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deposit", + "description": "The portion required to be paid at checkout.", + "args": [], + "type": { + "kind": "UNION", + "name": "DepositConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableShippingAddress", + "description": "Whether to allow customers to use editable shipping addresses.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payNowOnly", + "description": "Whether a buyer must pay at checkout or they can also choose to pay\nlater using net terms.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Please use `checkoutToDraft`(must be false) and `paymentTermsTemplate`(must be nil) to derive this instead." + }, + { + "name": "paymentTermsTemplate", + "description": "Represents the merchant configured payment terms.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PaymentTermsTemplate", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BuyerExperienceConfigurationInput", + "description": "The input fields specifying the behavior of checkout for a B2B buyer.", + "fields": null, + "inputFields": [ + { + "name": "checkoutToDraft", + "description": "Whether to checkout to draft order for merchant review.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deposit", + "description": "The input fields configuring the deposit a B2B buyer.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DepositInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableShippingAddress", + "description": "Whether to allow customers to edit their shipping address at checkout.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsTemplateId", + "description": "Represents the merchant configured payment terms.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CalculateExchangeLineItemInput", + "description": "The input fields for exchange line items on a calculated return.", + "fields": null, + "inputFields": [ + { + "name": "appliedDiscount", + "description": "The discount to be applied to the exchange line item.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ExchangeLineItemAppliedDiscountInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the item to be added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The ID of the product variant to be added to the order as part of an exchange.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CalculateReturnInput", + "description": "The input fields to calculate return amounts associated with an order.", + "fields": null, + "inputFields": [ + { + "name": "exchangeLineItems", + "description": "The exchange line items to add to the order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CalculateExchangeLineItemInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "The ID of the order that will be returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItems", + "description": "The line items from the order to include in the return.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CalculateReturnLineItemInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnShippingFee", + "description": "The return shipping fee associated with the return.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReturnShippingFeeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CalculateReturnLineItemInput", + "description": "The input fields for return line items on a calculated return.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentLineItemId", + "description": "The ID of the fulfillment line item to be returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the item to be returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockingFee", + "description": "The restocking fee for the return line item.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RestockingFeeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedAutomaticDiscountApplication", + "description": "A discount that is automatically applied to an order that is being edited.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is allocated to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedTo", + "description": "The level at which the discount was applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of discount application. Indicates the reason why the discount was applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedDiscountAllocation", + "description": "An amount discounting the line that has been allocated by an associated discount application.", + "fields": [ + { + "name": "allocatedAmountSet", + "description": "The money amount that's allocated by the discount application in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountApplication", + "description": "The discount that the allocated amount originated from.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "description": "A [discount application](https://shopify.dev/api/admin-graphql/latest/interfaces/discountapplication) involved in order editing that might be newly added or have new changes applied.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is allocated to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedTo", + "description": "The level at which the discount was applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of discount application. Indicates the reason why the discount was applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CalculatedAutomaticDiscountApplication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CalculatedDiscountCodeApplication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CalculatedManualDiscountApplication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CalculatedScriptDiscountApplication", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CalculatedDiscountApplicationConnection", + "description": "An auto-generated type for paginating through multiple CalculatedDiscountApplications.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedDiscountApplicationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CalculatedDiscountApplicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedDiscountApplicationEdge", + "description": "An auto-generated type which holds one CalculatedDiscountApplication and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CalculatedDiscountApplicationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedDiscountCodeApplication", + "description": "A discount code that is applied to an order that is being edited.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is allocated to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedTo", + "description": "The level at which the discount was applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The string identifying the discount code that was used at the time of application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of discount application. Indicates the reason why the discount was applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedDraftOrder", + "description": "The calculated fields for a draft order.", + "fields": [ + { + "name": "acceptAutomaticDiscounts", + "description": "Whether or not to accept automatic discounts on the draft order during calculation.\nIf false, only discount codes and custom draft order discounts (see `appliedDiscount`) will be applied.\nIf true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alerts", + "description": "The list of alerts raised while calculating.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourceAlert", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedDiscount", + "description": "The custom order-level discount applied.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrderAppliedDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableShippingRates", + "description": "The available shipping rates.\nRequires a customer with a valid shipping address and at least one line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingRate", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddressMatchesShippingAddress", + "description": "Whether the billing address matches the shipping address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The shop currency used for calculation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer who will be sent an invoice.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodes", + "description": "All discount codes applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "The list of the line items in the calculated draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedDraftOrderLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItemsSubtotalPrice", + "description": "A subtotal of the line items and corresponding discounts,\nexcluding include shipping charges, shipping discounts, taxes, or order discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketName", + "description": "The name of the selected market.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketRegionCountryCode", + "description": "The selected country code that determines the pricing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The assigned phone number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "platformDiscounts", + "description": "The list of platform discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderPlatformDiscount", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentCurrencyCode", + "description": "The payment currency used for calculation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purchasingEntity", + "description": "The purchasing entity.", + "args": [], + "type": { + "kind": "UNION", + "name": "PurchasingEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "The line item containing the shipping information and costs.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalPrice", + "description": "The subtotal, in shop currency, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `subtotalPriceSet` instead." + }, + { + "name": "subtotalPriceSet", + "description": "The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "The list of of taxes lines charged for each line item and shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxesIncluded", + "description": "Whether the line item prices include taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountsSet", + "description": "Total discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalLineItemsPriceSet", + "description": "Total price of line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPrice", + "description": "The total price, in shop currency, includes taxes, shipping charges, and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalPriceSet` instead." + }, + { + "name": "totalPriceSet", + "description": "The total price, includes taxes, shipping charges, and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalQuantityOfLineItems", + "description": "The sum of individual line item quantities.\nIf the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalShippingPrice", + "description": "The total shipping price in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalShippingPriceSet` instead." + }, + { + "name": "totalShippingPriceSet", + "description": "The total shipping price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTax", + "description": "The total tax in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalTaxSet` instead." + }, + { + "name": "totalTaxSet", + "description": "The total tax.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transformerFingerprint", + "description": "Fingerprint of the current cart.\nIn order to have bundles work, the fingerprint must be passed to\neach request as it was previously returned, unmodified.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "The list of warnings raised while calculating.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "DraftOrderWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedDraftOrderLineItem", + "description": "The calculated line item for a draft order.", + "fields": [ + { + "name": "appliedDiscount", + "description": "The custom applied discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrderAppliedDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approximateDiscountedUnitPriceSet", + "description": "The `discountedTotal` divided by `quantity`,\nequal to the average value of the line item price per unit after discounts are applied.\nThis value doesn't include discounts applied to the entire draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bundleComponents", + "description": "The bundle components of the draft order line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedDraftOrderLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "custom", + "description": "Whether the line item is custom (`true`) or contains a product variant (`false`).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of attributes that represent custom features or special requests.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributesV2", + "description": "The list of additional information (metafields) with the associated types.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TypedAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedTotal", + "description": "The total price with discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedTotalSet", + "description": "The total price with discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPrice", + "description": "The unit price with discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `approximateDiscountedUnitPriceSet` instead." + }, + { + "name": "discountedUnitPriceSet", + "description": "The unit price with discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `approximateDiscountedUnitPriceSet` instead." + }, + { + "name": "fulfillmentService", + "description": "Name of the service provider who fulfilled the order.\n\nValid values are either **manual** or the name of the provider.\nFor example, **amazon**, **shipwire**.\n\nDeleted fulfillment services will return null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the draft order line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isGiftCard", + "description": "Whether the line item represents the purchase of a gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotal", + "description": "The total price, excluding discounts, equal to the original unit price multiplied by quantity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotalSet", + "description": "The total price excluding discounts, equal to the original unit price multiplied by quantity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPrice", + "description": "The line item price without any discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceSet", + "description": "The price without any discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceWithCurrency", + "description": "The original custom line item input price.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product for the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of items. For a bundle item, this is the quantity of bundles,\nnot the quantity of items contained in the bundles themselves.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether physical shipping is required for the variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The SKU number of the product variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the variant is taxable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product or variant. This field only applies to custom line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscount", + "description": "The total value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountSet", + "description": "The total discount amount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "The UUID of the draft order line item. Must be unique and consistent across requests.\nThis field is mandatory in order to manipulate drafts with bundles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant for the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "The name of the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the vendor who created the product variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The weight unit and value.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Weight", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedExchangeLineItem", + "description": "A calculated exchange line item.", + "fields": [ + { + "name": "calculatedDiscountAllocations", + "description": "The discounts that have been allocated onto the line item by discount applications.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedDiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPriceSet", + "description": "The unit price of the exchange line item after discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceSet", + "description": "The original unit price of the exchange line item before discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity being exchanged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalSet", + "description": "The calculated subtotal set of the exchange line item, including discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxSet", + "description": "The total tax of the exchange line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The variant being exchanged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "description": "A line item involved in order editing that may be newly added or have new changes applied.", + "fields": [ + { + "name": "calculatedDiscountAllocations", + "description": "The discounts that have been allocated onto the line item by discount applications.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedDiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of attributes that represent custom features or special requests.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAllocations", + "description": "The discounts that have been allocated onto the line item by discount applications.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `calculatedDiscountAllocations` instead." + }, + { + "name": "discountedUnitPriceSet", + "description": "The price of a single quantity of the line item with line item discounts applied, in shop and presentment currencies. Discounts applied to the entire order aren't included in this price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableQuantity", + "description": "The total number of items that can be edited.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableQuantityBeforeChanges", + "description": "The editable quantity prior to any changes made in the current edit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableSubtotalSet", + "description": "The total price of editable lines in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasStagedLineItemDiscount", + "description": "Whether the calculated line item has a staged discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image object associated to the line item's variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceSet", + "description": "The variant unit price in shop and presentment currencies, without any discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The total number of items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockable", + "description": "Whether the line item can be restocked or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restocking", + "description": "Whether the changes on the line item will result in a restock.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The variant SKU number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stagedChanges", + "description": "A list of changes that affect this line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "OrderStagedChange", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uneditableSubtotalSet", + "description": "The total price of uneditable lines in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant associated with this line item. The value is null for custom line items and items where\nthe variant has been deleted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "The title of the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedLineItemConnection", + "description": "An auto-generated type for paginating through multiple CalculatedLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CalculatedLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedLineItemEdge", + "description": "An auto-generated type which holds one CalculatedLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CalculatedLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedManualDiscountApplication", + "description": "Represents a discount that was manually created for an order that is being edited.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is allocated to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedTo", + "description": "The level at which the discount was applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of discount application. Indicates the reason why the discount was applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedOrder", + "description": "An order with edits applied but not saved.", + "fields": [ + { + "name": "addedDiscountApplications", + "description": "Returns only the new discount applications being added to the order in the current edit.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedDiscountApplicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "addedLineItems", + "description": "Returns only the new line items being added to the order during the current edit.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartDiscountAmountSet", + "description": "Amount of the order-level discount (doesn't contain any line item discounts) in shop and presentment currencies.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "committed", + "description": "Whether the changes have been applied and saved to the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "Returns all items on the order that existed before starting the edit.\nWill include any changes that have been made.\nWill not include line items added during the current edit.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| editable | boolean |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notificationPreviewHtml", + "description": "The HTML of the customer notification for the order edit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notificationPreviewTitle", + "description": "The customer notification title.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalOrder", + "description": "The order without any changes applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLines", + "description": "Returns the shipping lines on the order that existed before starting the edit.\nWill include any changes that have been made as well as shipping lines added during the current edit.\nReturns only the first 250 shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedShippingLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stagedChanges", + "description": "List of changes made to the order during the current edit.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderStagedChangeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalLineItemsQuantity", + "description": "The sum of the quantities for the line items that contribute to the order's subtotal.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalPriceSet", + "description": "The subtotal of the line items, in shop and presentment currencies, after all the discounts are applied. The subtotal doesn't include shipping. The subtotal includes taxes for taxes-included orders and excludes taxes for taxes-excluded orders.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "Taxes charged for the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalOutstandingSet", + "description": "Total price of the order less the total amount received from the customer in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPriceSet", + "description": "Total amount of the order (includes taxes and discounts) in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedRestockingFee", + "description": "The calculated costs of handling a return line item.\nTypically, this would cover the costs of inspecting, repackaging, and restocking the item.", + "fields": [ + { + "name": "amountSet", + "description": "The calculated amount of the return fee, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The value of the fee as a percentage.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CalculatedReturnFee", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedReturn", + "description": "A calculated return.", + "fields": [ + { + "name": "exchangeLineItems", + "description": "A list of calculated exchange line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedExchangeLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItems", + "description": "A list of calculated return line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CalculatedReturnLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnShippingFee", + "description": "The calulated return shipping fee.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedReturnShippingFee", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CalculatedReturnFee", + "description": "A calculated return fee.", + "fields": [ + { + "name": "amountSet", + "description": "The calculated amount of the return fee, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CalculatedRestockingFee", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CalculatedReturnShippingFee", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CalculatedReturnLineItem", + "description": "A calculated return line item.", + "fields": [ + { + "name": "fulfillmentLineItem", + "description": "The fulfillment line item from which items are returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity being returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockingFee", + "description": "The restocking fee of the return line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedRestockingFee", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalBeforeOrderDiscountsSet", + "description": "The subtotal of the return line item before order discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalSet", + "description": "The subtotal of the return line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxSet", + "description": "The total tax of the return line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedReturnShippingFee", + "description": "The calculated cost of the return shipping.", + "fields": [ + { + "name": "amountSet", + "description": "The calculated amount of the return fee, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CalculatedReturnFee", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedScriptDiscountApplication", + "description": "A discount created by a Shopify script for an order that is being edited.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is allocated to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedTo", + "description": "The level at which the discount was applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of discount application. Indicates the reason why the discount was applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CalculatedDiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CalculatedShippingLine", + "description": "A shipping line item involved in order editing that may be newly added or have new changes applied.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the shipping line when sold and before applying discounts. This field includes taxes if `Order.taxesIncluded` is true. Otherwise, this field doesn't include taxes for the shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stagedStatus", + "description": "The staged status of the shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CalculatedShippingLineStagedStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CalculatedShippingLineStagedStatus", + "description": "Represents the staged status of a CalculatedShippingLine on a CalculatedOrder.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADDED", + "description": "The shipping line was added as part of the current order edit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "The shipping line has no staged changes associated with it.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOVED", + "description": "The shipping line was removed as part of the current order edit.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CardPaymentDetails", + "description": "Card payment details related to a transaction.", + "fields": [ + { + "name": "avsResultCode", + "description": "The response code from the address verification system (AVS). The code is always a single letter.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bin", + "description": "The issuer identification number (IIN), formerly known as bank identification number (BIN) of the customer's credit card. This is made up of the first few digits of the credit card number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "The name of the company that issued the customer's credit card.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cvvResultCode", + "description": "The response code from the credit card company indicating whether the customer entered the card security code, or card verification value, correctly. The code is a single letter or empty string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expirationMonth", + "description": "The month in which the used credit card expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expirationYear", + "description": "The year in which the used credit card expires.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The holder of the credit card.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "number", + "description": "The customer's credit card number, with most of the leading digits redacted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethodName", + "description": "The name of payment method used by the buyer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "wallet", + "description": "Digital wallet used for the payment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DigitalWallet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "BasePaymentDetails", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceCreatePayload", + "description": "Return type for `carrierServiceCreate` mutation.", + "fields": [ + { + "name": "carrierService", + "description": "The created carrier service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CarrierServiceCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceCreateUserError", + "description": "An error that occurs during the execution of `CarrierServiceCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CarrierServiceCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CarrierServiceCreateUserErrorCode", + "description": "Possible error codes that can be returned by `CarrierServiceCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CARRIER_SERVICE_CREATE_FAILED", + "description": "Carrier service creation failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceDeletePayload", + "description": "Return type for `carrierServiceDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted carrier service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CarrierServiceDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceDeleteUserError", + "description": "An error that occurs during the execution of `CarrierServiceDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CarrierServiceDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CarrierServiceDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `CarrierServiceDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CARRIER_SERVICE_DELETE_FAILED", + "description": "Carrier service deletion failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CarrierServiceSortKeys", + "description": "The set of valid sort keys for the CarrierService query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceUpdatePayload", + "description": "Return type for `carrierServiceUpdate` mutation.", + "fields": [ + { + "name": "carrierService", + "description": "The updated carrier service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CarrierServiceUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceUpdateUserError", + "description": "An error that occurs during the execution of `CarrierServiceUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CarrierServiceUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CarrierServiceUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `CarrierServiceUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CARRIER_SERVICE_UPDATE_FAILED", + "description": "Carrier service update failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransform", + "description": "A Cart Transform Function to create [Customized Bundles.](https://shopify.dev/docs/apps/selling-strategies/bundles/add-a-customized-bundle).", + "fields": [ + { + "name": "blockOnFailure", + "description": "Whether a run failure will block cart and checkout operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID for the Cart Transform function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformConnection", + "description": "An auto-generated type for paginating through multiple CartTransforms.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransformEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CartTransformEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransform", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformCreatePayload", + "description": "Return type for `cartTransformCreate` mutation.", + "fields": [ + { + "name": "cartTransform", + "description": "The newly created cart transform function.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CartTransform", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransformCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformCreateUserError", + "description": "An error that occurs during the execution of `CartTransformCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CartTransformCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CartTransformCreateUserErrorCode", + "description": "Possible error codes that can be returned by `CartTransformCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FUNCTION_ALREADY_REGISTERED", + "description": "A cart transform function already exists for the provided function_id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_DOES_NOT_IMPLEMENT", + "description": "Function does not implement the required interface for this cart_transform function.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_NOT_FOUND", + "description": "No Shopify Function found for provided function_id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_INVALID", + "description": "Failed to create cart transform due to invalid input.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_METAFIELDS", + "description": "Could not create or update metafields.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformDeletePayload", + "description": "Return type for `cartTransformDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The globally-unique ID for the deleted cart transform.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransformDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformDeleteUserError", + "description": "An error that occurs during the execution of `CartTransformDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CartTransformDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CartTransformDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `CartTransformDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "Could not find cart transform for provided id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNAUTHORIZED_APP_SCOPE", + "description": "Unauthorized app scope.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformEdge", + "description": "An auto-generated type which holds one CartTransform and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CartTransformEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransform", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformEligibleOperations", + "description": "Represents the cart transform feature configuration for the shop.", + "fields": [ + { + "name": "expandOperation", + "description": "The shop is eligible for expand operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeOperation", + "description": "The shop is eligible for merge operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateOperation", + "description": "The shop is eligible for update operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CartTransformFeature", + "description": "Represents the cart transform feature configuration for the shop.", + "fields": [ + { + "name": "eligibleOperations", + "description": "The cart transform operations eligible for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransformEligibleOperations", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CashRoundingAdjustment", + "description": "The rounding adjustment applied to total payment or refund received for an Order involving cash payments.", + "fields": [ + { + "name": "paymentSet", + "description": "The rounding adjustment that can be applied to totalReceived for an Order involving cash payments in shop and presentment currencies. Could be a positive or negative value. Value is 0 if there's no rounding, or for non-cash payments.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundSet", + "description": "The rounding adjustment that can be applied to totalRefunded for an Order involving cash payments in shop and presentment currencies. Could be a positive or negative value. Value is 0 if there's no rounding, or for non-cash refunds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingAdjustment", + "description": "Tracks an adjustment to the cash in a cash tracking session for a point of sale device over the course of a shift.", + "fields": [ + { + "name": "cash", + "description": "The amount of cash being added or removed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note entered when the adjustment was made.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "The staff member who made the adjustment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "time", + "description": "The time when the adjustment was made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingAdjustmentConnection", + "description": "An auto-generated type for paginating through multiple CashTrackingAdjustments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingAdjustmentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CashTrackingAdjustmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingAdjustment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingAdjustmentEdge", + "description": "An auto-generated type which holds one CashTrackingAdjustment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CashTrackingAdjustmentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingAdjustment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingSession", + "description": "Tracks the balance in a cash drawer for a point of sale device over the course of a shift.", + "fields": [ + { + "name": "adjustments", + "description": "The adjustments made to the cash drawer during this session.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AdjustmentsSortKeys", + "ofType": null + }, + "defaultValue": "TIME", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingAdjustmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cashTrackingEnabled", + "description": "Whether this session is tracking cash payments.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cashTransactions", + "description": "The cash transactions made during this session.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| kind | string |\n| processed_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CashTrackingSessionTransactionsSortKeys", + "ofType": null + }, + "defaultValue": "PROCESSED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransactionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closingBalance", + "description": "The counted cash balance when the session was closed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closingNote", + "description": "The note entered when the session was closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closingStaffMember", + "description": "The user who closed the session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closingTime", + "description": "When the session was closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expectedBalance", + "description": "The expected balance at the end of the session or the expected current balance for sessions that are still open.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expectedClosingBalance", + "description": "The amount that was expected to be in the cash drawer at the end of the session, calculated after the session was closed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expectedOpeningBalance", + "description": "The amount expected to be in the cash drawer based on the previous session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location of the point of sale device during this session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "netCashSales", + "description": "The net cash sales made for the duration of this cash tracking session.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openingBalance", + "description": "The counted cash balance when the session was opened.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openingNote", + "description": "The note entered when the session was opened.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openingStaffMember", + "description": "The user who opened the session.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openingTime", + "description": "When the session was opened.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "registerName", + "description": "The register name for the point of sale device that this session is tracking cash for.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAdjustments", + "description": "The sum of all adjustments made during the session, excluding the final adjustment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCashRefunds", + "description": "The sum of all cash refunds for the duration of this cash tracking session.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCashSales", + "description": "The sum of all cash sales for the duration of this cash tracking session.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscrepancy", + "description": "The total discrepancy for the session including starting and ending.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingSessionConnection", + "description": "An auto-generated type for paginating through multiple CashTrackingSessions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingSessionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CashTrackingSessionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingSession", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingSessionEdge", + "description": "An auto-generated type which holds one CashTrackingSession and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CashTrackingSessionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingSession", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CashTrackingSessionTransactionsSortKeys", + "description": "The set of valid sort keys for the CashTrackingSessionTransactions query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSED_AT", + "description": "Sort by the `processed_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CashTrackingSessionsSortKeys", + "description": "The set of valid sort keys for the CashTrackingSessions query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CLOSING_TIME_ASC", + "description": "Sort by the `closing_time_asc` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSING_TIME_DESC", + "description": "Sort by the `closing_time_desc` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPENING_TIME_ASC", + "description": "Sort by the `opening_time_asc` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPENING_TIME_DESC", + "description": "Sort by the `opening_time_desc` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_DISCREPANCY_ASC", + "description": "Sort by the `total_discrepancy_asc` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_DISCREPANCY_DESC", + "description": "Sort by the `total_discrepancy_desc` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Catalog", + "description": "A list of products with publishing and pricing information.\nA catalog can be associated with a specific context, such as a [`Market`](https://shopify.dev/api/admin-graphql/current/objects/market), [`CompanyLocation`](https://shopify.dev/api/admin-graphql/current/objects/companylocation), or [`App`](https://shopify.dev/api/admin-graphql/current/objects/app).", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operations", + "description": "Most recent catalog operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "The price list associated with the catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "A group of products and collections that's published to a catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CatalogStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AppCatalog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationCatalog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketCatalog", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CatalogConnection", + "description": "An auto-generated type for paginating through multiple Catalogs.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CatalogEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CatalogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CatalogContextInput", + "description": "The input fields for the context in which the catalog's publishing and pricing rules apply.", + "fields": null, + "inputFields": [ + { + "name": "companyLocationIds", + "description": "The IDs of the company locations to associate to the catalog.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CatalogContextUpdatePayload", + "description": "Return type for `catalogContextUpdate` mutation.", + "fields": [ + { + "name": "catalog", + "description": "The updated catalog.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CatalogUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CatalogCreateInput", + "description": "The input fields required to create a catalog.", + "fields": null, + "inputFields": [ + { + "name": "context", + "description": "The context associated with the catalog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CatalogContextInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListId", + "description": "The ID of the price list to associate to the catalog.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationId", + "description": "The ID of the publication to associate to the catalog.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the catalog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CatalogStatus", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the catalog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CatalogCreatePayload", + "description": "Return type for `catalogCreate` mutation.", + "fields": [ + { + "name": "catalog", + "description": "The newly created catalog.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CatalogUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CatalogCsvOperation", + "description": "A catalog csv operation represents a CSV file import.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedRowCount", + "description": "The count of processed rows, summing imported, failed, and skipped rows.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rowCount", + "description": "Represents a rows objects within this background operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RowCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CatalogDeletePayload", + "description": "Return type for `catalogDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted catalog.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CatalogUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CatalogEdge", + "description": "An auto-generated type which holds one Catalog and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CatalogEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CatalogSortKeys", + "description": "The set of valid sort keys for the Catalog query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CatalogStatus", + "description": "The state of a catalog.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The catalog is active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARCHIVED", + "description": "The catalog is archived.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT", + "description": "The catalog is in draft.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CatalogType", + "description": "The associated catalog's type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP", + "description": "Catalogs belonging to apps.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATION", + "description": "Catalogs belonging to company locations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET", + "description": "Catalogs belonging to markets.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "Not associated to a catalog.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CatalogUpdateInput", + "description": "The input fields used to update a catalog.", + "fields": null, + "inputFields": [ + { + "name": "context", + "description": "The context associated with the catalog.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CatalogContextInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListId", + "description": "The ID of the price list to associate to the catalog.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationId", + "description": "The ID of the publication to associate to the catalog.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the catalog.", + "type": { + "kind": "ENUM", + "name": "CatalogStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the catalog.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CatalogUpdatePayload", + "description": "Return type for `catalogUpdate` mutation.", + "fields": [ + { + "name": "catalog", + "description": "The updated catalog.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CatalogUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CatalogUserError", + "description": "Defines errors encountered while managing a catalog.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CatalogUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CatalogUserErrorCode", + "description": "Possible error codes that can be returned by `CatalogUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_CATALOG_PRICE_LIST_ASSIGNMENT", + "description": "An app catalog cannot be assigned to a price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_ADD_MORE_THAN_ONE_MARKET", + "description": "The catalog can't be associated with more than one market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_CREATE_APP_CATALOG", + "description": "Cannot create a catalog for an app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_CREATE_MARKET_CATALOG", + "description": "Cannot create a catalog for a market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_APP_CATALOG", + "description": "Cannot delete a catalog for an app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_MARKET_CATALOG", + "description": "Cannot delete a catalog for a market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MODIFY_APP_CATALOG", + "description": "Cannot modify a catalog for an app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MODIFY_MARKET_CATALOG", + "description": "Cannot modify a catalog for a market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_PRICE_BREAKS", + "description": "Quantity price breaks can be associated only with company location catalogs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_RULES", + "description": "Quantity rules can be associated only with company location catalogs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_FAILED_TO_SAVE", + "description": "Catalog failed to save.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_NOT_FOUND", + "description": "The catalog wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATION_CATALOG_STATUS_PLAN", + "description": "A company location catalog outside of a supported plan can only have an archived status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATION_NOT_FOUND", + "description": "The company location could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_ALREADY_ASSIGNED_TO_CATALOG", + "description": "Context driver already assigned to this catalog.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_CATALOG_LIMIT_REACHED", + "description": "Cannot save the catalog because the catalog limit for the context was reached.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_DRIVER_MISMATCH", + "description": "The arguments `contextsToAdd` and `contextsToRemove` must match existing catalog context type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COUNTRY_PRICE_LIST_ASSIGNMENT", + "description": "A country price list cannot be assigned to a catalog.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CATALOG_CONTEXT_TYPE", + "description": "The catalog context type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_AND_PRICE_LIST_CURRENCY_MISMATCH", + "description": "The catalog's market and price list currencies do not match.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_CATALOG_STATUS", + "description": "A market catalog must have an active status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_NOT_FOUND", + "description": "Market not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_TAKEN", + "description": "Market already belongs to another catalog.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUST_PROVIDE_EXACTLY_ONE_CONTEXT_TYPE", + "description": "Must provide exactly one context type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_FAILED_TO_SAVE", + "description": "Price list failed to save.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_LOCKED", + "description": "The price list is currently being modified. Please try again later.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_NOT_ALLOWED_FOR_PRIMARY_MARKET", + "description": "A price list cannot be assigned to the primary market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_NOT_FOUND", + "description": "Price list not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLICATION_NOT_FOUND", + "description": "Publication not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRES_CONTEXTS_TO_ADD_OR_REMOVE", + "description": "Must have `contexts_to_add` or `contexts_to_remove` argument.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_CATALOG_ACTION", + "description": "Can't perform this action on a catalog of this type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Channel", + "description": "A channel represents an app where you sell a group of products and collections.\nA channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS.", + "fields": [ + { + "name": "app", + "description": "The underlying app used by the channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionPublicationsV3", + "description": "The collection publications for the list of collections published to the channel.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collections", + "description": "The list of collections published to the channel.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "The unique identifier for the channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `id` instead." + }, + { + "name": "hasCollection", + "description": "Whether the collection is available to the channel.", + "args": [ + { + "name": "id", + "description": "The collection ID to check.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "navigationItems", + "description": "The menu items for the channel, which also appear as submenu items in the left navigation sidebar in the Shopify admin.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationItem", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use [AppInstallation.navigationItems](\n https://shopify.dev/api/admin-graphql/current/objects/AppInstallation#field-appinstallation-navigationitems) instead." + }, + { + "name": "overviewPath", + "description": "Home page for the channel.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use [AppInstallation.launchUrl](\n https://shopify.dev/api/admin-graphql/current/objects/AppInstallation#field-appinstallation-launchurl) instead." + }, + { + "name": "productPublications", + "description": "The product publications for the products published to the channel.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPublicationConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `productPublicationsV3` instead." + }, + { + "name": "productPublicationsV3", + "description": "The product publications for the list of products published to the channel.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "The list of products published to the channel.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsCount", + "description": "The count of products published to the channel. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| barcode | string | Filter by the product variant [`barcode`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-barcode) field. | | | - `barcode:ABC-abc-1234` |\n| bundles | boolean | Filter by a [product bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A product bundle is a set of two or more related products, which are commonly offered at a discount. | | | - `bundles:true` |\n| category_id | string | Filter by the product [category ID](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-category) (`product.category.id`). A product category is the category of a product from [Shopify's Standard Product Taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). | | | - `category_id:gid://shopify/TaxonomyCategory/aa` |\n| combined_listing_role | string | Filter by the role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings). | - `parent`
- `child` | | - `combined_listing_role:parent` |\n| created_at | time | Filter by the date and time when the product was created. | | | - `created_at:>'2020-10-21T23:39:20Z'`
- `created_at: - `created_at:<='2024'` |\n| delivery_profile_id | id | Filter by the delivery profile [`id`](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryProfile#field-id) field. | | | - `delivery_profile_id:108179161409` |\n| error_feedback | string | Filter by products with publishing errors. |\n| gift_card | boolean | Filter by the product [`isGiftCard`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-isgiftcard) field. | | | - `gift_card:true` |\n| handle | string | Filter by a comma-separated list of product [handles](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-handle). | | | - `handle:the-minimal-snowboard` |\n| has_only_composites | boolean | Filter by products that have only composite variants. | | | - `has_only_composites:true` |\n| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | | | - `has_only_default_variant:true` |\n| has_variant_with_components | boolean | Filter by products that have variants with associated components. | | | - `has_variant_with_components:true` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_total | integer | Filter by inventory count. | | | - `inventory_total:0`
- `inventory_total:>150`
- `inventory_total:>=200` |\n| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the [`CollectionRule`](https://shopify.dev/api/admin-graphql/latest/objects/CollectionRule) object. | | | - `is_price_reduced:true` |\n| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | | | - `out_of_stock_somewhere:true` |\n| price | bigdecimal | Filter by the product variant [`price`](https://shopify.dev/api/admin-graphql/latest/objects/Productvariant#field-price) field. | | | - `price:100.57` |\n| product_configuration_owner | string | Filter by the app [`id`](https://shopify.dev/api/admin-graphql/latest/objects/App#field-id) field. | | | - `product_configuration_owner:10001` |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| product_type | string | Filter by a comma-separated list of [product types](https://help.shopify.com/manual/products/details/product-type). | | | - `product_type:snowboard` |\n| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | | | - `publication_ids:184111530305,184111694145` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | | | - `published_at:>2020-10-21T23:39:20Z`
- `published_at: - `published_at:<=2024` |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an `ACTIVE` status in online stores, sales channels, and apps. | - `ACTIVE`
- `ARCHIVED`
- `DRAFT` | `ACTIVE` | - `status:ACTIVE,DRAFT` |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| title | string | Filter by the product [`title`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-title) field. | | | - `title:The Minimal Snowboard` |\n| updated_at | time | Filter by the date and time when the product was last updated. | | | - `updated_at:>'2020-10-21T23:39:20Z'`
- `updated_at: - `updated_at:<='2024'` |\n| variant_id | id | Filter by the product variant [`id`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-id) field. | | | - `variant_id:45779434701121` |\n| variant_title | string | Filter by the product variant [`title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-title) field. | | | - `variant_title:Special ski wax` |\n| vendor | string | Filter by the origin or source of the product. Learn more about [vendors and managing vendor information](https://help.shopify.com/manual/products/managing-vendor-info). | | | - `vendor:Snowdevil`
- `vendor:Snowdevil OR vendor:Icedevil` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportsFuturePublishing", + "description": "Whether the channel supports future publishing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ChannelConnection", + "description": "An auto-generated type for paginating through multiple Channels.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChannelEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ChannelEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ChannelDefinition", + "description": "A channel definition represents channels surfaces on the platform.\nA channel definition can be a platform or a subsegment of it such as Facebook Home, Instagram Live, Instagram Shops, or WhatsApp chat.", + "fields": [ + { + "name": "channelName", + "description": "Name of the channel that this sub channel belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "Unique string used as a public identifier for the channel definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the channel definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isMarketplace", + "description": "Whether this channel definition represents a marketplace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subChannelName", + "description": "Name of the sub channel (e.g. Online Store, Instagram Shopping, TikTok Live).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "svgIcon", + "description": "Icon displayed when showing the channel in admin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ChannelEdge", + "description": "An auto-generated type which holds one Channel and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ChannelEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ChannelInformation", + "description": "Contains the information for a given sales channel.", + "fields": [ + { + "name": "app", + "description": "The app associated with the channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelDefinition", + "description": "The channel definition associated with the channel.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ChannelDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelId", + "description": "The unique ID for the channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBranding", + "description": "The settings of checkout visual customizations.\n\nTo learn more about updating checkout branding settings, refer to the\n[checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert) mutation.", + "fields": [ + { + "name": "customizations", + "description": "The customizations that apply to specific components or areas of the user interface.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingCustomizations", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designSystem", + "description": "The design system allows you to set values that represent specific attributes\nof your brand like color and font. These attributes are used throughout the user\ninterface. This brings consistency and allows you to easily make broad design changes.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingDesignSystem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingBackground", + "description": "The container background style.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The Base background style.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBDUED", + "description": "The Subdued background style.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSPARENT", + "description": "The Transparent background style.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingBackgroundStyle", + "description": "Possible values for the background style.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "The None background style.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SOLID", + "description": "The Solid background style.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingBorder", + "description": "Possible values for the border.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLOCK_END", + "description": "The Block End border.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULL", + "description": "The Full border.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "The None border.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "description": "The container border style.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The Base border style.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DASHED", + "description": "The Dashed border style.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOTTED", + "description": "The Dotted border style.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "description": "The container border width.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The Base border width.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE", + "description": "The Large border width.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_100", + "description": "The Large 100 border width.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_200", + "description": "The Large 200 border width.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingButton", + "description": "The buttons customizations.", + "fields": [ + { + "name": "background", + "description": "The background style used for buttons.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBackgroundStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockPadding", + "description": "The block padding used for buttons.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacing", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The border used for buttons.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius used for buttons.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inlinePadding", + "description": "The inline padding used for buttons.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacing", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography used for buttons.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingTypographyStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingButtonColorRoles", + "description": "Colors for buttons.", + "fields": [ + { + "name": "accent", + "description": "The color of accented objects (links and focused state).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "background", + "description": "The color of the background.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The color of borders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "The decorative color for highlighting specific parts of the user interface.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hover", + "description": "The colors of the button on hover.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorRoles", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "The color of icons.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "The color of text.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingButtonColorRolesInput", + "description": "The input fields to set colors for buttons.", + "fields": null, + "inputFields": [ + { + "name": "accent", + "description": "The color of accented objects (links and focused state).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "background", + "description": "The color of the background.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The color of borders.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "The decorative color for highlighting specific parts of the user interface.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hover", + "description": "The colors of the button on hover.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorRolesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "The color of icons.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "The color of text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingButtonInput", + "description": "The input fields used to update the buttons customizations.", + "fields": null, + "inputFields": [ + { + "name": "background", + "description": "The background style used for buttons.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBackgroundStyle", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockPadding", + "description": "The block padding used for buttons.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacing", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The border used for buttons.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius used for buttons.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inlinePadding", + "description": "The inline padding used for buttons.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacing", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography style used for buttons.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyStyleInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingBuyerJourney", + "description": "The customizations for the breadcrumbs that represent a buyer's journey to the checkout.", + "fields": [ + { + "name": "visibility", + "description": "An option to display or hide the breadcrumbs that represent the buyer's journey on 3-page checkout.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingBuyerJourneyInput", + "description": "The input fields for updating breadcrumb customizations, which represent the buyer's journey to checkout.", + "fields": null, + "inputFields": [ + { + "name": "visibility", + "description": "The visibility customizations for updating breadcrumbs, which represent the buyer's journey to checkout.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingCartLink", + "description": "The customizations that you can make to cart links at checkout.", + "fields": [ + { + "name": "visibility", + "description": "Whether the cart link is visible at checkout.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingCartLinkContentType", + "description": "Possible values for the cart link content type for the header.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ICON", + "description": "The checkout header content type icon value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE", + "description": "The checkout header content type image value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEXT", + "description": "The checkout header content type text value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCartLinkInput", + "description": "The input fields for updating the cart link customizations at checkout.", + "fields": null, + "inputFields": [ + { + "name": "visibility", + "description": "The input to update the visibility of cart links in checkout. This hides the cart icon on one-page and the cart link in the breadcrumbs/buyer journey on three-page checkout.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingCheckbox", + "description": "The checkboxes customizations.", + "fields": [ + { + "name": "cornerRadius", + "description": "The corner radius used for checkboxes.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCheckboxInput", + "description": "The input fields used to update the checkboxes customizations.", + "fields": null, + "inputFields": [ + { + "name": "cornerRadius", + "description": "The corner radius used for checkboxes.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingChoiceList", + "description": "The choice list customizations.", + "fields": [ + { + "name": "group", + "description": "The settings that apply to the 'group' variant of ChoiceList.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingChoiceListGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingChoiceListGroup", + "description": "The settings that apply to the 'group' variant of ChoiceList.", + "fields": [ + { + "name": "spacing", + "description": "The spacing between UI elements in the list.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingChoiceListGroupInput", + "description": "The input fields to update the settings that apply to the 'group' variant of ChoiceList.", + "fields": null, + "inputFields": [ + { + "name": "spacing", + "description": "The spacing between UI elements in the list.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingChoiceListInput", + "description": "The input fields to use to update the choice list customizations.", + "fields": null, + "inputFields": [ + { + "name": "group", + "description": "The settings that apply to the 'group' variant of ChoiceList.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingChoiceListGroupInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingColorGlobal", + "description": "A set of colors for customizing the overall look and feel of the checkout.", + "fields": [ + { + "name": "accent", + "description": "A color used for interaction, like links and focus states.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "brand", + "description": "A color that's strongly associated with the merchant. Currently used for\nprimary buttons, for example **Pay now**, and secondary buttons, for example **Buy again**.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "critical", + "description": "A semantic color used for components that communicate critical content. For example, a blocking error such as the requirement to enter a valid credit card number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "A color used to highlight certain areas of the user interface. For example, the [`Text`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/titles-and-text/text#textprops-propertydetail-appearance) component.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "A semantic color used for components that communicate general, informative content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "success", + "description": "A semantic color used for components that communicate successful actions or a positive state.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warning", + "description": "A semantic color used for components that display content that requires attention. For example, something that might be wrong, but not blocking.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorGlobalInput", + "description": "The input fields to customize the overall look and feel of the checkout.", + "fields": null, + "inputFields": [ + { + "name": "accent", + "description": "A color used for interaction, like links and focus states.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "brand", + "description": "A color that's strongly associated with the merchant. Currently used for\nprimary buttons, such as **Pay now**, and secondary buttons, such as **Buy again**.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "critical", + "description": "A semantic color used for components that communicate critical content. For example, a blocking error such as the requirement to enter a valid credit card number.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "A color used to highlight certain areas of the user interface. For example, the [`Text`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/titles-and-text/text#textprops-propertydetail-appearance) component.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "info", + "description": "A semantic color used for components that communicate general, informative content.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "success", + "description": "A semantic color used for components that communicate successful actions or a positive state.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warning", + "description": "A semantic color used for components that display content that requires attention. For example, something that might be wrong, but not blocking.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingColorRoles", + "description": "A group of colors used together on a surface.", + "fields": [ + { + "name": "accent", + "description": "The color of accented objects (links and focused state).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "background", + "description": "The color of the background.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The color of borders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "The decorative color for highlighting specific parts of the user interface.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "The color of icons.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "The color of text.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorRolesInput", + "description": "The input fields for a group of colors used together on a surface.", + "fields": null, + "inputFields": [ + { + "name": "accent", + "description": "The color of accented objects (links and focused state).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "background", + "description": "The color of the background.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The color of borders.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "The decorative color for highlighting specific parts of the user interface.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "The color of icons.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "The color of text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingColorScheme", + "description": "A base set of color customizations that's applied to an area of Checkout, from which every component\npulls its colors.", + "fields": [ + { + "name": "base", + "description": "The main colors of a scheme. Used for the surface background, text, links, and more.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorRoles", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "control", + "description": "The colors of form controls, such as the [`TextField`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/textfield) and [`ChoiceList`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/choicelist) components.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingControlColorRoles", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryButton", + "description": "The colors of the primary button. For example, the main payment, or **Pay now** button.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingButtonColorRoles", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondaryButton", + "description": "The colors of the secondary button, which is used for secondary actions. For example, **Buy again**.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingButtonColorRoles", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorSchemeInput", + "description": "The input fields for a base set of color customizations that's applied to an area of Checkout, from which\nevery component pulls its colors.", + "fields": null, + "inputFields": [ + { + "name": "base", + "description": "The main colors of a scheme. Used for the surface background, text, links, and more.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorRolesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "control", + "description": "The colors of form controls, such as the [`TextField`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/textfield) and [`ChoiceList`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/choicelist) components.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingControlColorRolesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryButton", + "description": "The colors of the primary button. For example, the main payment, or **Pay now** button.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingButtonColorRolesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondaryButton", + "description": "The colors of the secondary button, which is used for secondary actions. For example, **Buy again**.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingButtonColorRolesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "description": "The possible color schemes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLOR_SCHEME1", + "description": "The COLOR_SCHEME1 color scheme selection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLOR_SCHEME2", + "description": "The COLOR_SCHEME2 color scheme selection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLOR_SCHEME3", + "description": "The COLOR_SCHEME3 color scheme selection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLOR_SCHEME4", + "description": "The COLOR_SCHEME4 color scheme selection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSPARENT", + "description": "The TRANSPARENT color scheme selection.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingColorSchemes", + "description": "The color schemes.", + "fields": [ + { + "name": "scheme1", + "description": "The primary scheme. By default, it’s used for the main area of the interface.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorScheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheme2", + "description": "The secondary scheme. By default, it’s used for secondary areas, like Checkout’s Order Summary.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorScheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheme3", + "description": "An extra scheme available to customize more surfaces, components or specific states of the user interface.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorScheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheme4", + "description": "An extra scheme available to customize more surfaces, components or specific states of the user interface.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorScheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorSchemesInput", + "description": "The input fields for the color schemes.", + "fields": null, + "inputFields": [ + { + "name": "scheme1", + "description": "The primary scheme. By default, it’s used for the main area of the interface.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorSchemeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheme2", + "description": "The secondary scheme. By default, it’s used for secondary areas, like Checkout’s Order Summary.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorSchemeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheme3", + "description": "An extra scheme available to customize more surfaces, components or specific states of the user interface.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorSchemeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheme4", + "description": "An extra scheme available to customize more surfaces, components or specific states of the user interface.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorSchemeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingColorSelection", + "description": "The possible colors.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TRANSPARENT", + "description": "Transparent color selection.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingColors", + "description": "The color settings for global colors and color schemes.", + "fields": [ + { + "name": "global", + "description": "A group of global colors for customizing the overall look and feel of the user interface.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorGlobal", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemes", + "description": "A set of color schemes which apply to different areas of the user interface.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorSchemes", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorsInput", + "description": "The input fields used to update the color settings for global colors and color schemes.", + "fields": null, + "inputFields": [ + { + "name": "global", + "description": "The input to update global colors for customizing the overall look and feel of the user interface.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorGlobalInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "schemes", + "description": "The input to define color schemes which apply to different areas of the user interface.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorSchemesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingContainerDivider", + "description": "The container's divider customizations.", + "fields": [ + { + "name": "borderStyle", + "description": "The divider style.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The divider width.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "The divider visibility.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingContainerDividerInput", + "description": "The input fields used to update a container's divider customizations.", + "fields": null, + "inputFields": [ + { + "name": "borderStyle", + "description": "The divider style.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The divider width.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "The divider visibility.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingContent", + "description": "The content container customizations.", + "fields": [ + { + "name": "divider", + "description": "The content container's divider style and visibility.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingContainerDivider", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingContentInput", + "description": "The input fields used to update the content container customizations.", + "fields": null, + "inputFields": [ + { + "name": "divider", + "description": "Divider style and visibility on the content container.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingContainerDividerInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingControl", + "description": "The form controls customizations.", + "fields": [ + { + "name": "border", + "description": "The border used for form controls.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "color", + "description": "Set to TRANSPARENT to define transparent form controls. If null, form controls inherit colors from their scheme settings (for example, the main section inherits from `design_system.colors.schemes.scheme1.control` by default). Note that usage of the `customizations.control.color` setting to customize the form control color is deprecated.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSelection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius used for form controls.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labelPosition", + "description": "The label position used for form controls.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingLabelPosition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingControlColorRoles", + "description": "Colors for form controls.", + "fields": [ + { + "name": "accent", + "description": "The color of accented objects (links and focused state).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "background", + "description": "The color of the background.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The color of borders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "The decorative color for highlighting specific parts of the user interface.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "The color of icons.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selected", + "description": "The colors of selected controls.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColorRoles", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "The color of text.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingControlColorRolesInput", + "description": "The input fields to define colors for form controls.", + "fields": null, + "inputFields": [ + { + "name": "accent", + "description": "The color of accented objects (links and focused state).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "background", + "description": "The color of the background.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The color of borders.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "decorative", + "description": "The decorative color for highlighting specific parts of the user interface.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "The color of icons.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selected", + "description": "The colors of selected controls.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorRolesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "text", + "description": "The color of text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingControlInput", + "description": "The input fields used to update the form controls customizations.", + "fields": null, + "inputFields": [ + { + "name": "border", + "description": "The border used for form controls.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "color", + "description": "Set to TRANSPARENT to define transparent form controls. If null, form controls inherit colors from their scheme settings (for example, the main section inherits from `design_system.colors.schemes.scheme1.control` by default). Note that usage of the `customizations.control.color` setting to customize the form control color is deprecated.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSelection", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius used for form controls.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "labelPosition", + "description": "The label position used for form controls.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingLabelPosition", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "description": "The options for customizing the corner radius of checkout-related objects. Examples include the primary\nbutton, the name text fields and the sections within the main area (if they have borders).\nRefer to this complete [list](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius#fieldswith)\nfor objects with customizable corner radii.\n\nThe design system defines the corner radius pixel size for each option. Modify the defaults by setting the\n[designSystem.cornerRadius](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CheckoutBrandingDesignSystemInput#field-checkoutbrandingdesignsysteminput-cornerradius)\ninput fields.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The corner radius with a pixel value defined by designSystem.cornerRadius.base.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE", + "description": "The corner radius with a pixel value defined by designSystem.cornerRadius.large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "The 0px corner radius (square corners).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL", + "description": "The corner radius with a pixel value defined by designSystem.cornerRadius.small.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingCornerRadiusVariables", + "description": "Define the pixel size of corner radius options.", + "fields": [ + { + "name": "base", + "description": "The value in pixels for base corner radii. Example: 5.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "large", + "description": "The value in pixels for large corner radii. Example: 10.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "small", + "description": "The value in pixels for small corner radii. Example: 3.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCornerRadiusVariablesInput", + "description": "The input fields used to update the corner radius variables.", + "fields": null, + "inputFields": [ + { + "name": "base", + "description": "The value in pixels for base corner radii. It should be greater than zero. Example: 5.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "large", + "description": "The value in pixels for large corner radii. It should be greater than zero. Example: 10.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "small", + "description": "The value in pixels for small corner radii. It should be greater than zero. Example: 3.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingCustomFont", + "description": "A custom font.", + "fields": [ + { + "name": "genericFileId", + "description": "Globally unique ID reference to the custom font file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": "The font sources.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The font weight.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CheckoutBrandingFont", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCustomFontGroupInput", + "description": "The input fields required to update a custom font group.", + "fields": null, + "inputFields": [ + { + "name": "base", + "description": "The base font.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCustomFontInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bold", + "description": "The bold font.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCustomFontInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loadingStrategy", + "description": "The font loading strategy.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingFontLoadingStrategy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCustomFontInput", + "description": "The input fields required to update a font.", + "fields": null, + "inputFields": [ + { + "name": "genericFileId", + "description": "A globally-unique ID for a font file uploaded via the Files api.\nAllowed font types are .woff and .woff2.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The font weight. Its value should be between 100 and 900.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingCustomizations", + "description": "The customizations that apply to specific components or areas of the user interface.", + "fields": [ + { + "name": "buyerJourney", + "description": "The customizations for the breadcrumbs that represent a buyer's journey to the checkout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingBuyerJourney", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartLink", + "description": "The checkout cart link customizations. For example, by setting the visibility field to `HIDDEN`, you can hide the cart icon in the header for one-page checkout, and the cart link in breadcrumbs in three-page checkout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingCartLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checkbox", + "description": "The checkboxes customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingCheckbox", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "choiceList", + "description": "The choice list customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingChoiceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "The content container customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingContent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "control", + "description": "The form controls customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingControl", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divider", + "description": "The customizations for the page, content, main, and order summary dividers. For example, by setting the borderStyle to `DOTTED`, you can make these dividers render as dotted lines.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingDividerStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expressCheckout", + "description": "The express checkout customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingExpressCheckout", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "favicon", + "description": "The favicon image.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "footer", + "description": "The footer customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingFooter", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "global", + "description": "The global customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingGlobal", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "header", + "description": "The header customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingHeader", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headingLevel1", + "description": "The Heading Level 1 customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingHeadingLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headingLevel2", + "description": "The Heading Level 2 customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingHeadingLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headingLevel3", + "description": "The Heading Level 3 customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingHeadingLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "main", + "description": "The main area customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingMain", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchandiseThumbnail", + "description": "The merchandise thumbnails customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingMerchandiseThumbnail", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderSummary", + "description": "The order summary customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingOrderSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryButton", + "description": "The primary buttons customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingButton", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondaryButton", + "description": "The secondary buttons customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingButton", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "select", + "description": "The selects customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingSelect", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "textField", + "description": "The text fields customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingTextField", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCustomizationsInput", + "description": "The input fields used to update the components customizations.", + "fields": null, + "inputFields": [ + { + "name": "buyerJourney", + "description": "The customizations for the breadcrumbs that represent a buyer's journey to the checkout.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingBuyerJourneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartLink", + "description": "The input for checkout cart link customizations. For example, by setting the visibility field to `HIDDEN`, you can hide the cart icon in the header for one-page checkout, and the cart link in breadcrumbs in three-page checkout.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCartLinkInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checkbox", + "description": "The checkboxes customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCheckboxInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "choiceList", + "description": "The choice list customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingChoiceListInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "The content container customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingContentInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "control", + "description": "The form controls customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingControlInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divider", + "description": "The input for the page, content, main, and order summary dividers customizations. For example, by setting the borderStyle to `DOTTED`, you can make these dividers render as dotted lines.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingDividerStyleInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expressCheckout", + "description": "The express checkout customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingExpressCheckoutInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "favicon", + "description": "The favicon image (must be of PNG format).", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "footer", + "description": "The footer customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFooterInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "global", + "description": "The global customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingGlobalInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "header", + "description": "The header customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeaderInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headingLevel1", + "description": "The Heading Level 1 customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeadingLevelInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headingLevel2", + "description": "The Heading Level 2 customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeadingLevelInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "headingLevel3", + "description": "The Heading Level 3 customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeadingLevelInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "main", + "description": "The main area customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingMainInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchandiseThumbnail", + "description": "The merchandise thumbnails customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingMerchandiseThumbnailInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderSummary", + "description": "The order summary customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingOrderSummaryInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryButton", + "description": "The primary buttons customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingButtonInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondaryButton", + "description": "The secondary buttons customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingButtonInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "select", + "description": "The selects customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingSelectInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "textField", + "description": "The text fields customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTextFieldInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingDesignSystem", + "description": "The design system allows you to set values that represent specific attributes\nof your brand like color and font. These attributes are used throughout the user\ninterface. This brings consistency and allows you to easily make broad design changes.", + "fields": [ + { + "name": "colors", + "description": "The color settings for global colors and color schemes.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingColors", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius variables.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingCornerRadiusVariables", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingTypography", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingDesignSystemInput", + "description": "The input fields used to update the design system.", + "fields": null, + "inputFields": [ + { + "name": "colors", + "description": "The color settings for global colors and color schemes.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingColorsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius variables.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCornerRadiusVariablesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingDividerStyle", + "description": "The customizations for the page, content, main, and order summary dividers.", + "fields": [ + { + "name": "borderStyle", + "description": "The border style for the divider.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The border width for the divider.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingDividerStyleInput", + "description": "The input fields used to update the page, content, main and order summary dividers customizations.", + "fields": null, + "inputFields": [ + { + "name": "borderStyle", + "description": "The border style for the divider.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The border width for the divider.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingExpressCheckout", + "description": "The Express Checkout customizations.", + "fields": [ + { + "name": "button", + "description": "The Express Checkout buttons customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingExpressCheckoutButton", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingExpressCheckoutButton", + "description": "The Express Checkout button customizations.", + "fields": [ + { + "name": "cornerRadius", + "description": "The corner radius used for the Express Checkout buttons.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingExpressCheckoutButtonInput", + "description": "The input fields to use to update the express checkout customizations.", + "fields": null, + "inputFields": [ + { + "name": "cornerRadius", + "description": "The corner radius used for Express Checkout buttons.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingExpressCheckoutInput", + "description": "The input fields to use to update the Express Checkout customizations.", + "fields": null, + "inputFields": [ + { + "name": "button", + "description": "The Express Checkout buttons customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingExpressCheckoutButtonInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CheckoutBrandingFont", + "description": "A font.", + "fields": [ + { + "name": "sources", + "description": "The font sources.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The font weight.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CheckoutBrandingCustomFont", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingShopifyFont", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingFontGroup", + "description": "A font group. To learn more about updating fonts, refer to the\n[checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert)\nmutation and the checkout branding [tutorial](https://shopify.dev/docs/apps/checkout/styling).", + "fields": [ + { + "name": "base", + "description": "The base font.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "CheckoutBrandingFont", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bold", + "description": "The bold font.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "CheckoutBrandingFont", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loadingStrategy", + "description": "The font loading strategy.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingFontLoadingStrategy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The font group name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFontGroupInput", + "description": "The input fields used to update a font group. To learn more about updating fonts, refer to the\n[checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert)\nmutation and the checkout branding [tutorial](https://shopify.dev/docs/apps/checkout/styling).", + "fields": null, + "inputFields": [ + { + "name": "customFontGroup", + "description": "A custom font group.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCustomFontGroupInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyFontGroup", + "description": "A Shopify font group.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingShopifyFontGroupInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingFontLoadingStrategy", + "description": "The font loading strategy determines how a font face is displayed after it is loaded or failed to load.\nFor more information: https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTO", + "description": "The font display strategy is defined by the browser user agent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOCK", + "description": "Gives the font face a short block period and an infinite swap period.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FALLBACK", + "description": "Gives the font face an extremely small block period and a short swap period.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTIONAL", + "description": "Gives the font face an extremely small block period and no swap period.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SWAP", + "description": "Gives the font face an extremely small block period and an infinite swap period.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingFontSize", + "description": "The font size.", + "fields": [ + { + "name": "base", + "description": "The base font size.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ratio", + "description": "The scale ratio used to derive all font sizes such as small and large.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFontSizeInput", + "description": "The input fields used to update the font size.", + "fields": null, + "inputFields": [ + { + "name": "base", + "description": "The base font size. Its value should be between 12.0 and 18.0.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ratio", + "description": "The scale ratio used to derive all font sizes such as small and large. Its value should be between 1.0 and 1.4.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingFooter", + "description": "A container for the footer section customizations.", + "fields": [ + { + "name": "alignment", + "description": "The footer alignment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingFooterAlignment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the footer container.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "The footer content settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingFooterContent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divided", + "description": "The divided setting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the footer container.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The footer position.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingFooterPosition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingFooterAlignment", + "description": "Possible values for the footer alignment.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CENTER", + "description": "The checkout footer alignment Center value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "END", + "description": "The checkout footer alignment End value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "START", + "description": "The checkout footer alignment Start value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingFooterContent", + "description": "The footer content customizations.", + "fields": [ + { + "name": "visibility", + "description": "The visibility settings for footer content.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFooterContentInput", + "description": "The input fields for footer content customizations.", + "fields": null, + "inputFields": [ + { + "name": "visibility", + "description": "The visibility settings for footer content.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFooterInput", + "description": "The input fields when mutating the checkout footer settings.", + "fields": null, + "inputFields": [ + { + "name": "alignment", + "description": "The footer alignment settings. You can set the footer native content alignment to the left, center, or right.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingFooterAlignment", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the footer container.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "The input field for setting the footer content customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFooterContentInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divided", + "description": "The divided setting.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the footer container.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The input field for setting the footer position customizations.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingFooterPosition", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingFooterPosition", + "description": "Possible values for the footer position.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "END", + "description": "The End footer position.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE", + "description": "The Inline footer position.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingGlobal", + "description": "The global customizations.", + "fields": [ + { + "name": "cornerRadius", + "description": "The global corner radius setting that overrides all other [corner radius](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius)\ncustomizations.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingGlobalCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The global typography customizations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingTypographyStyleGlobal", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingGlobalCornerRadius", + "description": "Possible choices to override corner radius customizations on all applicable objects. Note that this selection \ncan only be used to set the override to `NONE` (0px).\n\nFor more customizations options, set the [corner radius](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius)\nselection on specific objects while leaving the global corner radius unset.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "Set the global corner radius override to 0px (square corners).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingGlobalInput", + "description": "The input fields used to update the global customizations.", + "fields": null, + "inputFields": [ + { + "name": "cornerRadius", + "description": "Select a global corner radius setting that overrides all other [corner radii](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius)\ncustomizations.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingGlobalCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The global typography customizations.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyStyleGlobalInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingHeader", + "description": "The header customizations.", + "fields": [ + { + "name": "alignment", + "description": "The header alignment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingHeaderAlignment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "banner", + "description": "The background image of the header.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartLink", + "description": "The cart link customizations for 1-page checkout. This field allows to customize the cart icon that renders by default on 1-page checkout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingHeaderCartLink", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the header container.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divided", + "description": "The divided setting.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "logo", + "description": "The store logo.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingLogo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the header container.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The header position.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingHeaderPosition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingHeaderAlignment", + "description": "The possible header alignments.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CENTER", + "description": "Center alignment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "END", + "description": "End alignment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "START", + "description": "Start alignment.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingHeaderCartLink", + "description": "The header cart link customizations.", + "fields": [ + { + "name": "contentType", + "description": "The content type for the header back to cart link in 1-page checkout. Setting this to image will render the custom image provided using the image field on the header cart_link object. If no image is provided, the default cart icon will be used.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCartLinkContentType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image that's used for the header back to cart link in 1-page checkout when the content type is set to image.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeaderCartLinkInput", + "description": "The input fields for header cart link customizations.", + "fields": null, + "inputFields": [ + { + "name": "contentType", + "description": "The input for the content type for the header back to cart link in 1-page checkout. Setting this to image will render the custom image provided using the image field on the header cart_link object. If no image is provided, the default cart icon will be used.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCartLinkContentType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The input for the image that's used for the header back to cart link in 1-page checkout when the content type is set to image.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeaderInput", + "description": "The input fields used to update the header customizations.", + "fields": null, + "inputFields": [ + { + "name": "alignment", + "description": "The header alignment.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingHeaderAlignment", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "banner", + "description": "The background image of the header (must not be of SVG format).", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartLink", + "description": "The input for cart link customizations for 1-page checkout. This field allows to customize the cart icon that renders by default on 1-page checkout.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeaderCartLinkInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the header container.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divided", + "description": "The divided setting.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "logo", + "description": "The store logo.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingLogoInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the header container.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The header position.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingHeaderPosition", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingHeaderPosition", + "description": "The possible header positions.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INLINE", + "description": "Inline position.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_SECONDARY", + "description": "Secondary inline position.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "START", + "description": "Start position.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingHeadingLevel", + "description": "The heading level customizations.", + "fields": [ + { + "name": "typography", + "description": "The typography customizations used for headings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingTypographyStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingHeadingLevelInput", + "description": "The input fields for heading level customizations.", + "fields": null, + "inputFields": [ + { + "name": "typography", + "description": "The typography customizations used for headings.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyStyleInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingImage", + "description": "A checkout branding image.", + "fields": [ + { + "name": "image", + "description": "The image details.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingImageInput", + "description": "The input fields used to update a checkout branding image uploaded via the Files API.", + "fields": null, + "inputFields": [ + { + "name": "mediaImageId", + "description": "A globally-unique ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingInput", + "description": "The input fields used to upsert the checkout branding settings.", + "fields": null, + "inputFields": [ + { + "name": "customizations", + "description": "The customizations that apply to specific components or areas of the user interface.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingCustomizationsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "designSystem", + "description": "The design system allows you to set values that represent specific attributes\nof your brand like color and font. These attributes are used throughout the user\ninterface. This brings consistency and allows you to easily make broad design changes.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingDesignSystemInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingLabelPosition", + "description": "Possible values for the label position.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INSIDE", + "description": "The Inside label position.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OUTSIDE", + "description": "The Outside label position.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingLogo", + "description": "The store logo customizations.", + "fields": [ + { + "name": "image", + "description": "The logo image.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxWidth", + "description": "The maximum width of the logo.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "The visibility of the logo.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingLogoInput", + "description": "The input fields used to update the logo customizations.", + "fields": null, + "inputFields": [ + { + "name": "image", + "description": "The logo image (must not be of SVG format).", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxWidth", + "description": "The maximum width of the logo.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibility", + "description": "The visibility of the logo.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingMain", + "description": "The main container customizations.", + "fields": [ + { + "name": "backgroundImage", + "description": "The background image of the main container.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the main container.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divider", + "description": "The main container's divider style and visibility.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingContainerDivider", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "section", + "description": "The settings for the main sections.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingMainSection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingMainInput", + "description": "The input fields used to update the main container customizations.", + "fields": null, + "inputFields": [ + { + "name": "backgroundImage", + "description": "The background image of the main container (must not be of SVG format).", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme for the main container of the checkout.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divider", + "description": "Divider style and visibility on the main container.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingContainerDividerInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "section", + "description": "The settings for the main sections.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingMainSectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingMainSection", + "description": "The main sections customizations.", + "fields": [ + { + "name": "background", + "description": "The background style of the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBackground", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The border for the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderStyle", + "description": "The border style of the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The border width of the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius of the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shadow", + "description": "The shadow of the main sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingShadow", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingMainSectionInput", + "description": "The input fields used to update the main sections customizations.", + "fields": null, + "inputFields": [ + { + "name": "background", + "description": "The background style of the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBackground", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The border for the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderStyle", + "description": "The border style of the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The border width of the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme for the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius of the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shadow", + "description": "The shadow of the main sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingShadow", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingMerchandiseThumbnail", + "description": "The merchandise thumbnails customizations.", + "fields": [ + { + "name": "border", + "description": "The border used for merchandise thumbnails.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius used for merchandise thumbnails.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingMerchandiseThumbnailInput", + "description": "The input fields used to update the merchandise thumbnails customizations.", + "fields": null, + "inputFields": [ + { + "name": "border", + "description": "The border used for merchandise thumbnails.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius used for merchandise thumbnails.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingOrderSummary", + "description": "The order summary customizations.", + "fields": [ + { + "name": "backgroundImage", + "description": "The background image of the order summary container.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the order summary container.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divider", + "description": "The order summary container's divider style and visibility.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingContainerDivider", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "section", + "description": "The settings for the order summary sections.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingOrderSummarySection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingOrderSummaryInput", + "description": "The input fields used to update the order summary container customizations.", + "fields": null, + "inputFields": [ + { + "name": "backgroundImage", + "description": "The background image of the order summary container (must not be of SVG format).", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme for the order summary container of the checkout.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "divider", + "description": "Divider style and visibility on the order summary container.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingContainerDividerInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "section", + "description": "The settings for the order summary sections.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingOrderSummarySectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingOrderSummarySection", + "description": "The order summary sections customizations.", + "fields": [ + { + "name": "background", + "description": "The background style of the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBackground", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The border for the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderStyle", + "description": "The border style of the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The border width of the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme of the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius of the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shadow", + "description": "The shadow of the order summary sections.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingShadow", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingOrderSummarySectionInput", + "description": "The input fields used to update the order summary sections customizations.", + "fields": null, + "inputFields": [ + { + "name": "background", + "description": "The background style of the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBackground", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "border", + "description": "The border for the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderStyle", + "description": "The border style of the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderStyle", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "borderWidth", + "description": "The border width of the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorderWidth", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "colorScheme", + "description": "The selected color scheme for the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingColorSchemeSelection", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cornerRadius", + "description": "The corner radius of the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingCornerRadius", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "padding", + "description": "The padding of the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shadow", + "description": "The shadow of the order summary sections.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingShadow", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingSelect", + "description": "The selects customizations.", + "fields": [ + { + "name": "border", + "description": "The border used for selects.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography customizations used for selects.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingTypographyStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingSelectInput", + "description": "The input fields used to update the selects customizations.", + "fields": null, + "inputFields": [ + { + "name": "border", + "description": "The border used for selects.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography customizations used for selects.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyStyleInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingShadow", + "description": "The container shadow.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The Base shadow.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_100", + "description": "The Large 100 shadow.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_200", + "description": "The Large 200 shadow.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL_100", + "description": "The Small 100 shadow.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL_200", + "description": "The Small 200 shadow.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingShopifyFont", + "description": "A Shopify font.", + "fields": [ + { + "name": "sources", + "description": "The font sources.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The font weight.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CheckoutBrandingFont", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingShopifyFontGroupInput", + "description": "The input fields used to update a Shopify font group.", + "fields": null, + "inputFields": [ + { + "name": "baseWeight", + "description": "The base font weight.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "boldWeight", + "description": "The bold font weight.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loadingStrategy", + "description": "The font loading strategy.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingFontLoadingStrategy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The Shopify font name from [the list of available fonts](https://shopify.dev/themes/architecture/settings/fonts#available-fonts), such as `Alegreya Sans` or `Anonymous Pro`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingSimpleBorder", + "description": "Possible values for the simple border.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULL", + "description": "The Full simple border.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "The None simple border.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingSpacing", + "description": "Possible values for the spacing.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The Base spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTRA_LOOSE", + "description": "The Extra Loose spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTRA_TIGHT", + "description": "The Extra Tight spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOOSE", + "description": "The Loose spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "The None spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIGHT", + "description": "The Tight spacing.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingSpacingKeyword", + "description": "The spacing between UI elements.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The Base spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE", + "description": "The Large spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_100", + "description": "The Large 100 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_200", + "description": "The Large 200 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_300", + "description": "The Large 300 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_400", + "description": "The Large 400 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE_500", + "description": "The Large 500 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "The None spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL", + "description": "The Small spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL_100", + "description": "The Small 100 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL_200", + "description": "The Small 200 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL_300", + "description": "The Small 300 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL_400", + "description": "The Small 400 spacing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL_500", + "description": "The Small 500 spacing.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingTextField", + "description": "The text fields customizations.", + "fields": [ + { + "name": "border", + "description": "The border used for text fields.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography customizations used for text fields.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingTypographyStyle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTextFieldInput", + "description": "The input fields used to update the text fields customizations.", + "fields": null, + "inputFields": [ + { + "name": "border", + "description": "The border used for text fields.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingBorder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typography", + "description": "The typography customizations used for text fields.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyStyleInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingTypography", + "description": "The typography settings used for checkout-related text. Use these settings to customize the\nfont family and size for primary and secondary text elements.\n\nRefer to the [typography tutorial](https://shopify.dev/docs/apps/checkout/styling/customize-typography)\nfor further information on typography customization.", + "fields": [ + { + "name": "primary", + "description": "A font group used for most components such as text, buttons and form controls.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingFontGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondary", + "description": "A font group used for heading components by default.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingFontGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The font size design system (base size in pixels and scaling between different sizes).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingFontSize", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyFont", + "description": "The font selection.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PRIMARY", + "description": "The primary font.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SECONDARY", + "description": "The secondary font.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyInput", + "description": "The input fields used to update the typography. Refer to the [typography tutorial](https://shopify.dev/docs/apps/checkout/styling/customize-typography)\nfor more information on how to set these fields.", + "fields": null, + "inputFields": [ + { + "name": "primary", + "description": "A font group used for most components such as text, buttons and form controls.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFontGroupInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "secondary", + "description": "A font group used for heading components by default.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFontGroupInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The font size.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingFontSizeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyKerning", + "description": "Possible values for the typography kerning.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "Base or default kerning.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTRA_LOOSE", + "description": "Extra loose kerning, leaving even more space in between characters.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOOSE", + "description": "Loose kerning, leaving more space than the default in between characters.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyLetterCase", + "description": "Possible values for the typography letter case.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LOWER", + "description": "All letters are is lower case.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "No letter casing applied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Capitalize the first letter of each word.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPPER", + "description": "All letters are uppercase.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingTypographySize", + "description": "Possible choices for the font size.\n\nNote that the value in pixels of these settings can be customized with the\n[typography size](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CheckoutBrandingFontSizeInput)\nobject. Refer to the [typography tutorial](https://shopify.dev/docs/apps/checkout/styling/customize-typography)\nfor more information.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The base font size. Example: 14px.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTRA_EXTRA_LARGE", + "description": "The extra extra large font size. Example: 24px.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTRA_LARGE", + "description": "The extra large font size. Example: 21px.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTRA_SMALL", + "description": "The extra small font size. Example: 10px.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LARGE", + "description": "The large font size. Example: 19px.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "The medium font size. Example: 16px.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SMALL", + "description": "The small font size. Example: 12px.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingTypographyStyle", + "description": "The typography customizations.", + "fields": [ + { + "name": "font", + "description": "The font.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyFont", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kerning", + "description": "The kerning.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyKerning", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "letterCase", + "description": "The letter case.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyLetterCase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The font size.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographySize", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The font weight.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyWeight", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingTypographyStyleGlobal", + "description": "The global typography customizations.", + "fields": [ + { + "name": "kerning", + "description": "The kerning.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyKerning", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "letterCase", + "description": "The letter case.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyLetterCase", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyStyleGlobalInput", + "description": "The input fields used to update the global typography customizations.", + "fields": null, + "inputFields": [ + { + "name": "kerning", + "description": "The kerning.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyKerning", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "letterCase", + "description": "The letter case.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyLetterCase", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingTypographyStyleInput", + "description": "The input fields used to update the typography customizations.", + "fields": null, + "inputFields": [ + { + "name": "font", + "description": "The font.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyFont", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kerning", + "description": "The kerning.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyKerning", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "letterCase", + "description": "The letter case.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyLetterCase", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The font size.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographySize", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The font weight.", + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyWeight", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingTypographyWeight", + "description": "Possible values for the font weight.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE", + "description": "The base weight.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BOLD", + "description": "The bold weight.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingUpsertPayload", + "description": "Return type for `checkoutBrandingUpsert` mutation.", + "fields": [ + { + "name": "checkoutBranding", + "description": "Returns the new checkout branding settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CheckoutBranding", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CheckoutBrandingUpsertUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingUpsertUserError", + "description": "An error that occurs during the execution of `CheckoutBrandingUpsert`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CheckoutBrandingUpsertUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingUpsertUserErrorCode", + "description": "Possible error codes that can be returned by `CheckoutBrandingUpsertUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INTERNAL_ERROR", + "description": "Unexpected internal error happened.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutBrandingVisibility", + "description": "Possible visibility states.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HIDDEN", + "description": "The Hidden visibility setting.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VISIBLE", + "description": "The Visible visibility setting.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutProfile", + "description": "A checkout profile defines the branding settings and the UI extensions for a store's checkout. A checkout profile could be published or draft. A store might have at most one published checkout profile, which is used to render their live checkout. The store could also have multiple draft profiles that were created, previewed, and published using the admin checkout editor.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the checkout profile was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editedAt", + "description": "The date and time when the checkout profile was last edited.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether the checkout profile is published or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The profile name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "typOspPagesActive", + "description": "Whether the checkout profile Thank You Page and Order Status Page are actively using extensibility or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the checkout profile was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutProfileConnection", + "description": "An auto-generated type for paginating through multiple CheckoutProfiles.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CheckoutProfileEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CheckoutProfileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CheckoutProfile", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CheckoutProfileEdge", + "description": "An auto-generated type which holds one CheckoutProfile and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CheckoutProfileEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CheckoutProfile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CheckoutProfileSortKeys", + "description": "The set of valid sort keys for the CheckoutProfile query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EDITED_AT", + "description": "Sort by the `edited_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IS_PUBLISHED", + "description": "Sort by the `is_published` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ChildProductRelationInput", + "description": "The input fields for adding products to the Combined Listing.", + "fields": null, + "inputFields": [ + { + "name": "childProductId", + "description": "The ID of the child product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectedParentOptionValues", + "description": "The parent option values.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SelectedVariantOptionInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CodeDiscountSortKeys", + "description": "The set of valid sort keys for the CodeDiscount query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENDS_AT", + "description": "Sort by the `ends_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTS_AT", + "description": "Sort by the `starts_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "description": "Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories.\n\nCollections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections.\n\nCollections can also be created for a custom group of products. These are called custom or manual collections.", + "fields": [ + { + "name": "availablePublicationsCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A single-line, text-only description of the collection, stripped of any HTML tags and formatting that were included in the description.", + "args": [ + { + "name": "truncateAt", + "description": "Truncates a string after the given length.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "The description of the collection, including any HTML tags and formatting. This content is typically displayed to customers, such as on an online store, depending on the theme.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "feedback", + "description": "Information about the collection that's provided through resource feedback.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ResourceFeedback", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique string that identifies the collection. If a handle isn't specified when a collection is created, it's automatically generated from the collection's original title, and typically includes words from the title separated by hyphens. For example, a collection that was created with the title `Summer Catalog 2022` might have the handle `summer-catalog-2022`.\n\nIf the title is changed, the handle doesn't automatically change.\n\nThe handle can be used in themes by the Liquid templating language to refer to the collection, but using the ID is preferred because it never changes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasProduct", + "description": "Whether the collection includes the specified product.", + "args": [ + { + "name": "id", + "description": "The ID of the product to check.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the collection.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "products", + "description": "The products that are included in the collection.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductCollectionSortKeys", + "ofType": null + }, + "defaultValue": "COLLECTION_DEFAULT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsCount", + "description": "The number of products in the collection.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [ + { + "name": "onlyPublished", + "description": "Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `resourcePublicationsCount` instead." + }, + { + "name": "publications", + "description": "The channels where the collection is published.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Whether or not to return only the collection publications that are published.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionPublicationConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `resourcePublications` instead." + }, + { + "name": "publishedOnChannel", + "description": "Whether the resource is published to a specific channel.", + "args": [ + { + "name": "channelId", + "description": "The ID of the channel to check.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publishedOnPublication` instead." + }, + { + "name": "publishedOnCurrentChannel", + "description": "Whether the resource is published to a\n[channel](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel).\nFor example, the resource might be published to the online store channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publishedOnCurrentPublication` instead." + }, + { + "name": "publishedOnCurrentPublication", + "description": "Whether the resource is published to the app's\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).\nFor example, the resource might be published to the app's online store channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedOnPublication", + "description": "Whether the resource is published to a specified\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "publicationId", + "description": "The ID of the publication to check. For example, `id: \"gid://shopify/Publication/123\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublications", + "description": "The list of resources that are published to a\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled to be published.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublicationsCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [ + { + "name": "onlyPublished", + "description": "Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublicationsV2", + "description": "The list of resources that are either published or staged to be published to a\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogType", + "description": "Filter publications by catalog type.", + "type": { + "kind": "ENUM", + "name": "CatalogType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled or staged to be published.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationV2Connection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ruleSet", + "description": "For a smart (automated) collection, specifies the rules that determine whether a product is included.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CollectionRuleSet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": "If the default SEO fields for page title and description have been modified, contains the modified information.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SEO", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortOrder", + "description": "The order in which the products in the collection are displayed by default in the Shopify admin and in sales channels, such as an online store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionSortOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefrontId", + "description": "The Storefront GraphQL API ID of the `Collection`.\n\nAs of the `2022-04` version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the `id` field's value instead.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "StorefrontID", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `id` instead." + }, + { + "name": "templateSuffix", + "description": "The suffix of the Liquid template being used to show the collection in an online store. For example, if the value is `custom`, then the collection is using the `collection.custom.liquid` template. If the value is `null`, then the collection is using the default `collection.liquid` template.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the collection. It's displayed in the Shopify admin and is typically displayed in sales channels, such as an online store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unpublishedChannels", + "description": "The list of channels that the resource is not published to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChannelConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `unpublishedPublications` instead." + }, + { + "name": "unpublishedPublications", + "description": "The list of [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat the resource isn't published to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the collection was last modified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionAddProductsPayload", + "description": "Return type for `collectionAddProducts` mutation.", + "fields": [ + { + "name": "collection", + "description": "The updated collection. Returns `null` if an error is raised.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionAddProductsV2Payload", + "description": "Return type for `collectionAddProductsV2` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job adding the products.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionAddProductsV2UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionAddProductsV2UserError", + "description": "An error that occurs during the execution of `CollectionAddProductsV2`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CollectionAddProductsV2UserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CollectionAddProductsV2UserErrorCode", + "description": "Possible error codes that can be returned by `CollectionAddProductsV2UserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANT_ADD_TO_SMART_COLLECTION", + "description": "Can't manually add products to a smart collection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_DOES_NOT_EXIST", + "description": "Collection doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionConnection", + "description": "An auto-generated type for paginating through multiple Collections.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CollectionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionCreatePayload", + "description": "Return type for `collectionCreate` mutation.", + "fields": [ + { + "name": "collection", + "description": "The collection that has been created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CollectionDeleteInput", + "description": "The input fields for specifying the collection to delete.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the collection to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionDeletePayload", + "description": "Return type for `collectionDelete` mutation.", + "fields": [ + { + "name": "deletedCollectionId", + "description": "The ID of the collection that was deleted. Returns `null` if the collection doesn't exist.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The shop associated with the collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionEdge", + "description": "An auto-generated type which holds one Collection and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CollectionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CollectionInput", + "description": "The input fields required to create a collection.", + "fields": null, + "inputFields": [ + { + "name": "descriptionHtml", + "description": "The description of the collection, in HTML format.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique human-friendly string for the collection. Automatically generated from the collection's title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Specifies the collection to update or create a new collection if absent. Required for updating a collection.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the collection.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The metafields to associate with the collection.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "Initial list of collection products. Only valid with `collectionCreate` and without rules.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Indicates whether a redirect is required after a new handle has been provided.\nIf true, then the old handle is redirected to the new one automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ruleSet", + "description": "The rules used to assign products to the collection.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CollectionRuleSetInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": "SEO information for the collection.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SEOInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortOrder", + "description": "The order in which the collection's products are sorted.", + "type": { + "kind": "ENUM", + "name": "CollectionSortOrder", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The theme template used when viewing the collection in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the collection. Required for creating a new collection.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionPublication", + "description": "Represents the publications where a collection is published.", + "fields": [ + { + "name": "channel", + "description": "The channel where the collection will be published.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publication` instead." + }, + { + "name": "collection", + "description": "The collection to be published on the publication.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether the publication is published or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "The publication where the collection will be published.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date that the publication was or is going to be published.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionPublicationConnection", + "description": "An auto-generated type for paginating through multiple CollectionPublications.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionPublicationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CollectionPublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionPublication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionPublicationEdge", + "description": "An auto-generated type which holds one CollectionPublication and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CollectionPublicationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionPublication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CollectionPublicationInput", + "description": "The input fields for publications to which a collection will be published.", + "fields": null, + "inputFields": [ + { + "name": "publicationId", + "description": "The ID of the publication.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CollectionPublishInput", + "description": "The input fields for specifying a collection to publish and the sales channels to publish it to.", + "fields": null, + "inputFields": [ + { + "name": "collectionPublications", + "description": "The channels where the collection will be published.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionPublicationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The collection to create or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionPublishPayload", + "description": "Return type for `collectionPublish` mutation.", + "fields": [ + { + "name": "collection", + "description": "The published collection.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionPublications", + "description": "The channels where the collection has been published.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionPublication", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The shop associated with the collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionRemoveProductsPayload", + "description": "Return type for `collectionRemoveProducts` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job removing the products.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionReorderProductsPayload", + "description": "Return type for `collectionReorderProducts` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job reordering the products.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionRule", + "description": "Represents at rule that's used to assign products to a collection.", + "fields": [ + { + "name": "column", + "description": "The attribute that the rule focuses on. For example, `title` or `product_type`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionRuleColumn", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "condition", + "description": "The value that the operator is applied to. For example, `Hats`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "conditionObject", + "description": "The value that the operator is applied to.", + "args": [], + "type": { + "kind": "UNION", + "name": "CollectionRuleConditionObject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relation", + "description": "The type of operator that the rule is based on. For example, `equals`, `contains`, or `not_equals`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionRuleRelation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleCategoryCondition", + "description": "Specifies the taxonomy category to used for the condition.", + "fields": [ + { + "name": "value", + "description": "The taxonomy category used as condition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategory", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CollectionRuleColumn", + "description": "Specifies the attribute of a product being used to populate the smart collection.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "IS_PRICE_REDUCED", + "description": "An attribute evaluated based on the `compare_at_price` attribute of the product's variants.\nWith `is_set` relation, the rule matches products with at least one variant with `compare_at_price` set.\nWith `is_not_set` relation, the rule matches matches products with at least one variant with `compare_at_price` not set.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_CATEGORY_ID", + "description": "The [`product_category_id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-category) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_METAFIELD_DEFINITION", + "description": "This category includes metafield definitions that have the `useAsCollectionCondition` flag set to true.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_TAXONOMY_NODE_ID", + "description": "The [`product_taxonomy_node_id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-productcategory) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAG", + "description": "The [`tag`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-producttype) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "The [`title`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-title) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE", + "description": "The [`type`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-producttype) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_COMPARE_AT_PRICE", + "description": "The [`variant_compare_at_price`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-compareatprice) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_INVENTORY", + "description": "The [`variant_inventory`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-inventoryquantity) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_METAFIELD_DEFINITION", + "description": "This category includes metafield definitions that have the `useAsCollectionCondition` flag set to true.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_PRICE", + "description": "The [`variant_price`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-price) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_TITLE", + "description": "The [`variant_title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-title) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_WEIGHT", + "description": "The [`variant_weight`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-weight) attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VENDOR", + "description": "The [`vendor`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-vendor) attribute.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "CollectionRuleConditionObject", + "description": "Specifies object for the condition of the rule.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CollectionRuleCategoryCondition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleMetafieldCondition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleProductCategoryCondition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleTextCondition", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CollectionRuleConditions", + "description": "This object defines all columns and allowed relations that can be used in rules for smart collections to automatically include the matching products.", + "fields": [ + { + "name": "allowedRelations", + "description": "Allowed relations of the rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionRuleRelation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultRelation", + "description": "Most commonly used relation for this rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionRuleRelation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ruleObject", + "description": "Additional attributes defining the rule.", + "args": [], + "type": { + "kind": "UNION", + "name": "CollectionRuleConditionsRuleObject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ruleType", + "description": "Type of the rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionRuleColumn", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "CollectionRuleConditionsRuleObject", + "description": "Specifies object with additional rule attributes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CollectionRuleMetafieldCondition", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "CollectionRuleInput", + "description": "The input fields for a rule to associate with a collection.", + "fields": null, + "inputFields": [ + { + "name": "column", + "description": "The attribute that the rule focuses on. For example, `title` or `product_type`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionRuleColumn", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "condition", + "description": "The value that the operator is applied to. For example, `Hats`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "conditionObjectId", + "description": "The object ID that points to additional attributes for the collection rule.\nThis is only required when using metafield definition rules.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "relation", + "description": "The type of operator that the rule is based on. For example, `equals`, `contains`, or `not_equals`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CollectionRuleRelation", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleMetafieldCondition", + "description": "Identifies a metafield definition used as a rule for the smart collection.", + "fields": [ + { + "name": "metafieldDefinition", + "description": "The metafield definition associated with the condition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleProductCategoryCondition", + "description": "Specifies the condition for a Product Category field.", + "fields": [ + { + "name": "value", + "description": "The value of the condition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductTaxonomyNode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CollectionRuleRelation", + "description": "Specifies the relationship between the `column` and the `condition`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONTAINS", + "description": "The attribute contains the condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENDS_WITH", + "description": "The attribute ends with the condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EQUALS", + "description": "The attribute is equal to the condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The attribute is greater than the condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IS_NOT_SET", + "description": "The attribute is not set (equal to `null`).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IS_SET", + "description": "The attribute is set (not equal to `null`).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN", + "description": "The attribute is less than the condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_CONTAINS", + "description": "The attribute does not contain the condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_EQUALS", + "description": "The attribute does not equal the condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTS_WITH", + "description": "The attribute starts with the condition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleSet", + "description": "The set of rules that are used to determine which products are included in the collection.", + "fields": [ + { + "name": "appliedDisjunctively", + "description": "Whether products must match any or all of the rules to be included in the collection.\nIf true, then products must match at least one of the rules to be included in the collection.\nIf false, then products must match all of the rules to be included in the collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rules", + "description": "The rules used to assign products to the collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionRule", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CollectionRuleSetInput", + "description": "The input fields for a rule set of the collection.", + "fields": null, + "inputFields": [ + { + "name": "appliedDisjunctively", + "description": "Whether products must match any or all of the rules to be included in the collection.\nIf true, then products must match at least one of the rules to be included in the collection.\nIf false, then products must match all of the rules to be included in the collection.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rules", + "description": "The rules used to assign products to the collection.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionRuleInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionRuleTextCondition", + "description": "Specifies the condition for a text field.", + "fields": [ + { + "name": "value", + "description": "The value of the condition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CollectionSortKeys", + "description": "The set of valid sort keys for the Collection query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CollectionSortOrder", + "description": "Specifies the sort order for the products in the collection.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALPHA_ASC", + "description": "Alphabetically, in ascending order (A - Z).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ALPHA_DESC", + "description": "Alphabetically, in descending order (Z - A).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BEST_SELLING", + "description": "By best-selling products.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED", + "description": "By date created, in ascending order (oldest - newest).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_DESC", + "description": "By date created, in descending order (newest - oldest).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "In the order set manually by the merchant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_ASC", + "description": "By price, in ascending order (lowest - highest).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_DESC", + "description": "By price, in descending order (highest - lowest).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CollectionUnpublishInput", + "description": "The input fields for specifying the collection to unpublish and the sales channels to remove it from.", + "fields": null, + "inputFields": [ + { + "name": "collectionPublications", + "description": "The channels where the collection is published.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionPublicationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The collection to create or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionUnpublishPayload", + "description": "Return type for `collectionUnpublish` mutation.", + "fields": [ + { + "name": "collection", + "description": "The collection that has been unpublished.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The shop associated with the collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CollectionUpdatePayload", + "description": "Return type for `collectionUpdate` mutation.", + "fields": [ + { + "name": "collection", + "description": "The updated collection.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "The asynchronous job updating the products based on the new rule set.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Color", + "description": "A string containing a hexadecimal representation of a color.\n\nFor example, \"#6A8D48\".\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CombinedListing", + "description": "A combined listing of products.", + "fields": [ + { + "name": "combinedListingChildren", + "description": "A list of child products in the combined listing.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CombinedListingChildConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentProduct", + "description": "The parent product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CombinedListingChild", + "description": "A child of a combined listing.", + "fields": [ + { + "name": "parentVariant", + "description": "The parent variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The child product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CombinedListingChildConnection", + "description": "An auto-generated type for paginating through multiple CombinedListingChildren.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CombinedListingChildEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CombinedListingChildEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CombinedListingChild", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CombinedListingChildEdge", + "description": "An auto-generated type which holds one CombinedListingChild and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CombinedListingChildEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CombinedListingChild", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CombinedListingUpdatePayload", + "description": "Return type for `combinedListingUpdate` mutation.", + "fields": [ + { + "name": "product", + "description": "The parent product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CombinedListingUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CombinedListingUpdateUserError", + "description": "An error that occurs during the execution of `CombinedListingUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CombinedListingUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CombinedListingUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `CombinedListingUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_HAVE_DUPLICATED_PRODUCTS", + "description": "Unable to add duplicated products.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_HAVE_PARENT_AS_CHILD", + "description": "Unable to add a product that is a parent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_HAVE_REPEATED_OPTIONS", + "description": "Unable to add products with repeated options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_HAVE_REPEATED_OPTION_VALUES", + "description": "Option values cannot be repeated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANT_ADD_OPTIONS_VALUES_IF_ALREADY_EXISTS", + "description": "Unable to add options values that are already in use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMBINED_LISTINGS_NOT_ENABLED", + "description": "Combined listings feature is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EDIT_AND_REMOVE_ON_SAME_PRODUCTS", + "description": "Cannot perform edit and remove on same products.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_ADD_PRODUCTS", + "description": "Unable to add products.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_REMOVE_PRODUCTS", + "description": "Unable to remove products.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_UPDATE_PRODUCTS", + "description": "Unable to update products.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_METAFIELDS_CANNOT_BE_REPEATED", + "description": "The same metafield cannot be linked to multiple options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_METAFIELD_CANNOT_BE_CHANGED", + "description": "An option linked to a metafield cannot be linked to a different metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_METAFIELD_VALUE_MISSING", + "description": "Linked metafield value missing from `optionsAndValues` field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP", + "description": "Linked options are currently not supported for this shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUST_HAVE_SELECTED_OPTION_VALUES", + "description": "Selected option values cannot be empty.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTIONS_MUST_BE_EQUAL_TO_THE_OTHER_COMPONENTS", + "description": "All child products must include the same options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_NAME_CANNOT_BE_BLANK", + "description": "Unable to add products with blank option names.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_NOT_FOUND", + "description": "Option does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_CANNOT_BE_BLANK", + "description": "Unable to update options with blank option values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_CANNOT_BE_EMPTY", + "description": "Unable to update options with no option values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT_PRODUCT_MUST_BE_A_COMBINED_LISTING", + "description": "Unable to update components for a product that isn't a combined listing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_IS_ALREADY_A_CHILD", + "description": "Unable to add a product that is already a child.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_MEMBERSHIP_NOT_FOUND", + "description": "Failed to remove mebmership due to invalid input.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_NOT_FOUND", + "description": "Unable to add products that do not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE_TOO_LONG", + "description": "The title cannot be longer than 255 characters.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_PRODUCTS", + "description": "You have reached the maximum number of products that can be added to an individual combined listing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_VARIANTS", + "description": "You have reached the maximum number of variants across all products for an individual combined listing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNEXPECTED_ERROR", + "description": "An unexpected error occurred.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CombinedListingsRole", + "description": "The role of the combined listing.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHILD", + "description": "The product is the child of a combined listing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT", + "description": "The product is the parent of a combined listing.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Comment", + "description": "A comment on an article.", + "fields": [ + { + "name": "article", + "description": "The article associated with the comment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "The comment’s author.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentAuthor", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "The content of the comment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyHtml", + "description": "The content of the comment, complete with HTML formatting.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the comment was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ip", + "description": "The IP address of the commenter.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether or not the comment is published.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedAt", + "description": "The date and time when the comment was published.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the comment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CommentStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the comment was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userAgent", + "description": "The user agent of the commenter.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentApprovePayload", + "description": "Return type for `commentApprove` mutation.", + "fields": [ + { + "name": "comment", + "description": "The comment that was approved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentApproveUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentApproveUserError", + "description": "An error that occurs during the execution of `CommentApprove`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CommentApproveUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentApproveUserErrorCode", + "description": "Possible error codes that can be returned by `CommentApproveUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentAuthor", + "description": "The author of a comment.", + "fields": [ + { + "name": "email", + "description": "The author's email.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The author’s name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentConnection", + "description": "An auto-generated type for paginating through multiple Comments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CommentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentDeletePayload", + "description": "Return type for `commentDelete` mutation.", + "fields": [ + { + "name": "deletedCommentId", + "description": "The ID of the comment that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentDeleteUserError", + "description": "An error that occurs during the execution of `CommentDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CommentDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `CommentDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentEdge", + "description": "An auto-generated type which holds one Comment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CommentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentEvent", + "description": "Comment events are generated by staff members of a shop.\nThey are created when a staff member adds a comment to the timeline of an order, draft order, customer, or transfer.", + "fields": [ + { + "name": "action", + "description": "The action that occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appTitle", + "description": "The name of the app that created the event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attachments", + "description": "The attachments associated with the comment event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentEventAttachment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributeToApp", + "description": "Whether the event was created by an app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributeToUser", + "description": "Whether the event was caused by an admin user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "The name of the user that authored the comment event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDelete", + "description": "Whether the comment event can be deleted. If true, then the comment event can be deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canEdit", + "description": "Whether the comment event can be edited. If true, then the comment event can be edited.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the event was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "criticalAlert", + "description": "Whether the event is critical.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edited", + "description": "Whether the comment event has been edited. If true, then the comment event has been edited.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "embed", + "description": "The object reference associated with the comment event. For example, a product or discount).", + "args": [], + "type": { + "kind": "UNION", + "name": "CommentEventEmbed", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Human readable text that describes the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rawMessage", + "description": "The raw body of the comment event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": "The parent subject to which the comment event belongs.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentEventAttachment", + "description": "A file attachment associated to a comment event.", + "fields": [ + { + "name": "fileExtension", + "description": "The file extension of the comment event attachment, indicating the file format.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image attached to the comment event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The filename of the comment event attachment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The size of the attachment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL of the attachment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "CommentEventEmbed", + "description": "The main embed of a comment event.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "description": "The subject line of a comment event.", + "fields": [ + { + "name": "hasTimelineComment", + "description": "Whether the timeline subject has a timeline comment. If true, then a timeline comment exists.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceRule", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CommentNotSpamPayload", + "description": "Return type for `commentNotSpam` mutation.", + "fields": [ + { + "name": "comment", + "description": "The comment that was marked as not spam.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentNotSpamUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentNotSpamUserError", + "description": "An error that occurs during the execution of `CommentNotSpam`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CommentNotSpamUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentNotSpamUserErrorCode", + "description": "Possible error codes that can be returned by `CommentNotSpamUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentPolicy", + "description": "Possible comment policies for a blog.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTO_PUBLISHED", + "description": "Readers can post comments to blog articles without moderation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "Readers cannot post comments to blog articles.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODERATED", + "description": "Readers can post comments to blog articles, but comments must be moderated before they appear.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentSortKeys", + "description": "The set of valid sort keys for the Comment query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentSpamPayload", + "description": "Return type for `commentSpam` mutation.", + "fields": [ + { + "name": "comment", + "description": "The comment that was marked as spam.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentSpamUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentSpamUserError", + "description": "An error that occurs during the execution of `CommentSpam`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CommentSpamUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentSpamUserErrorCode", + "description": "Possible error codes that can be returned by `CommentSpamUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CommentStatus", + "description": "The status of a comment.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PENDING", + "description": "The comment is pending approval.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED", + "description": "The comment is published.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOVED", + "description": "The comment has been removed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SPAM", + "description": "The comment is marked as spam.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNAPPROVED", + "description": "The comment is unapproved.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompaniesDeletePayload", + "description": "Return type for `companiesDelete` mutation.", + "fields": [ + { + "name": "deletedCompanyIds", + "description": "A list of IDs of the deleted companies.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Company", + "description": "Represents information about a company which is also a customer of the shop.", + "fields": [ + { + "name": "contactCount", + "description": "The number of contacts that belong to the company.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `contactsCount` instead." + }, + { + "name": "contactRoles", + "description": "The list of roles for the company contacts.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyContactRoleSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contacts", + "description": "The list of contacts in the company.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| company_id | id |\n| company_location_id | id |\n| created_at | time |\n| email | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_name | string |\n| name | string |\n| role_name | string |\n| status | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyContactSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contactsCount", + "description": "The number of contacts that belong to the company.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSince", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company became the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultRole", + "description": "The role proposed by default for a contact at the company.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContactRole", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrders", + "description": "The list of the company's draft orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| customer_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| source | string |\n| status | string |\n| tag | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DraftOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalId", + "description": "A unique externally-supplied ID for the company.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Whether the merchant added a timeline comment to the company.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lifetimeDuration", + "description": "The lifetime duration of the company, since it became a customer of the shop. Examples: `2 days`, `3 months`, `1 year`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": "The list of locations in the company.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| company_id | id |\n| created_at | time |\n| external_id | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| ids | string |\n| name | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyLocationSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsCount", + "description": "The number of locations that belong to the company.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mainContact", + "description": "The main contact for the company.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the company.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the company.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "The list of the company's orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "OrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ordersCount", + "description": "The total number of orders placed for this company, across all its locations.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "totalSpent", + "description": "The total amount spent by this company, across all its locations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyAddress", + "description": "Represents a billing or shipping address for a company location.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyName", + "description": "The name of the company.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The name of the country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code for the country of the address.\nFor example, US.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company address was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name of the recipient.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formattedAddress", + "description": "The formatted version of the address.", + "args": [ + { + "name": "withCompanyName", + "description": "Whether to include the company name in the formatted address.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "withName", + "description": "Whether to include the recipient's name in the formatted address.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formattedArea", + "description": "A comma-separated list of the values for city, province, and country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name of the recipient.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "A unique phone number for the customer.\nFormatted using E.164 standard. For example, _+16135551111_.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The region of the address, such as the province, state, or district.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipient", + "description": "The identity of the recipient e.g. 'Receiving Department'.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company address was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zoneCode", + "description": "The alphanumeric code for the region.\nFor example, ON.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyAddressDeletePayload", + "description": "Return type for `companyAddressDelete` mutation.", + "fields": [ + { + "name": "deletedAddressId", + "description": "The ID of the deleted address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyAddressInput", + "description": "The input fields to create or update the address of a company location.", + "fields": null, + "inputFields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code ([ISO 3166-1 alpha-2]](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format) for the country of the address. For example, `US`` for the United States.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name of the recipient.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name of the recipient.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "A phone number for the recipient. Formatted using E.164 standard. For example, _+16135551111_.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipient", + "description": "The identity of the recipient e.g. 'Receiving Department'.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zoneCode", + "description": "The alphanumeric code for the region of the address, such as the province, state, or district. For example, `ON` for Ontario, Canada.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CompanyAddressType", + "description": "The valid values for the address type of a company.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BILLING", + "description": "The address is a billing address.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING", + "description": "The address is a shipping address.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyAssignCustomerAsContactPayload", + "description": "Return type for `companyAssignCustomerAsContact` mutation.", + "fields": [ + { + "name": "companyContact", + "description": "The created company contact.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyAssignMainContactPayload", + "description": "Return type for `companyAssignMainContact` mutation.", + "fields": [ + { + "name": "company", + "description": "The company for which the main contact is assigned.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyConnection", + "description": "An auto-generated type for paginating through multiple Companies.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CompanyEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContact", + "description": "A person that acts on behalf of company associated to [a customer](https://shopify.dev/api/admin-graphql/latest/objects/customer).", + "fields": [ + { + "name": "company", + "description": "The company to which the contact belongs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company contact was created at Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer associated to this contact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrders", + "description": "The list of draft orders for the company contact.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| customer_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| source | string |\n| status | string |\n| tag | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DraftOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isMainContact", + "description": "Whether the contact is the main contact of the company.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lifetimeDuration", + "description": "The lifetime duration of the company contact, since its creation date on Shopify. Examples: `1 year`, `2 months`, `3 days`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The company contact's locale (language).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "The list of orders for the company contact.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "OrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roleAssignments", + "description": "The list of roles assigned to this company contact.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| company_contact_id | id |\n| company_contact_role_id | id |\n| company_id | id |\n| company_location_id | id |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_name | string |\n| role_name | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyContactRoleAssignmentSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The company contact's job title.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company contact was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactAssignRolePayload", + "description": "Return type for `companyContactAssignRole` mutation.", + "fields": [ + { + "name": "companyContactRoleAssignment", + "description": "The company contact role assignment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactAssignRolesPayload", + "description": "Return type for `companyContactAssignRoles` mutation.", + "fields": [ + { + "name": "roleAssignments", + "description": "A list of newly created assignments of company contacts to a company location.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignment", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactConnection", + "description": "An auto-generated type for paginating through multiple CompanyContacts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CompanyContactEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactCreatePayload", + "description": "Return type for `companyContactCreate` mutation.", + "fields": [ + { + "name": "companyContact", + "description": "The created company contact.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactDeletePayload", + "description": "Return type for `companyContactDelete` mutation.", + "fields": [ + { + "name": "deletedCompanyContactId", + "description": "The ID of the deleted company contact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactEdge", + "description": "An auto-generated type which holds one CompanyContact and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CompanyContactEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyContactInput", + "description": "The input fields for company contact attributes when creating or updating a company contact.", + "fields": null, + "inputFields": [ + { + "name": "email", + "description": "The unique email address of the company contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The company contact's first name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The company contact's last name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The contact's locale.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the company contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the company contact.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRemoveFromCompanyPayload", + "description": "Return type for `companyContactRemoveFromCompany` mutation.", + "fields": [ + { + "name": "removedCompanyContactId", + "description": "The ID of the removed company contact.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRevokeRolePayload", + "description": "Return type for `companyContactRevokeRole` mutation.", + "fields": [ + { + "name": "revokedCompanyContactRoleAssignmentId", + "description": "The role assignment that was revoked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRevokeRolesPayload", + "description": "Return type for `companyContactRevokeRoles` mutation.", + "fields": [ + { + "name": "revokedRoleAssignmentIds", + "description": "A list of role assignment IDs that were removed from the company contact.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRole", + "description": "The role for a [company contact](https://shopify.dev/api/admin-graphql/latest/objects/companycontact).", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of a role.\nFor example, `admin` or `buyer`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note for the role.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyContactRoleAssign", + "description": "The input fields for the role and location to assign to a company contact.", + "fields": null, + "inputFields": [ + { + "name": "companyContactRoleId", + "description": "The role ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationId", + "description": "The location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignment", + "description": "The CompanyContactRoleAssignment describes the company and location associated to a company contact's role.", + "fields": [ + { + "name": "company", + "description": "The company this role assignment belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContact", + "description": "The company contact for whom this role is assigned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocation", + "description": "The company location to which the role is assigned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the assignment record was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "role", + "description": "The role that's assigned to the company contact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRole", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the assignment record was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignmentConnection", + "description": "An auto-generated type for paginating through multiple CompanyContactRoleAssignments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignmentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CompanyContactRoleAssignmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignmentEdge", + "description": "An auto-generated type which holds one CompanyContactRoleAssignment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CompanyContactRoleAssignmentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CompanyContactRoleAssignmentSortKeys", + "description": "The set of valid sort keys for the CompanyContactRoleAssignment query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_NAME", + "description": "Sort by the `location_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRoleConnection", + "description": "An auto-generated type for paginating through multiple CompanyContactRoles.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CompanyContactRoleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRole", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRoleEdge", + "description": "An auto-generated type which holds one CompanyContactRole and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CompanyContactRoleEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRole", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CompanyContactRoleSortKeys", + "description": "The set of valid sort keys for the CompanyContactRole query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactSendWelcomeEmailPayload", + "description": "Return type for `companyContactSendWelcomeEmail` mutation.", + "fields": [ + { + "name": "companyContact", + "description": "The company contact to whom a welcome email was sent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CompanyContactSortKeys", + "description": "The set of valid sort keys for the CompanyContact query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPANY_ID", + "description": "Sort by the `company_id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL", + "description": "Sort by the `email` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME_EMAIL", + "description": "Sort by the `name_email` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactUpdatePayload", + "description": "Return type for `companyContactUpdate` mutation.", + "fields": [ + { + "name": "companyContact", + "description": "The updated company contact.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactsDeletePayload", + "description": "Return type for `companyContactsDelete` mutation.", + "fields": [ + { + "name": "deletedCompanyContactIds", + "description": "The list of IDs of the deleted company contacts.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyCreateInput", + "description": "The input fields and values for creating a company and its associated resources.", + "fields": null, + "inputFields": [ + { + "name": "company", + "description": "The attributes for the company.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContact", + "description": "The attributes for the company contact.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CompanyContactInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocation", + "description": "The attributes for the company location.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CompanyLocationInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyCreatePayload", + "description": "Return type for `companyCreate` mutation.", + "fields": [ + { + "name": "company", + "description": "The created company.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyDeletePayload", + "description": "Return type for `companyDelete` mutation.", + "fields": [ + { + "name": "deletedCompanyId", + "description": "The ID of the deleted company.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyEdge", + "description": "An auto-generated type which holds one Company and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CompanyEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyInput", + "description": "The input fields for company attributes when creating or updating a company.", + "fields": null, + "inputFields": [ + { + "name": "customerSince", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at\n which the company became the customer.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalId", + "description": "A unique externally-supplied ID for the company.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the company.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the company.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "description": "A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location.", + "fields": [ + { + "name": "billingAddress", + "description": "The address used as billing address for the location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "buyerExperienceConfiguration", + "description": "The configuration for the buyer's B2B checkout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "BuyerExperienceConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogs", + "description": "The list of catalogs associated with the company location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CatalogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogsCount", + "description": "The number of catalogs associated with the company location. Limited to a maximum of 10000.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "The company that the company location belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was created in Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "The location's currency based on the shipping address. If the shipping address is empty, then the value is the shop's primary market.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrders", + "description": "The list of draft orders for the company location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| customer_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| source | string |\n| status | string |\n| tag | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DraftOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalId", + "description": "A unique externally-supplied ID for the company location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Whether the merchant added a timeline comment to the company location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inCatalog", + "description": "Whether the company location is assigned a specific catalog.", + "args": [ + { + "name": "catalogId", + "description": "The ID of the catalog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The preferred locale of the company location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "The market that includes the location's shipping address. If the shipping address is empty, then the value is the shop's primary market.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the company location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the company location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderCount", + "description": "The total number of orders placed for the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `ordersCount` instead." + }, + { + "name": "orders", + "description": "The list of orders for the company location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "OrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ordersCount", + "description": "The total number of orders placed for the location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the company location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "roleAssignments", + "description": "The list of roles assigned to the company location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| company_contact_id | id |\n| company_contact_role_id | id |\n| company_id | id |\n| company_location_id | id |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_name | string |\n| role_name | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyContactRoleAssignmentSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The address used as shipping address for the location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMemberAssignments", + "description": "The list of staff members assigned to the company location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| company_location_id | id |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| staff_member_id | id |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyLocationStaffMemberAssignmentSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The list of tax exemptions applied to the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxRegistrationId", + "description": "The tax registration ID for the company location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSpent", + "description": "The total amount spent by the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationAssignAddressPayload", + "description": "Return type for `companyLocationAssignAddress` mutation.", + "fields": [ + { + "name": "addresses", + "description": "The list of updated addresses on the company location.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyAddress", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationAssignRolesPayload", + "description": "Return type for `companyLocationAssignRoles` mutation.", + "fields": [ + { + "name": "roleAssignments", + "description": "A list of newly created assignments of company contacts to a company location.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignment", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationAssignStaffMembersPayload", + "description": "Return type for `companyLocationAssignStaffMembers` mutation.", + "fields": [ + { + "name": "companyLocationStaffMemberAssignments", + "description": "The list of created staff member assignments.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignment", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationAssignTaxExemptionsPayload", + "description": "Return type for `companyLocationAssignTaxExemptions` mutation.", + "fields": [ + { + "name": "companyLocation", + "description": "The updated company location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationCatalog", + "description": "A list of products with publishing and pricing information associated with company locations.", + "fields": [ + { + "name": "companyLocations", + "description": "The company locations associated with the catalog.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| company_id | id |\n| created_at | time |\n| external_id | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| ids | string |\n| name | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyLocationSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationsCount", + "description": "The number of company locations associated with the catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operations", + "description": "Most recent catalog operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "The price list associated with the catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "A group of products and collections that's published to a catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CatalogStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationConnection", + "description": "An auto-generated type for paginating through multiple CompanyLocations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CompanyLocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationCreatePayload", + "description": "Return type for `companyLocationCreate` mutation.", + "fields": [ + { + "name": "companyLocation", + "description": "The created company location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationCreateTaxRegistrationPayload", + "description": "Return type for `companyLocationCreateTaxRegistration` mutation.", + "fields": [ + { + "name": "companyLocation", + "description": "The company location with the created tax registration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationDeletePayload", + "description": "Return type for `companyLocationDelete` mutation.", + "fields": [ + { + "name": "deletedCompanyLocationId", + "description": "The ID of the deleted company location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationEdge", + "description": "An auto-generated type which holds one CompanyLocation and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CompanyLocationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyLocationInput", + "description": "The input fields for company location when creating or updating a company location.", + "fields": null, + "inputFields": [ + { + "name": "billingAddress", + "description": "The input fields to create or update the billing address for a company location.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CompanyAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingSameAsShipping", + "description": "Whether the billing address is the same as the shipping address. If the value is true, then the input for `billingAddress` is ignored.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "buyerExperienceConfiguration", + "description": "The configuration for the buyer's checkout at the company location.", + "type": { + "kind": "INPUT_OBJECT", + "name": "BuyerExperienceConfigurationInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalId", + "description": "A unique externally-supplied ID for the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The preferred locale of the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The input fields to create or update the shipping address for a company location.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CompanyAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The list of tax exemptions to apply to the company location.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxRegistrationId", + "description": "The tax registration ID of the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationRemoveStaffMembersPayload", + "description": "Return type for `companyLocationRemoveStaffMembers` mutation.", + "fields": [ + { + "name": "deletedCompanyLocationStaffMemberAssignmentIds", + "description": "The list of IDs of the deleted staff member assignment.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationRevokeRolesPayload", + "description": "Return type for `companyLocationRevokeRoles` mutation.", + "fields": [ + { + "name": "revokedRoleAssignmentIds", + "description": "A list of role assignment IDs that were removed from the company location.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationRevokeTaxExemptionsPayload", + "description": "Return type for `companyLocationRevokeTaxExemptions` mutation.", + "fields": [ + { + "name": "companyLocation", + "description": "The updated company location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationRevokeTaxRegistrationPayload", + "description": "Return type for `companyLocationRevokeTaxRegistration` mutation.", + "fields": [ + { + "name": "companyLocation", + "description": "The updated company location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyLocationRoleAssign", + "description": "The input fields for the role and contact to assign on a location.", + "fields": null, + "inputFields": [ + { + "name": "companyContactId", + "description": "The company contact ID..", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactRoleId", + "description": "The role ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CompanyLocationSortKeys", + "description": "The set of valid sort keys for the CompanyLocation query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPANY_AND_LOCATION_NAME", + "description": "Sort by the `company_and_location_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_ID", + "description": "Sort by the `company_id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignment", + "description": "A representation of store's staff member who is assigned to a [company location](https://shopify.dev/api/admin-graphql/latest/objects/CompanyLocation) of the shop. The staff member's actions will be limited to objects associated with the assigned company location.", + "fields": [ + { + "name": "companyLocation", + "description": "The company location the staff member is assigned to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "Represents the data of a staff member who's assigned to a company location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignmentConnection", + "description": "An auto-generated type for paginating through multiple CompanyLocationStaffMemberAssignments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignmentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CompanyLocationStaffMemberAssignmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignmentEdge", + "description": "An auto-generated type which holds one CompanyLocationStaffMemberAssignment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CompanyLocationStaffMemberAssignmentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CompanyLocationStaffMemberAssignmentSortKeys", + "description": "The set of valid sort keys for the CompanyLocationStaffMemberAssignment query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CompanyLocationUpdateInput", + "description": "The input fields for company location when creating or updating a company location.", + "fields": null, + "inputFields": [ + { + "name": "buyerExperienceConfiguration", + "description": "The configuration for the buyer's checkout at the company location.", + "type": { + "kind": "INPUT_OBJECT", + "name": "BuyerExperienceConfigurationInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalId", + "description": "A unique externally-supplied ID for the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The preferred locale of the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the company location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationUpdatePayload", + "description": "Return type for `companyLocationUpdate` mutation.", + "fields": [ + { + "name": "companyLocation", + "description": "The updated company location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationsDeletePayload", + "description": "Return type for `companyLocationsDelete` mutation.", + "fields": [ + { + "name": "deletedCompanyLocationIds", + "description": "A list of IDs of the deleted company locations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyRevokeMainContactPayload", + "description": "Return type for `companyRevokeMainContact` mutation.", + "fields": [ + { + "name": "company", + "description": "The company from which the main contact is revoked.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CompanySortKeys", + "description": "The set of valid sort keys for the Company query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_COUNT", + "description": "Sort by the `order_count` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SINCE_DATE", + "description": "Sort by the `since_date` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_SPENT", + "description": "Sort by the `total_spent` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CompanyUpdatePayload", + "description": "Return type for `companyUpdate` mutation.", + "fields": [ + { + "name": "company", + "description": "The updated company.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContextualPricingContext", + "description": "The input fields for the context data that determines the pricing of a variant. Refer to [Product](https://shopify.dev/docs/api/admin-graphql/latest/queries/product?example=Get+the+price+range+for+a+product+for+buyers+from+Canada)for more information on how to use this input object.", + "fields": null, + "inputFields": [ + { + "name": "companyLocationId", + "description": "The CompanyLocation ID used to fetch company location specific prices.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The country code used to fetch country-specific prices.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ContextualPublicationContext", + "description": "The context data that determines the publication status of a product.", + "fields": null, + "inputFields": [ + { + "name": "companyLocationId", + "description": "The company location ID used to fetch company-specific publication.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The country code used to fetch country-specific publication.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Count", + "description": "Details for count of elements.", + "fields": [ + { + "name": "count", + "description": "The count of elements.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "precision", + "description": "The count's precision, or the exactness of the value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountPrecision", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CountPrecision", + "description": "The precision of the value returned by a count field.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AT_LEAST", + "description": "The count is at least the value. A limit was imposed and reached.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXACT", + "description": "The count is exactly the value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CountriesInShippingZones", + "description": "The list of all the countries from the combined shipping zones for the shop.", + "fields": [ + { + "name": "countryCodes", + "description": "The list of all the countries from all the combined shipping zones.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeRestOfWorld", + "description": "Whether 'Rest of World' has been defined in any of the shipping zones.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CountryCode", + "description": "The code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines.\nIf a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision\nof another country. For example, the territories associated with Spain are represented by the country code `ES`,\nand the territories associated with the United States of America are represented by the country code `US`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AC", + "description": "Ascension Island.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AD", + "description": "Andorra.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AE", + "description": "United Arab Emirates.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AF", + "description": "Afghanistan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AG", + "description": "Antigua & Barbuda.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AI", + "description": "Anguilla.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AL", + "description": "Albania.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AM", + "description": "Armenia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AN", + "description": "Netherlands Antilles.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AO", + "description": "Angola.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AR", + "description": "Argentina.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AT", + "description": "Austria.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AU", + "description": "Australia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AW", + "description": "Aruba.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AX", + "description": "Åland Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AZ", + "description": "Azerbaijan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BA", + "description": "Bosnia & Herzegovina.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BB", + "description": "Barbados.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BD", + "description": "Bangladesh.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BE", + "description": "Belgium.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BF", + "description": "Burkina Faso.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BG", + "description": "Bulgaria.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BH", + "description": "Bahrain.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BI", + "description": "Burundi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BJ", + "description": "Benin.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BL", + "description": "St. Barthélemy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BM", + "description": "Bermuda.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BN", + "description": "Brunei.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BO", + "description": "Bolivia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BQ", + "description": "Caribbean Netherlands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BR", + "description": "Brazil.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BS", + "description": "Bahamas.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BT", + "description": "Bhutan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BV", + "description": "Bouvet Island.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BW", + "description": "Botswana.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BY", + "description": "Belarus.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BZ", + "description": "Belize.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA", + "description": "Canada.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CC", + "description": "Cocos (Keeling) Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CD", + "description": "Congo - Kinshasa.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CF", + "description": "Central African Republic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CG", + "description": "Congo - Brazzaville.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CH", + "description": "Switzerland.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CI", + "description": "Côte d’Ivoire.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CK", + "description": "Cook Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CL", + "description": "Chile.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CM", + "description": "Cameroon.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CN", + "description": "China.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CO", + "description": "Colombia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CR", + "description": "Costa Rica.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CU", + "description": "Cuba.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CV", + "description": "Cape Verde.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CW", + "description": "Curaçao.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CX", + "description": "Christmas Island.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CY", + "description": "Cyprus.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CZ", + "description": "Czechia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DE", + "description": "Germany.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DJ", + "description": "Djibouti.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DK", + "description": "Denmark.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DM", + "description": "Dominica.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DO", + "description": "Dominican Republic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DZ", + "description": "Algeria.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EC", + "description": "Ecuador.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EE", + "description": "Estonia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EG", + "description": "Egypt.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EH", + "description": "Western Sahara.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ER", + "description": "Eritrea.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ES", + "description": "Spain.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ET", + "description": "Ethiopia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FI", + "description": "Finland.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FJ", + "description": "Fiji.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FK", + "description": "Falkland Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FO", + "description": "Faroe Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FR", + "description": "France.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GA", + "description": "Gabon.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GB", + "description": "United Kingdom.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GD", + "description": "Grenada.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GE", + "description": "Georgia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GF", + "description": "French Guiana.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GG", + "description": "Guernsey.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GH", + "description": "Ghana.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GI", + "description": "Gibraltar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GL", + "description": "Greenland.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GM", + "description": "Gambia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GN", + "description": "Guinea.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GP", + "description": "Guadeloupe.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GQ", + "description": "Equatorial Guinea.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GR", + "description": "Greece.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GS", + "description": "South Georgia & South Sandwich Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GT", + "description": "Guatemala.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GW", + "description": "Guinea-Bissau.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GY", + "description": "Guyana.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HK", + "description": "Hong Kong SAR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HM", + "description": "Heard & McDonald Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HN", + "description": "Honduras.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HR", + "description": "Croatia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HT", + "description": "Haiti.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HU", + "description": "Hungary.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Indonesia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IE", + "description": "Ireland.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IL", + "description": "Israel.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IM", + "description": "Isle of Man.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN", + "description": "India.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IO", + "description": "British Indian Ocean Territory.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IQ", + "description": "Iraq.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IR", + "description": "Iran.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IS", + "description": "Iceland.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IT", + "description": "Italy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JE", + "description": "Jersey.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JM", + "description": "Jamaica.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JO", + "description": "Jordan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JP", + "description": "Japan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KE", + "description": "Kenya.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KG", + "description": "Kyrgyzstan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KH", + "description": "Cambodia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KI", + "description": "Kiribati.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KM", + "description": "Comoros.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KN", + "description": "St. Kitts & Nevis.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KP", + "description": "North Korea.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KR", + "description": "South Korea.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KW", + "description": "Kuwait.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KY", + "description": "Cayman Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KZ", + "description": "Kazakhstan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LA", + "description": "Laos.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LB", + "description": "Lebanon.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LC", + "description": "St. Lucia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LI", + "description": "Liechtenstein.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LK", + "description": "Sri Lanka.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LR", + "description": "Liberia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LS", + "description": "Lesotho.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LT", + "description": "Lithuania.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LU", + "description": "Luxembourg.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LV", + "description": "Latvia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LY", + "description": "Libya.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MA", + "description": "Morocco.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MC", + "description": "Monaco.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MD", + "description": "Moldova.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ME", + "description": "Montenegro.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MF", + "description": "St. Martin.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MG", + "description": "Madagascar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MK", + "description": "North Macedonia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ML", + "description": "Mali.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MM", + "description": "Myanmar (Burma).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MN", + "description": "Mongolia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MO", + "description": "Macao SAR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MQ", + "description": "Martinique.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MR", + "description": "Mauritania.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MS", + "description": "Montserrat.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MT", + "description": "Malta.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MU", + "description": "Mauritius.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MV", + "description": "Maldives.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MW", + "description": "Malawi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MX", + "description": "Mexico.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MY", + "description": "Malaysia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MZ", + "description": "Mozambique.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NA", + "description": "Namibia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NC", + "description": "New Caledonia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NE", + "description": "Niger.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NF", + "description": "Norfolk Island.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NG", + "description": "Nigeria.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NI", + "description": "Nicaragua.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NL", + "description": "Netherlands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO", + "description": "Norway.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NP", + "description": "Nepal.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NR", + "description": "Nauru.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NU", + "description": "Niue.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NZ", + "description": "New Zealand.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OM", + "description": "Oman.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PA", + "description": "Panama.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PE", + "description": "Peru.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PF", + "description": "French Polynesia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PG", + "description": "Papua New Guinea.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PH", + "description": "Philippines.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PK", + "description": "Pakistan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PL", + "description": "Poland.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PM", + "description": "St. Pierre & Miquelon.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PN", + "description": "Pitcairn Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PS", + "description": "Palestinian Territories.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PT", + "description": "Portugal.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PY", + "description": "Paraguay.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QA", + "description": "Qatar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RE", + "description": "Réunion.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RO", + "description": "Romania.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RS", + "description": "Serbia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RU", + "description": "Russia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RW", + "description": "Rwanda.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SA", + "description": "Saudi Arabia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SB", + "description": "Solomon Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SC", + "description": "Seychelles.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SD", + "description": "Sudan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SE", + "description": "Sweden.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SG", + "description": "Singapore.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SH", + "description": "St. Helena.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SI", + "description": "Slovenia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SJ", + "description": "Svalbard & Jan Mayen.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SK", + "description": "Slovakia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SL", + "description": "Sierra Leone.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SM", + "description": "San Marino.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SN", + "description": "Senegal.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SO", + "description": "Somalia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SR", + "description": "Suriname.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SS", + "description": "South Sudan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ST", + "description": "São Tomé & Príncipe.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SV", + "description": "El Salvador.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SX", + "description": "Sint Maarten.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SY", + "description": "Syria.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SZ", + "description": "Eswatini.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TA", + "description": "Tristan da Cunha.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TC", + "description": "Turks & Caicos Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TD", + "description": "Chad.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TF", + "description": "French Southern Territories.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TG", + "description": "Togo.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TH", + "description": "Thailand.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TJ", + "description": "Tajikistan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TK", + "description": "Tokelau.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TL", + "description": "Timor-Leste.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TM", + "description": "Turkmenistan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TN", + "description": "Tunisia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TO", + "description": "Tonga.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TR", + "description": "Türkiye.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TT", + "description": "Trinidad & Tobago.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TV", + "description": "Tuvalu.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TW", + "description": "Taiwan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TZ", + "description": "Tanzania.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UA", + "description": "Ukraine.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UG", + "description": "Uganda.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UM", + "description": "U.S. Outlying Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US", + "description": "United States.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UY", + "description": "Uruguay.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UZ", + "description": "Uzbekistan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VA", + "description": "Vatican City.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VC", + "description": "St. Vincent & Grenadines.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VE", + "description": "Venezuela.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VG", + "description": "British Virgin Islands.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VN", + "description": "Vietnam.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VU", + "description": "Vanuatu.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WF", + "description": "Wallis & Futuna.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WS", + "description": "Samoa.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XK", + "description": "Kosovo.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YE", + "description": "Yemen.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YT", + "description": "Mayotte.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZA", + "description": "South Africa.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZM", + "description": "Zambia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZW", + "description": "Zimbabwe.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZZ", + "description": "Unknown Region.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CountryHarmonizedSystemCode", + "description": "The country-specific harmonized system code and ISO country code for an inventory item.", + "fields": [ + { + "name": "countryCode", + "description": "The ISO 3166-1 alpha-2 country code for the country that issued the specified harmonized system code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harmonizedSystemCode", + "description": "The country-specific harmonized system code. These are usually longer than 6 digits.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CountryHarmonizedSystemCodeConnection", + "description": "An auto-generated type for paginating through multiple CountryHarmonizedSystemCodes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CountryHarmonizedSystemCodeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CountryHarmonizedSystemCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CountryHarmonizedSystemCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CountryHarmonizedSystemCodeEdge", + "description": "An auto-generated type which holds one CountryHarmonizedSystemCode and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CountryHarmonizedSystemCodeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CountryHarmonizedSystemCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CountryHarmonizedSystemCodeInput", + "description": "The input fields required to specify a harmonized system code.", + "fields": null, + "inputFields": [ + { + "name": "countryCode", + "description": "The ISO 3166-1 alpha-2 country code for the country that issued the specified harmonized system code.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harmonizedSystemCode", + "description": "Country specific harmonized system code.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateMediaInput", + "description": "The input fields required to create a media object.", + "fields": null, + "inputFields": [ + { + "name": "alt", + "description": "The alt text associated with the media.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaContentType", + "description": "The media content type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaContentType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSource", + "description": "The original source of the media object. This might be an external URL or a staged upload URL.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CropRegion", + "description": "The part of the image that should remain after cropping.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BOTTOM", + "description": "Keep the bottom of the image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CENTER", + "description": "Keep the center of the image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEFT", + "description": "Keep the left of the image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RIGHT", + "description": "Keep the right of the image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOP", + "description": "Keep the top of the image.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CurrencyCode", + "description": "The three-letter currency codes that represent the world currencies used in stores. These include standard ISO 4217 codes, legacy codes,\nand non-standard codes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AED", + "description": "United Arab Emirates Dirham (AED).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AFN", + "description": "Afghan Afghani (AFN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ALL", + "description": "Albanian Lek (ALL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMD", + "description": "Armenian Dram (AMD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANG", + "description": "Netherlands Antillean Guilder.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AOA", + "description": "Angolan Kwanza (AOA).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARS", + "description": "Argentine Pesos (ARS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUD", + "description": "Australian Dollars (AUD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AWG", + "description": "Aruban Florin (AWG).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AZN", + "description": "Azerbaijani Manat (AZN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BAM", + "description": "Bosnia and Herzegovina Convertible Mark (BAM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BBD", + "description": "Barbadian Dollar (BBD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BDT", + "description": "Bangladesh Taka (BDT).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BGN", + "description": "Bulgarian Lev (BGN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BHD", + "description": "Bahraini Dinar (BHD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BIF", + "description": "Burundian Franc (BIF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BMD", + "description": "Bermudian Dollar (BMD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BND", + "description": "Brunei Dollar (BND).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BOB", + "description": "Bolivian Boliviano (BOB).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRL", + "description": "Brazilian Real (BRL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BSD", + "description": "Bahamian Dollar (BSD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BTN", + "description": "Bhutanese Ngultrum (BTN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BWP", + "description": "Botswana Pula (BWP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BYN", + "description": "Belarusian Ruble (BYN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BYR", + "description": "Belarusian Ruble (BYR).", + "isDeprecated": true, + "deprecationReason": "`BYR` is deprecated. Use `BYN` available from version `2021-01` onwards instead." + }, + { + "name": "BZD", + "description": "Belize Dollar (BZD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAD", + "description": "Canadian Dollars (CAD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CDF", + "description": "Congolese franc (CDF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHF", + "description": "Swiss Francs (CHF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLP", + "description": "Chilean Peso (CLP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CNY", + "description": "Chinese Yuan Renminbi (CNY).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COP", + "description": "Colombian Peso (COP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CRC", + "description": "Costa Rican Colones (CRC).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CVE", + "description": "Cape Verdean escudo (CVE).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CZK", + "description": "Czech Koruny (CZK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DJF", + "description": "Djiboutian Franc (DJF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DKK", + "description": "Danish Kroner (DKK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOP", + "description": "Dominican Peso (DOP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DZD", + "description": "Algerian Dinar (DZD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EGP", + "description": "Egyptian Pound (EGP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERN", + "description": "Eritrean Nakfa (ERN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ETB", + "description": "Ethiopian Birr (ETB).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EUR", + "description": "Euro (EUR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FJD", + "description": "Fijian Dollars (FJD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FKP", + "description": "Falkland Islands Pounds (FKP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GBP", + "description": "United Kingdom Pounds (GBP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GEL", + "description": "Georgian Lari (GEL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GHS", + "description": "Ghanaian Cedi (GHS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIP", + "description": "Gibraltar Pounds (GIP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GMD", + "description": "Gambian Dalasi (GMD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GNF", + "description": "Guinean Franc (GNF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GTQ", + "description": "Guatemalan Quetzal (GTQ).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GYD", + "description": "Guyanese Dollar (GYD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HKD", + "description": "Hong Kong Dollars (HKD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HNL", + "description": "Honduran Lempira (HNL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HRK", + "description": "Croatian Kuna (HRK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HTG", + "description": "Haitian Gourde (HTG).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HUF", + "description": "Hungarian Forint (HUF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IDR", + "description": "Indonesian Rupiah (IDR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ILS", + "description": "Israeli New Shekel (NIS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INR", + "description": "Indian Rupees (INR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IQD", + "description": "Iraqi Dinar (IQD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IRR", + "description": "Iranian Rial (IRR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISK", + "description": "Icelandic Kronur (ISK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JEP", + "description": "Jersey Pound.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JMD", + "description": "Jamaican Dollars (JMD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JOD", + "description": "Jordanian Dinar (JOD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JPY", + "description": "Japanese Yen (JPY).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KES", + "description": "Kenyan Shilling (KES).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KGS", + "description": "Kyrgyzstani Som (KGS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KHR", + "description": "Cambodian Riel.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KID", + "description": "Kiribati Dollar (KID).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KMF", + "description": "Comorian Franc (KMF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KRW", + "description": "South Korean Won (KRW).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KWD", + "description": "Kuwaiti Dinar (KWD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KYD", + "description": "Cayman Dollars (KYD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KZT", + "description": "Kazakhstani Tenge (KZT).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAK", + "description": "Laotian Kip (LAK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LBP", + "description": "Lebanese Pounds (LBP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LKR", + "description": "Sri Lankan Rupees (LKR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LRD", + "description": "Liberian Dollar (LRD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LSL", + "description": "Lesotho Loti (LSL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LTL", + "description": "Lithuanian Litai (LTL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LVL", + "description": "Latvian Lati (LVL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LYD", + "description": "Libyan Dinar (LYD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAD", + "description": "Moroccan Dirham.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MDL", + "description": "Moldovan Leu (MDL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MGA", + "description": "Malagasy Ariary (MGA).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MKD", + "description": "Macedonia Denar (MKD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MMK", + "description": "Burmese Kyat (MMK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MNT", + "description": "Mongolian Tugrik.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MOP", + "description": "Macanese Pataca (MOP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MRU", + "description": "Mauritanian Ouguiya (MRU).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUR", + "description": "Mauritian Rupee (MUR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MVR", + "description": "Maldivian Rufiyaa (MVR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MWK", + "description": "Malawian Kwacha (MWK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MXN", + "description": "Mexican Pesos (MXN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MYR", + "description": "Malaysian Ringgits (MYR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MZN", + "description": "Mozambican Metical.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAD", + "description": "Namibian Dollar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NGN", + "description": "Nigerian Naira (NGN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NIO", + "description": "Nicaraguan Córdoba (NIO).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOK", + "description": "Norwegian Kroner (NOK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NPR", + "description": "Nepalese Rupee (NPR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NZD", + "description": "New Zealand Dollars (NZD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OMR", + "description": "Omani Rial (OMR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAB", + "description": "Panamian Balboa (PAB).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PEN", + "description": "Peruvian Nuevo Sol (PEN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PGK", + "description": "Papua New Guinean Kina (PGK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PHP", + "description": "Philippine Peso (PHP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PKR", + "description": "Pakistani Rupee (PKR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLN", + "description": "Polish Zlotych (PLN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PYG", + "description": "Paraguayan Guarani (PYG).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QAR", + "description": "Qatari Rial (QAR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RON", + "description": "Romanian Lei (RON).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RSD", + "description": "Serbian dinar (RSD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RUB", + "description": "Russian Rubles (RUB).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RWF", + "description": "Rwandan Franc (RWF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAR", + "description": "Saudi Riyal (SAR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SBD", + "description": "Solomon Islands Dollar (SBD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCR", + "description": "Seychellois Rupee (SCR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SDG", + "description": "Sudanese Pound (SDG).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEK", + "description": "Swedish Kronor (SEK).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SGD", + "description": "Singapore Dollars (SGD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHP", + "description": "Saint Helena Pounds (SHP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SLL", + "description": "Sierra Leonean Leone (SLL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SOS", + "description": "Somali Shilling (SOS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SRD", + "description": "Surinamese Dollar (SRD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SSP", + "description": "South Sudanese Pound (SSP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STD", + "description": "Sao Tome And Principe Dobra (STD).", + "isDeprecated": true, + "deprecationReason": "`STD` is deprecated. Use `STN` available from version `2022-07` onwards instead." + }, + { + "name": "STN", + "description": "Sao Tome And Principe Dobra (STN).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SYP", + "description": "Syrian Pound (SYP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SZL", + "description": "Swazi Lilangeni (SZL).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THB", + "description": "Thai baht (THB).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TJS", + "description": "Tajikistani Somoni (TJS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TMT", + "description": "Turkmenistani Manat (TMT).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TND", + "description": "Tunisian Dinar (TND).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOP", + "description": "Tongan Pa'anga (TOP).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRY", + "description": "Turkish Lira (TRY).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TTD", + "description": "Trinidad and Tobago Dollars (TTD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TWD", + "description": "Taiwan Dollars (TWD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TZS", + "description": "Tanzanian Shilling (TZS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UAH", + "description": "Ukrainian Hryvnia (UAH).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UGX", + "description": "Ugandan Shilling (UGX).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USD", + "description": "United States Dollars (USD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UYU", + "description": "Uruguayan Pesos (UYU).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UZS", + "description": "Uzbekistan som (UZS).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VED", + "description": "Venezuelan Bolivares (VED).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VEF", + "description": "Venezuelan Bolivares (VEF).", + "isDeprecated": true, + "deprecationReason": "`VEF` is deprecated. Use `VES` available from version `2020-10` onwards instead." + }, + { + "name": "VES", + "description": "Venezuelan Bolivares Soberanos (VES).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VND", + "description": "Vietnamese đồng (VND).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VUV", + "description": "Vanuatu Vatu (VUV).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WST", + "description": "Samoan Tala (WST).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XAF", + "description": "Central African CFA Franc (XAF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XCD", + "description": "East Caribbean Dollar (XCD).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XOF", + "description": "West African CFA franc (XOF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XPF", + "description": "CFP Franc (XPF).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XXX", + "description": "Unrecognized currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YER", + "description": "Yemeni Rial (YER).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZAR", + "description": "South African Rand (ZAR).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZMW", + "description": "Zambian Kwacha (ZMW).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CurrencyFormats", + "description": "Currency formats configured for the merchant. These formats are available to use within Liquid.", + "fields": [ + { + "name": "moneyFormat", + "description": "Money without currency in HTML.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moneyInEmailsFormat", + "description": "Money without currency in emails.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moneyWithCurrencyFormat", + "description": "Money with currency in HTML.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moneyWithCurrencyInEmailsFormat", + "description": "Money with currency in emails.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CurrencySetting", + "description": "A setting for a presentment currency.", + "fields": [ + { + "name": "currencyCode", + "description": "The currency's ISO code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyName", + "description": "The full name of the currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Whether the currency is enabled or not. An enabled currency setting is visible to buyers and allows orders to be generated with that currency as presentment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rateUpdatedAt", + "description": "The date and time when the active exchange rate for the currency was last modified. It can be the automatic rate's creation date, or the manual rate's last updated at date if active.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CurrencySettingConnection", + "description": "An auto-generated type for paginating through multiple CurrencySettings.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CurrencySettingEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CurrencySettingEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CurrencySetting", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CurrencySettingEdge", + "description": "An auto-generated type which holds one CurrencySetting and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CurrencySettingEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CurrencySetting", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomShippingPackageInput", + "description": "The input fields for a custom shipping package used to pack shipment.", + "fields": null, + "inputFields": [ + { + "name": "default", + "description": "The default package is the one used to calculate shipping costs on checkout.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dimensions", + "description": "Outside dimensions of the empty shipping package.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ObjectDimensionsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Descriptive name for the package.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of package.", + "type": { + "kind": "ENUM", + "name": "ShippingPackageType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "Weight of the empty shipping package.", + "type": { + "kind": "INPUT_OBJECT", + "name": "WeightInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "description": "Represents information about a customer of the shop, such as the customer's contact details, their order\nhistory, and whether they've agreed to receive marketing material by email.\n\n**Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data.", + "fields": [ + { + "name": "addresses", + "description": "A list of addresses associated with the customer.", + "args": [ + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "addressesV2", + "description": "The addresses associated with the customer.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MailingAddressConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amountSpent", + "description": "The total amount that the customer has spent on orders in their lifetime.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canDelete", + "description": "Whether the merchant can delete the customer from their store.\n\nA customer can be deleted from a store only if they haven't yet made an order. After a customer makes an\norder, they can't be deleted from a store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactProfiles", + "description": "A list of the customer's company contact profiles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the customer was added to the store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataSaleOptOut", + "description": "Whether the customer has opted out of having their data sold.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultAddress", + "description": "The default address associated with the customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "The full name of the customer, based on the values for first_name and last_name. If the first_name and\nlast_name are not available, then this falls back to the customer's email address, and if that is not available, the customer's phone number.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The customer's email address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailMarketingConsent", + "description": "The current email marketing state for the customer.\nIf the customer doesn't have an email address, then this property is `null`.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerEmailMarketingConsentState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "A list of events associated with the customer.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The customer's first name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Whether the merchant has added timeline comments about the customer on the customer's page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "To query for comments on the timeline, use the events connection and a `query` argument containing `verb:comment`, or look for a `CommentEvent` in the `__typename` of events." + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated with the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The customer's last name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastOrder", + "description": "The customer's last order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lifetimeDuration", + "description": "The amount of time since the customer was first added to the store.\n\nExample: 'about 12 years'.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The customer's locale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "The market that includes the customer’s default address.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeable", + "description": "Whether the customer can be merged with another customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerMergeable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multipassIdentifier", + "description": "A unique identifier for the customer that's used with Multipass login.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numberOfOrders", + "description": "The number of orders that the customer has made at the store in their lifetime.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "A list of the customer's orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| cart_token | string | Filter by the cart token's unique value, which references the cart that's associated with an order. | | | - `cart_token:abc123` |\n| channel | string | Filter by the channel information [`handle`](https://shopify.dev/api/admin-graphql/latest/objects/ChannelInformation#field-channeldefinition) (`ChannelInformation.channelDefinition.handle`) field. | | | - `channel:web`
- `channel:web,pos` |\n| channel_id | id | Filter by the channel [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-id) field. | | | - `channel_id:123` |\n| chargeback_status | string | Filter by the order's chargeback status. A chargeback occurs when a customer questions the legitimacy of a charge with their financial institution. | - `accepted`
- `charge_refunded`
- `lost`
- `needs_response`
- `under_review`
- `won` | | - `chargeback_status:accepted` |\n| checkout_token | string | Filter by the checkout token's unique value, which references the checkout that's associated with an order. | | | - `checkout_token:abc123` |\n| confirmation_number | string | Filter by the randomly generated alpha-numeric identifier for an order that can be displayed to the customer instead of the sequential order name. This value isn't guaranteed to be unique. | | | - `confirmation_number:ABC123` |\n| created_at | time | Filter by the date and time when the order was created in Shopify's system. | | | - `created_at:2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| credit_card_last4 | string | Filter by the last four digits of the credit card that was used to pay for the order. | | | - `credit_card_last4:1234` |\n| customer_id | id | Filter orders by the customer [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Customer#field-id) field. | | | - `customer_id:123` |\n| delivery_method | string | Filter by the delivery [`methodType`](https://shopify.dev/api/admin-graphql/2024-07/objects/DeliveryMethod#field-methodtype) field. | - `shipping`
- `pick-up`
- `retail`
- `local`
- `pickup-point`
- `none` | | - `delivery_method:shipping` |\n| discount_code | string | Filter by the case-insensitive discount code that was applied to the order at checkout. Maximum characters: 255. | | | - `discount_code:ABC123` |\n| email | string | Filter by the email address that's associated with the order. | | | - `email:example@shopify.com` |\n| financial_status | string | Filter by the order [`displayFinancialStatus`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-displayfinancialstatus) field. | - `paid`
- `pending`
- `authorized`
- `partially_paid`
- `partially_refunded`
- `refunded`
- `voided`
- `expired` | | - `financial_status:authorized` |\n| fraud_protection_level | string | Filter by the level of fraud protection that's applied to the order. | - `fully_protected`
- `partially_protected`
- `not_protected`
- `pending`
- `not_eligible`
- `not_available` | | - `fraud_protection_level:fully_protected` |\n| fulfillment_location_id | id | Filter by the fulfillment location [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment#field-location) (`Fulfillment.location.id`) field. | | | - `fulfillment_location_id:123` |\n| fulfillment_status | string | Filter by the order's fulfillment status. | - `unfulfilled`
- `fulfilled`
- `partial`
- `scheduled`
- `on_hold`
- `request_declined` | | - `fulfillment_status:fulfilled` |\n| gateway | string | Filter by the order [`paymentGatewayNames`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-paymentgatewaynames) field. | | | - `gateway:shopify_payments` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_id | id | Filter by the ID of the location that's associated with the order. | | | - `location_id:123` |\n| name | string | Filter by the order [`name`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-name) field. | | | - `name:1001-A` |\n| payment_id | string | Filter by the ID of the payment that's associated with the order. | | | - `payment_id:abc123` |\n| payment_provider_id | id | Filter by the ID of the payment provider that's associated with the order. | | | - `payment_provider_id:123` |\n| po_number | string | Filter by the order [`poNumber`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-ponumber) field. | | | - `po_number:P01001` |\n| processed_at | time | Filter by the order [`processedAt`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-processedat) field. | | | - `processed_at:2021-01-01T00:00:00Z` |\n| reference_location_id | id | Filter by the ID of a location that's associated with the order, such as locations from fulfillments, refunds, or the shop's primary location. | | | - `reference_location_id:123` |\n| return_status | string | Filter by the order's return status. | - `open`
- `requested`
- `declined`
- `canceled`
- `closed` | | - `return_status:open` |\n| risk_level | string | Filter by the order risk assessment [`riskLevel`](https://shopify.dev/api/admin-graphql/latest/objects/OrderRiskAssessment#field-risklevel) field. | - `high`
- `medium`
- `low`
- `none`
- `pending` | | - `risk_level:high` |\n| sales_channel | string | Filter by the sales channel that the order is attributed to. | | | - `sales_channel: some_sales_channel` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:ABC123` |\n| source_identifier | string | Filter by the ID of the order placed on the originating platform, such as a unique POS or third-party identifier. This value doesn't correspond to the Shopify ID that's generated from a completed draft order. | | | - `source_identifier:1234-12-1000` |\n| source_name | string | Filter by the name of the originating platform that's associated with the checkout for the order. | | | - `source_name:web`
- `source_name:shopify_draft_order` |\n| status | string | Filter by the order status. | - `open`
- `closed`
- `cancelled`
- `not_closed` | | - `status:open` |\n| subtotal_line_items_quantity | string |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| test | boolean | Filter by test orders. Test orders are made using the [Shopify Bogus Gateway](https://help.shopify.com/manual/checkout-settings/test-orders) or a payment provider with test mode enabled. | | | - `test:true` |\n| updated_at | time | Filter by the date and time when the order was last updated in Shopify's system. | | | - `updated_at:2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "OrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethods", + "description": "A list of the customer's payment methods.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showRevoked", + "description": "Whether to show the customer's revoked payment method.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The customer's phone number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "productSubscriberStatus", + "description": "Possible subscriber states of a customer defined by their subscription contracts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerProductSubscriberStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "smsMarketingConsent", + "description": "The current SMS marketing state for the customer's phone number.\n\nIf the customer does not have a phone number, then this property is `null`.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerSmsMarketingConsentState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "The state of the customer's account with the shop.\n\nPlease note that this only meaningful when Classic Customer Accounts is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statistics", + "description": "The statistics for a given customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerStatistics", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storeCreditAccounts", + "description": "Returns a list of store credit accounts that belong to the owner resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| currency_code | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContracts", + "description": "A list of the customer's subscription contracts.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma separated list of tags that have been added to the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExempt", + "description": "Whether the customer is exempt from being charged taxes on their orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The list of tax exemptions applied to the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unsubscribeUrl", + "description": "The URL to unsubscribe the customer from the mailing list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the customer was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validEmailAddress", + "description": "Whether the email address is formatted correctly.\n\nReturns `true` when the email is formatted correctly and\nbelongs to an existing domain. This doesn't guarantee that\nthe email address actually exists.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedEmail", + "description": "Whether the customer has verified their email address. Defaults to `true` if the customer is created through the Shopify admin or API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasStoreCreditAccounts", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountAppExtensionPage", + "description": "An app extension page for the customer account navigation menu.", + "fields": [ + { + "name": "appExtensionUuid", + "description": "The UUID of the app extension.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CustomerAccountPage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountNativePage", + "description": "A native page for the customer account navigation menu.", + "fields": [ + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageType", + "description": "The type of customer account native page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerAccountNativePagePageType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CustomerAccountPage", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerAccountNativePagePageType", + "description": "The type of customer account native page.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NATIVE_ORDERS", + "description": "An orders page type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NATIVE_PROFILE", + "description": "A profile page type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NATIVE_SETTINGS", + "description": "A settings page type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "An unknown page type. Represents new page types that may be added in future versions.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CustomerAccountPage", + "description": "A customer account page.", + "fields": [ + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the customer account page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CustomerAccountAppExtensionPage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountNativePage", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CustomerAccountPageConnection", + "description": "An auto-generated type for paginating through multiple CustomerAccountPages.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerAccountPageEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CustomerAccountPageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CustomerAccountPage", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountPageEdge", + "description": "An auto-generated type which holds one CustomerAccountPage and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CustomerAccountPageEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CustomerAccountPage", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountsV2", + "description": "Information about the shop's customer accounts.", + "fields": [ + { + "name": "customerAccountsVersion", + "description": "Indicates which version of customer accounts the merchant is using in online store and checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerAccountsVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loginLinksVisibleOnStorefrontAndCheckout", + "description": "Login links are shown in online store and checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "loginRequiredAtCheckout", + "description": "Customers are required to log in to their account before checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The root url for the customer accounts pages.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerAccountsVersion", + "description": "The login redirection target for customer accounts.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CLASSIC", + "description": "The customer is redirected to the classic customer accounts login page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEW_CUSTOMER_ACCOUNTS", + "description": "The customer is redirected to the new customer accounts login page.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerAddTaxExemptionsPayload", + "description": "Return type for `customerAddTaxExemptions` mutation.", + "fields": [ + { + "name": "customer", + "description": "The updated customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerCancelDataErasureErrorCode", + "description": "Possible error codes that can be returned by `CustomerCancelDataErasureUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DOES_NOT_EXIST", + "description": "Customer does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_CANCEL", + "description": "Failed to cancel customer data erasure.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_BEING_ERASED", + "description": "Customer's data is not scheduled for erasure.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerCancelDataErasurePayload", + "description": "Return type for `customerCancelDataErasure` mutation.", + "fields": [ + { + "name": "customerId", + "description": "The ID of the customer whose pending data erasure has been cancelled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerCancelDataErasureUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerCancelDataErasureUserError", + "description": "An error that occurs when cancelling a customer data erasure request.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerCancelDataErasureErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerConnection", + "description": "An auto-generated type for paginating through multiple Customers.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CustomerEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerConsentCollectedFrom", + "description": "The source that collected the customer's consent to receive marketing materials.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OTHER", + "description": "The customer consent was collected outside of Shopify.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY", + "description": "The customer consent was collected by Shopify.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerCreatePayload", + "description": "Return type for `customerCreate` mutation.", + "fields": [ + { + "name": "customer", + "description": "The created customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerCreditCard", + "description": "Represents a card instrument for customer payment method.", + "fields": [ + { + "name": "billingAddress", + "description": "The billing address of the card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerCreditCardBillingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "brand", + "description": "The brand of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresSoon", + "description": "Whether the card is about to expire.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiryMonth", + "description": "The expiry month of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiryYear", + "description": "The expiry year of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstDigits", + "description": "The card's BIN number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRevocable", + "description": "The payment method can be revoked if there are no active subscription contracts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastDigits", + "description": "The last 4 digits of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maskedNumber", + "description": "The masked card number with only the last 4 digits displayed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the card holder.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "The source of the card if coming from a wallet such as Apple Pay.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "virtualLastDigits", + "description": "The last 4 digits of the Device Account Number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerCreditCardBillingAddress", + "description": "The billing address of a credit card payment instrument.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The name of the country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code for the country of the address.\nFor example, US.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name in the billing address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name in the billing address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The region of the address, such as the province, state, or district.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The alphanumeric code for the region.\nFor example, ON.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerDeleteInput", + "description": "The input fields to delete a customer.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the customer to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerDeletePayload", + "description": "Return type for `customerDelete` mutation.", + "fields": [ + { + "name": "deletedCustomerId", + "description": "The ID of the deleted customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The shop of the deleted customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerEdge", + "description": "An auto-generated type which holds one Customer and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CustomerEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerEmailAddress", + "description": "Represents an email address.", + "fields": [ + { + "name": "emailAddress", + "description": "The customer's default email address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingState", + "description": "Whether the customer has subscribed to email marketing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerEmailAddressMarketingState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingUnsubscribeUrl", + "description": "The URL to unsubscribe a member from all mailing lists.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openTrackingLevel", + "description": "Whether the customer has opted in to having their opened emails tracked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerEmailAddressOpenTrackingLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "openTrackingUrl", + "description": "The URL that can be used to opt a customer in or out of email open tracking.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerEmailAddressMarketingState", + "description": "Possible marketing states for the customer’s email address.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The customer’s email address marketing state is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_SUBSCRIBED", + "description": "The customer is not subscribed to email marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The customer is in the process of subscribing to email marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIBED", + "description": "The customer is subscribed to email marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUBSCRIBED", + "description": "The customer is not subscribed to email marketing but was previously subscribed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerEmailAddressOpenTrackingLevel", + "description": "The different levels related to whether a customer has opted in to having their opened emails tracked.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OPTED_IN", + "description": "The customer has opted in to having their open emails tracked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTED_OUT", + "description": "The customer has opted out of having their open emails tracked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "The customer has not specified whether they want to opt in or out of having their open emails tracked.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerEmailMarketingConsentInput", + "description": "Information that describes when a customer consented to\n receiving marketing material by email.", + "fields": null, + "inputFields": [ + { + "name": "consentUpdatedAt", + "description": "The latest date and time when the customer consented or objected to\n receiving marketing material by email.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingOptInLevel", + "description": "The customer opt-in level at the time of subscribing to marketing material.", + "type": { + "kind": "ENUM", + "name": "CustomerMarketingOptInLevel", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingState", + "description": "The current marketing state associated with the customer's email.\n If the customer doesn't have an email, then this field is `null`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerEmailMarketingState", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerEmailMarketingConsentState", + "description": "The record of when a customer consented to receive marketing material by email.", + "fields": [ + { + "name": "consentUpdatedAt", + "description": "The date and time at which the customer consented to receive marketing material by email.\nThe customer's consent state reflects the consent record with the most recent `consent_updated_at` date.\nIf no date is provided, then the date and time at which the consent information was sent is used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingOptInLevel", + "description": "The marketing subscription opt-in level, as described by the M3AAWG best practices guidelines,\nthat the customer gave when they consented to receive marketing material by email.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerMarketingOptInLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingState", + "description": "The current email marketing state for the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerEmailMarketingState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerEmailMarketingConsentUpdateInput", + "description": "The input fields for the email consent information to update for a given customer ID.", + "fields": null, + "inputFields": [ + { + "name": "customerId", + "description": "The ID of the customer for which to update the email marketing consent information. The customer must have a unique email address associated to the record. If not, add the email address using the `customerUpdate` mutation first.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailMarketingConsent", + "description": "The marketing consent information when the customer consented to receiving marketing material by email.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerEmailMarketingConsentInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerEmailMarketingConsentUpdatePayload", + "description": "Return type for `customerEmailMarketingConsentUpdate` mutation.", + "fields": [ + { + "name": "customer", + "description": "The updated customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerEmailMarketingConsentUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerEmailMarketingConsentUpdateUserError", + "description": "An error that occurs during the execution of `CustomerEmailMarketingConsentUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerEmailMarketingConsentUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerEmailMarketingConsentUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerEmailMarketingConsentUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "Unexpected internal error happened.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_ARGUMENT", + "description": "Missing a required argument.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerEmailMarketingState", + "description": "The possible email marketing states for a customer.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The customer’s email address marketing state is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_SUBSCRIBED", + "description": "The customer isn't subscribed to email marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The customer is in the process of subscribing to email marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REDACTED", + "description": "The customer's personal data is erased. This value is internally-set and read-only.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIBED", + "description": "The customer is subscribed to email marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUBSCRIBED", + "description": "The customer isn't currently subscribed to email marketing but was previously subscribed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerGenerateAccountActivationUrlPayload", + "description": "Return type for `customerGenerateAccountActivationUrl` mutation.", + "fields": [ + { + "name": "accountActivationUrl", + "description": "The generated account activation URL.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerInput", + "description": "The input fields and values to use when creating or updating a customer.", + "fields": null, + "inputFields": [ + { + "name": "addresses", + "description": "The addresses for a customer.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The unique email address of the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailMarketingConsent", + "description": "Information that describes when the customer consented to receiving marketing\n material by email. The `email` field is required when creating a customer with email marketing\n consent information.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CustomerEmailMarketingConsentInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The customer's first name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the customer to update.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The customer's last name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The customer's locale.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the customer.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The unique phone number for the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "smsMarketingConsent", + "description": "The marketing consent information when the customer consented to receiving marketing\n material by SMS. The `phone` field is required when creating a customer with SMS\n marketing consent information.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CustomerSmsMarketingConsentInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A list of tags to associate with the customer. Can be an array or a comma-separated list. Example values: `[\"tag1\", \"tag2\", \"tag3\"]`, `\"tag1, tag2, tag3\"`\n\nUpdating `tags` overwrites any existing tags that were previously added to the customer. To add new tags without overwriting\nexisting tags, use the [tagsAdd](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)\nmutation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExempt", + "description": "Whether the customer is exempt from paying taxes on their order.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The list of tax exemptions to apply to the customer.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerJourney", + "description": "Represents a customer's visiting activities on a shop's online store.", + "fields": [ + { + "name": "customerOrderIndex", + "description": "The position of the current order within the customer's order history.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "daysToConversion", + "description": "The amount of days between first session and order creation date. First session represents first session since the last order, or first session within the 30 day attribution window, if more than 30 days has passed since the last order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstVisit", + "description": "The customer's first session going into the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerVisit", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastVisit", + "description": "The last session before an order is made.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerVisit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moments", + "description": "Events preceding a customer order, such as shop sessions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CustomerMoment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerJourneySummary", + "description": "Represents a customer's visiting activities on a shop's online store.", + "fields": [ + { + "name": "customerOrderIndex", + "description": "The position of the current order within the customer's order history. Test orders aren't included.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "daysToConversion", + "description": "The number of days between the first session and the order creation date. The first session represents the first session since the last order, or the first session within the 30 day attribution window, if more than 30 days have passed since the last order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstVisit", + "description": "The customer's first session going into the shop.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerVisit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastVisit", + "description": "The last session before an order is made.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerVisit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moments", + "description": "The events preceding a customer's order, such as shop sessions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerMomentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "momentsCount", + "description": "The total number of customer moments associated with this order. Returns null if the order is still in the process of being attributed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ready", + "description": "Whether the attributed sessions for the order have been created yet.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerMarketingOptInLevel", + "description": "The possible values for the marketing subscription opt-in level enabled at the time the customer consented to receive marketing information.\n\nThe levels are defined by [the M3AAWG best practices guideline\n document](https://www.m3aawg.org/sites/maawg/files/news/M3AAWG_Senders_BCP_Ver3-2015-02.pdf).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONFIRMED_OPT_IN", + "description": "After providing their information, the customer receives a confirmation and is required to\nperform a intermediate step before receiving marketing information.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SINGLE_OPT_IN", + "description": "After providing their information, the customer receives marketing information without any\nintermediate steps.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "The customer receives marketing information but how they were opted in is unknown.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergeError", + "description": "The error blocking a customer merge.", + "fields": [ + { + "name": "errorFields", + "description": "The list of fields preventing the customer from being merged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerMergeErrorFieldType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The customer merge error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerMergeErrorCode", + "description": "Possible error codes that can be returned by `CustomerMergeUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_HAS_GIFT_CARDS", + "description": "The customer cannot be merged because it has associated gift cards.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CUSTOMER", + "description": "The customer cannot be merged.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CUSTOMER_ID", + "description": "The customer ID is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_OVERRIDE_ATTRIBUTE", + "description": "The customer is missing the attribute requested for override.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OVERRIDE_ATTRIBUTE_INVALID", + "description": "The override attribute is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerMergeErrorFieldType", + "description": "The types of the hard blockers preventing a customer from being merged to another customer.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPANY_CONTACT", + "description": "The customer is a company contact.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_PAYMENT_METHODS", + "description": "The customer has payment methods.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETED_AT", + "description": "The customer does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIFT_CARDS", + "description": "The customer has gift cards.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_IN_PROGRESS", + "description": "The customer has a merge in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MULTIPASS_IDENTIFIER", + "description": "The customer has a multipass identifier.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_DATA_REQUEST", + "description": "The customer has a pending data request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REDACTED_AT", + "description": "The customer has a pending or completed redaction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STORE_CREDIT", + "description": "The customer has store credit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTIONS", + "description": "The customer has a subscription history.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerMergeOverrideFields", + "description": "The input fields to override default customer merge rules.", + "fields": null, + "inputFields": [ + { + "name": "customerIdOfDefaultAddressToKeep", + "description": "The ID of the customer whose default address will be kept.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerIdOfEmailToKeep", + "description": "The ID of the customer whose email will be kept.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerIdOfFirstNameToKeep", + "description": "The ID of the customer whose first name will be kept.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerIdOfLastNameToKeep", + "description": "The ID of the customer whose last name will be kept.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerIdOfPhoneNumberToKeep", + "description": "The ID of the customer whose phone number will be kept.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note to keep.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The tags to keep.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergePayload", + "description": "Return type for `customerMerge` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job for merging the customers.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resultingCustomerId", + "description": "The ID of the customer resulting from the merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerMergeUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergePreview", + "description": "A preview of the results of a customer merge request.", + "fields": [ + { + "name": "alternateFields", + "description": "The fields that can be used to override the default fields.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerMergePreviewAlternateFields", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blockingFields", + "description": "The fields that will block the merge if the two customers are merged.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerMergePreviewBlockingFields", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerMergeErrors", + "description": "The errors blocking the customer merge.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerMergeError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultFields", + "description": "The fields that will be kept if the two customers are merged.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerMergePreviewDefaultFields", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resultingCustomerId", + "description": "The resulting customer ID if the two customers are merged.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergePreviewAlternateFields", + "description": "The fields that can be used to override the default fields.", + "fields": [ + { + "name": "defaultAddress", + "description": "The default address of a customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The email state of a customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerEmailAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name of a customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name of a customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phoneNumber", + "description": "The phone number state of a customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPhoneNumber", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergePreviewBlockingFields", + "description": "The blocking fields of a customer merge preview. These fields will block customer merge unless edited.", + "fields": [ + { + "name": "note", + "description": "The merged note resulting from a customer merge. The merged note is over the 5000 character limit and will block customer merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The merged tags resulting from a customer merge. The merged tags are over the 250 limit and will block customer merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergePreviewDefaultFields", + "description": "The fields that will be kept as part of a customer merge preview.", + "fields": [ + { + "name": "addresses", + "description": "The merged addresses resulting from a customer merge.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MailingAddressConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultAddress", + "description": "The default address resulting from a customer merge.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountNodeCount", + "description": "The total number of customer-specific discounts resulting from a customer merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountNodes", + "description": "The merged customer-specific discounts resulting from a customer merge.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountNodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "The full name of the customer, based on the values for `first_name` and `last_name`. If `first_name` and `last_name` aren't available, then this field falls back to the customer's email address. If the customer's email isn't available, then this field falls back to the customer's phone number.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderCount", + "description": "The total number of merged draft orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrders", + "description": "The merged draft orders resulting from a customer merge.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DraftOrderSortKeys", + "ofType": null + }, + "defaultValue": "UPDATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The email state of a customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerEmailAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name resulting from a customer merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardCount", + "description": "The total number of merged gift cards.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCards", + "description": "The merged gift cards resulting from a customer merge.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "GiftCardSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name resulting from a customer merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldCount", + "description": "The total number of merged metafields.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The merged note resulting from a customer merge.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderCount", + "description": "The total number of merged orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "The merged orders resulting from a customer merge.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "OrderSortKeys", + "ofType": null + }, + "defaultValue": "PROCESSED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phoneNumber", + "description": "The phone number state of a customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPhoneNumber", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The merged tags resulting from a customer merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergeRequest", + "description": "A merge request for merging two customers.", + "fields": [ + { + "name": "customerMergeErrors", + "description": "The merge errors that occurred during the customer merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerMergeError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobId", + "description": "The UUID of the merge job.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resultingCustomerId", + "description": "The ID of the customer resulting from the merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the customer merge request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerMergeRequestStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerMergeRequestStatus", + "description": "The status of the customer merge request.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPLETED", + "description": "The customer merge request has been completed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "The customer merge request has failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "The customer merge request is currently in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUESTED", + "description": "The customer merge request has been requested.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergeUserError", + "description": "An error that occurs while merging two customers.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerMergeErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergeable", + "description": "An object that represents whether a customer can be merged with another customer.", + "fields": [ + { + "name": "errorFields", + "description": "The list of fields preventing the customer from being merged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerMergeErrorFieldType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isMergeable", + "description": "Whether the customer can be merged with another customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeInProgress", + "description": "The merge request if one is currently in progress.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerMergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason why the customer can't be merged with another customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "CustomerMoment", + "description": "Represents a session preceding an order, often used for building a timeline of events leading to an order.", + "fields": [ + { + "name": "occurredAt", + "description": "The date and time when the customer's session occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CustomerVisit", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CustomerMomentConnection", + "description": "An auto-generated type for paginating through multiple CustomerMoments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerMomentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CustomerMomentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CustomerMoment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerMomentEdge", + "description": "An auto-generated type which holds one CustomerMoment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CustomerMomentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "CustomerMoment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "CustomerPaymentInstrument", + "description": "All possible instruments for CustomerPaymentMethods.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CustomerCreditCard", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaypalBillingAgreement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerShopPayAgreement", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentInstrumentBillingAddress", + "description": "The billing address of a payment instrument.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The name of the country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code for the country of the address.\nFor example, US.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the buyer of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The region of the address, such as the province, state, or district.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The alphanumeric code for the region.\nFor example, ON.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "description": "A customer's payment method.", + "fields": [ + { + "name": "customer", + "description": "The customer to whom the payment method belongs.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of this payment method.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instrument", + "description": "The instrument for this payment method.", + "args": [], + "type": { + "kind": "UNION", + "name": "CustomerPaymentInstrument", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revokedAt", + "description": "The time that the payment method was revoked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revokedReason", + "description": "The revocation reason for this payment method.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerPaymentMethodRevocationReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContracts", + "description": "List Subscription Contracts.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodConnection", + "description": "An auto-generated type for paginating through multiple CustomerPaymentMethods.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CustomerPaymentMethodEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreateFromDuplicationDataPayload", + "description": "Return type for `customerPaymentMethodCreateFromDuplicationData` mutation.", + "fields": [ + { + "name": "customerPaymentMethod", + "description": "The customer payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreateFromDuplicationDataUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreateFromDuplicationDataUserError", + "description": "An error that occurs during the execution of `CustomerPaymentMethodCreateFromDuplicationData`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerPaymentMethodCreateFromDuplicationDataUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerPaymentMethodCreateFromDuplicationDataUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerPaymentMethodCreateFromDuplicationDataUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_DOES_NOT_EXIST", + "description": "Customer doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ENCRYPTED_DUPLICATION_DATA", + "description": "Invalid encrypted duplication data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_REQUESTS", + "description": "Too many requests.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreditCardCreatePayload", + "description": "Return type for `customerPaymentMethodCreditCardCreate` mutation.", + "fields": [ + { + "name": "customerPaymentMethod", + "description": "The customer payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processing", + "description": "If the card verification result is processing. When this is true, customer_payment_method will be null.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreditCardUpdatePayload", + "description": "Return type for `customerPaymentMethodCreditCardUpdate` mutation.", + "fields": [ + { + "name": "customerPaymentMethod", + "description": "The customer payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processing", + "description": "If the card verification result is processing. When this is true, customer_payment_method will be null.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodEdge", + "description": "An auto-generated type which holds one CustomerPaymentMethod and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CustomerPaymentMethodEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetDuplicationDataPayload", + "description": "Return type for `customerPaymentMethodGetDuplicationData` mutation.", + "fields": [ + { + "name": "encryptedDuplicationData", + "description": "The encrypted data from the payment method to be duplicated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetDuplicationDataUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetDuplicationDataUserError", + "description": "An error that occurs during the execution of `CustomerPaymentMethodGetDuplicationData`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerPaymentMethodGetDuplicationDataUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerPaymentMethodGetDuplicationDataUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerPaymentMethodGetDuplicationDataUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_DOES_NOT_EXIST", + "description": "Customer doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INSTRUMENT", + "description": "Invalid payment instrument.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ORGANIZATION_SHOP", + "description": "Must be targeted to another shop in the same organization.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_METHOD_DOES_NOT_EXIST", + "description": "Payment method doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAME_SHOP", + "description": "Target shop cannot be the same as the source.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_REQUESTS", + "description": "Too many requests.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetUpdateUrlPayload", + "description": "Return type for `customerPaymentMethodGetUpdateUrl` mutation.", + "fields": [ + { + "name": "updatePaymentMethodUrl", + "description": "The URL to redirect the customer to update the payment method.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetUpdateUrlUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetUpdateUrlUserError", + "description": "An error that occurs during the execution of `CustomerPaymentMethodGetUpdateUrl`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerPaymentMethodGetUpdateUrlUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerPaymentMethodGetUpdateUrlUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerPaymentMethodGetUpdateUrlUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_DOES_NOT_EXIST", + "description": "Customer doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INSTRUMENT", + "description": "Invalid payment instrument.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_METHOD_DOES_NOT_EXIST", + "description": "Payment method doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_REQUESTS", + "description": "Too many requests.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodPaypalBillingAgreementCreatePayload", + "description": "Return type for `customerPaymentMethodPaypalBillingAgreementCreate` mutation.", + "fields": [ + { + "name": "customerPaymentMethod", + "description": "The customer payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodPaypalBillingAgreementUpdatePayload", + "description": "Return type for `customerPaymentMethodPaypalBillingAgreementUpdate` mutation.", + "fields": [ + { + "name": "customerPaymentMethod", + "description": "The customer payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRemoteCreatePayload", + "description": "Return type for `customerPaymentMethodRemoteCreate` mutation.", + "fields": [ + { + "name": "customerPaymentMethod", + "description": "The customer payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRemoteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRemoteCreditCardCreatePayload", + "description": "Return type for `customerPaymentMethodRemoteCreditCardCreate` mutation.", + "fields": [ + { + "name": "customerPaymentMethod", + "description": "The customer payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerPaymentMethodRemoteInput", + "description": "The input fields for a remote gateway payment method, only one remote reference permitted.", + "fields": null, + "inputFields": [ + { + "name": "authorizeNetCustomerPaymentProfile", + "description": "The input fields for a remote authorize net customer profile.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RemoteAuthorizeNetCustomerPaymentProfileInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "braintreePaymentMethod", + "description": "The input fields for a remote Braintree customer profile.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RemoteBraintreePaymentMethodInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stripePaymentMethod", + "description": "Input containing the fields for a remote stripe payment method.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RemoteStripePaymentMethodInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRemoteUserError", + "description": "Represents an error in the input of a mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerPaymentMethodRemoteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerPaymentMethodRemoteUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerPaymentMethodRemoteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTHORIZE_NET_NOT_ENABLED_FOR_SUBSCRIPTIONS", + "description": "Authorize.net is not enabled for subscriptions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRAINTREE_NOT_ENABLED_FOR_SUBSCRIPTIONS", + "description": "Braintree is not enabled for subscriptions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXACTLY_ONE_REMOTE_REFERENCE_REQUIRED", + "description": "Exactly one remote reference is required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerPaymentMethodRevocationReason", + "description": "The revocation reason types for a customer payment method.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTHORIZE_NET_GATEWAY_NOT_ENABLED", + "description": "The Authorize.net payment gateway is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHORIZE_NET_RETURNED_NO_PAYMENT_METHOD", + "description": "Authorize.net did not return any payment methods. Make sure that the correct Authorize.net account is linked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRAINTREE_API_AUTHENTICATION_ERROR", + "description": "Failed to contact Braintree API.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRAINTREE_GATEWAY_NOT_ENABLED", + "description": "The Braintree payment gateway is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRAINTREE_PAYMENT_METHOD_NOT_CARD", + "description": "The Braintree payment method type should be a credit card or Apple Pay card.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BRAINTREE_RETURNED_NO_PAYMENT_METHOD", + "description": "Braintree returned no payment methods. Make sure the correct Braintree account is linked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_RETRIEVE_BILLING_ADDRESS", + "description": "The billing address failed to retrieve.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_UPDATE_CREDIT_CARD", + "description": "The credit card failed to update.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUALLY_REVOKED", + "description": "The payment method was manually revoked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGED", + "description": "The payment method was replaced with an existing payment method. The associated contracts have been migrated to the other payment method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRIPE_API_AUTHENTICATION_ERROR", + "description": "Failed to contact the Stripe API.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRIPE_API_INVALID_REQUEST_ERROR", + "description": "Invalid request. Failed to retrieve payment method from Stripe.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRIPE_GATEWAY_NOT_ENABLED", + "description": "The Stripe payment gateway is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRIPE_PAYMENT_METHOD_NOT_CARD", + "description": "The Stripe payment method type should be card.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRIPE_RETURNED_NO_PAYMENT_METHOD", + "description": "Stripe did not return any payment methods. Make sure that the correct Stripe account is linked.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRevokePayload", + "description": "Return type for `customerPaymentMethodRevoke` mutation.", + "fields": [ + { + "name": "revokedCustomerPaymentMethodId", + "description": "The ID of the revoked customer payment method.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodSendUpdateEmailPayload", + "description": "Return type for `customerPaymentMethodSendUpdateEmail` mutation.", + "fields": [ + { + "name": "customer", + "description": "The customer to whom an update payment method email was sent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodUserError", + "description": "Represents an error in the input of a mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerPaymentMethodUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerPaymentMethodUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerPaymentMethodUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaypalBillingAgreement", + "description": "Represents a PayPal instrument for customer payment method.", + "fields": [ + { + "name": "billingAddress", + "description": "The billing address of this payment method.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentInstrumentBillingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Whether the PayPal billing agreement is inactive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRevocable", + "description": "Whether the payment method can be revoked.The payment method can be revoked if there are no active subscription contracts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paypalAccountEmail", + "description": "The customers's PayPal account email address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerPhoneNumber", + "description": "A phone number.", + "fields": [ + { + "name": "marketingState", + "description": "Whether the customer has subscribed to SMS marketing material.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerSmsMarketingState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phoneNumber", + "description": "A customer's phone number.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerPredictedSpendTier", + "description": "The valid tiers for the predicted spend of a customer with a shop.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HIGH", + "description": "The customer's spending is predicted to be in the top spending range for the shop in the following year.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "The customer's spending is predicted to be zero, or in the lowest spending range for the shop in the following year.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "The customer's spending is predicted to be in the normal spending range for the shop in the following year.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerProductSubscriberStatus", + "description": "The possible product subscription states for a customer, as defined by the customer's subscription contracts.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The customer has at least one active subscription contract.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELLED", + "description": "The customer's last subscription contract was cancelled and there are no other active or paused\nsubscription contracts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The customer's last subscription contract expired and there are no other active or paused\nsubscription contracts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "The customer's last subscription contract failed and there are no other active or paused\nsubscription contracts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEVER_SUBSCRIBED", + "description": "The customer has never had a subscription contract.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAUSED", + "description": "The customer has at least one paused subscription contract and there are no other active\nsubscription contracts.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRemoveTaxExemptionsPayload", + "description": "Return type for `customerRemoveTaxExemptions` mutation.", + "fields": [ + { + "name": "customer", + "description": "The updated customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerReplaceTaxExemptionsPayload", + "description": "Return type for `customerReplaceTaxExemptions` mutation.", + "fields": [ + { + "name": "customer", + "description": "The updated customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerRequestDataErasureErrorCode", + "description": "Possible error codes that can be returned by `CustomerRequestDataErasureUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DOES_NOT_EXIST", + "description": "Customer does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_REQUEST", + "description": "Failed to request customer data erasure.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRequestDataErasurePayload", + "description": "Return type for `customerRequestDataErasure` mutation.", + "fields": [ + { + "name": "customerId", + "description": "The ID of the customer that will be erased.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerRequestDataErasureUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerRequestDataErasureUserError", + "description": "An error that occurs when requesting a customer data erasure.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerRequestDataErasureErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerSavedSearchSortKeys", + "description": "The set of valid sort keys for the CustomerSavedSearch query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMember", + "description": "The member of a segment.", + "fields": [ + { + "name": "amountSpent", + "description": "The total amount of money that the member has spent on orders.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultAddress", + "description": "The member's default address.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultEmailAddress", + "description": "The member's default email address.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerEmailAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultPhoneNumber", + "description": "The member's default phone number.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerPhoneNumber", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "The full name of the member, which is based on the values of the `first_name` and `last_name` fields. If the member's first name and last name aren't available, then the customer's email address is used. If the customer's email address isn't available, then the customer's phone number is used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The member's first name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The member’s ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The member's last name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastOrderId", + "description": "The ID of the member's most recent order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mergeable", + "description": "Whether the customer can be merged with another customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerMergeable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the member.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numberOfOrders", + "description": "The total number of orders that the member has made.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMemberConnection", + "description": "The connection type for the `CustomerSegmentMembers` object.", + "fields": [ + { + "name": "edges", + "description": "A list of edges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerSegmentMemberEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statistics", + "description": "The statistics for a given segment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentStatistics", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCount", + "description": "The total number of members in a given segment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMemberEdge", + "description": "An auto-generated type which holds one CustomerSegmentMember and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CustomerSegmentMemberEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerSegmentMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQuery", + "description": "A job to determine a list of members, such as customers, that are associated with an individual segment.", + "fields": [ + { + "name": "currentCount", + "description": "The current total number of members in a given segment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "done", + "description": "This indicates if the job is still queued or has been run.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID that's returned when running an asynchronous mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "JobResult", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQueryCreatePayload", + "description": "Return type for `customerSegmentMembersQueryCreate` mutation.", + "fields": [ + { + "name": "customerSegmentMembersQuery", + "description": "The newly created customer segment members query.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQuery", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQueryUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerSegmentMembersQueryInput", + "description": "The input fields and values for creating a customer segment members query.", + "fields": null, + "inputFields": [ + { + "name": "query", + "description": "The query that's used to filter the members. The query is composed of a combination of conditions on facts about customers such as `email_subscription_status = 'SUBSCRIBED'` with [this syntax](https://shopify.dev/api/shopifyql/segment-query-language-reference).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the list. The sorting behaviour defaults to ascending order.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentId", + "description": "The ID of the segment.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the list by a given key.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQueryUserError", + "description": "Represents a customer segment members query custom error.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerSegmentMembersQueryUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerSegmentMembersQueryUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerSegmentMembersQueryUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSendAccountInviteEmailPayload", + "description": "Return type for `customerSendAccountInviteEmail` mutation.", + "fields": [ + { + "name": "customer", + "description": "The customer to whom an account invite email was sent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerSendAccountInviteEmailUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSendAccountInviteEmailUserError", + "description": "Defines errors for customerSendAccountInviteEmail mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerSendAccountInviteEmailUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerSendAccountInviteEmailUserErrorCode", + "description": "Possible error codes that can be returned by `CustomerSendAccountInviteEmailUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerShopPayAgreement", + "description": "Represents a Shop Pay card instrument for customer payment method.", + "fields": [ + { + "name": "billingAddress", + "description": "The billing address of the card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerCreditCardBillingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresSoon", + "description": "Whether the card is about to expire.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiryMonth", + "description": "The expiry month of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiryYear", + "description": "The expiry year of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Whether the Shop Pay billing agreement is inactive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRevocable", + "description": "The payment method can be revoked if there are no active subscription contracts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastDigits", + "description": "The last 4 digits of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maskedNumber", + "description": "The masked card number with only the last 4 digits displayed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the card holder.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSmsMarketingConsentError", + "description": "An error that occurs during execution of an SMS marketing consent mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerSmsMarketingConsentErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerSmsMarketingConsentErrorCode", + "description": "Possible error codes that can be returned by `CustomerSmsMarketingConsentError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "Unexpected internal error happened.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_ARGUMENT", + "description": "Missing a required argument.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerSmsMarketingConsentInput", + "description": "The marketing consent information when the customer consented to\n receiving marketing material by SMS.", + "fields": null, + "inputFields": [ + { + "name": "consentUpdatedAt", + "description": "The date and time when the customer consented to receive marketing material by SMS.\nIf no date is provided, then the date and time when the consent information was sent is used.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingOptInLevel", + "description": "The marketing subscription opt-in level that was set when the customer consented to receive marketing information.", + "type": { + "kind": "ENUM", + "name": "CustomerMarketingOptInLevel", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingState", + "description": "The current SMS marketing state for the customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerSmsMarketingState", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSmsMarketingConsentState", + "description": "The record of when a customer consented to receive marketing material by SMS.\n\nThe customer's consent state reflects the record with the most recent date when consent was updated.", + "fields": [ + { + "name": "consentCollectedFrom", + "description": "The source from which the SMS marketing information for the customer was collected.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerConsentCollectedFrom", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "consentUpdatedAt", + "description": "The date and time when the customer consented to receive marketing material by SMS.\nIf no date is provided, then the date and time when the consent information was sent is used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingOptInLevel", + "description": "The marketing subscription opt-in level that was set when the customer consented to receive marketing information.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerMarketingOptInLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingState", + "description": "The current SMS marketing state for the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CustomerSmsMarketingState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CustomerSmsMarketingConsentUpdateInput", + "description": "The input fields for updating SMS marketing consent information for a given customer ID.", + "fields": null, + "inputFields": [ + { + "name": "customerId", + "description": "The ID of the customer to update the SMS marketing consent information for. The customer must have a unique phone number associated to the record. If not, add the phone number using the `customerUpdate` mutation first.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "smsMarketingConsent", + "description": "The marketing consent information when the customer consented to receiving marketing material by SMS.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerSmsMarketingConsentInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerSmsMarketingConsentUpdatePayload", + "description": "Return type for `customerSmsMarketingConsentUpdate` mutation.", + "fields": [ + { + "name": "customer", + "description": "The updated customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerSmsMarketingConsentError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerSmsMarketingState", + "description": "The valid SMS marketing states for a customer’s phone number.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_SUBSCRIBED", + "description": "The customer hasn't subscribed to SMS marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The customer is in the process of subscribing to SMS marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REDACTED", + "description": "The customer's personal data is erased. This value is internally-set and read-only.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIBED", + "description": "The customer is subscribed to SMS marketing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUBSCRIBED", + "description": "The customer isn't currently subscribed to SMS marketing but was previously subscribed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerSortKeys", + "description": "The set of valid sort keys for the Customer query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION", + "description": "Sort by the `location` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "CustomerState", + "description": "The valid values for the state of a customer's account with a shop.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DECLINED", + "description": "The customer declined the email invite to create an account.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISABLED", + "description": "The customer doesn't have an active account. Customer accounts can be disabled from the Shopify admin at any time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENABLED", + "description": "The customer has created an account.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVITED", + "description": "The customer has received an email invite to create an account.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerStatistics", + "description": "A customer's computed statistics.", + "fields": [ + { + "name": "predictedSpendTier", + "description": "The predicted spend tier of a customer with a shop.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CustomerPredictedSpendTier", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerUpdateDefaultAddressPayload", + "description": "Return type for `customerUpdateDefaultAddress` mutation.", + "fields": [ + { + "name": "customer", + "description": "The customer whose address was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerUpdatePayload", + "description": "Return type for `customerUpdate` mutation.", + "fields": [ + { + "name": "customer", + "description": "The updated customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerVisit", + "description": "Represents a customer's session visiting a shop's online store, including information about the marketing activity attributed to starting the session.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "landingPage", + "description": "URL of the first page the customer landed on for the session.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "landingPageHtml", + "description": "Landing page information with URL linked in HTML. For example, the first page the customer visited was store.myshopify.com/products/1.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingEvent", + "description": "Represent actions taken by an app, on behalf of a merchant,\nto market Shopify resources such as products, collections, and discounts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "occurredAt", + "description": "The date and time when the customer's session occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referralCode", + "description": "Marketing referral code from the link that the customer clicked to visit the store.\nSupports the following URL attributes: _ref_, _source_, or _r_.\nFor example, if the URL is myshopifystore.com/products/slide?ref=j2tj1tn2, then this value is j2tj1tn2.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referralInfoHtml", + "description": "Referral information with URLs linked in HTML.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referrerUrl", + "description": "Webpage where the customer clicked a link that sent them to the online store.\nFor example, _https://randomblog.com/page1_ or _android-app://com.google.android.gm_.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Source from which the customer visited the store, such as a platform (Facebook, Google), email, direct,\na website domain, QR code, or unknown.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceDescription", + "description": "Describes the source explicitly for first or last session.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceType", + "description": "Type of marketing tactic.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketingTactic", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utmParameters", + "description": "A set of UTM parameters gathered from the URL parameters of the referrer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UTMParameters", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CustomerMoment", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerVisitProductInfo", + "description": "This type returns the information about the product and product variant from a customer visit.", + "fields": [ + { + "name": "product", + "description": "The product information. If `null`, then the product was deleted from the store.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the product that the customer requested.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant information, if the product variant exists.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerVisitProductInfoConnection", + "description": "An auto-generated type for paginating through multiple CustomerVisitProductInfos.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerVisitProductInfoEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in CustomerVisitProductInfoEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerVisitProductInfo", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CustomerVisitProductInfoEdge", + "description": "An auto-generated type which holds one CustomerVisitProductInfo and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of CustomerVisitProductInfoEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerVisitProductInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DataSaleOptOutPayload", + "description": "Return type for `dataSaleOptOut` mutation.", + "fields": [ + { + "name": "customerId", + "description": "The ID of the customer whose email address has been opted out of data sale.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DataSaleOptOutUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DataSaleOptOutUserError", + "description": "An error that occurs during the execution of `DataSaleOptOut`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DataSaleOptOutUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DataSaleOptOutUserErrorCode", + "description": "Possible error codes that can be returned by `DataSaleOptOutUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "Data sale opt out failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Date", + "description": "Represents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date string.\nFor example, September 7, 2019 is represented as `\"2019-07-16\"`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "DateTime", + "description": "Represents an [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)-encoded date and time string.\nFor example, 3:50 pm on September 7, 2019 in the time zone of UTC (Coordinated Universal Time) is\nrepresented as `\"2019-09-07T15:50:00Z`\".\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DayOfTheWeek", + "description": "Days of the week from Monday to Sunday.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FRIDAY", + "description": "Friday.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MONDAY", + "description": "Monday.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SATURDAY", + "description": "Saturday.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUNDAY", + "description": "Sunday.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THURSDAY", + "description": "Thursday.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TUESDAY", + "description": "Tuesday.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEDNESDAY", + "description": "Wednesday.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Decimal", + "description": "A signed decimal number, which supports arbitrary precision and is serialized as a string.\n\nExample values: `\"29.99\"`, `\"29.999\"`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DelegateAccessToken", + "description": "A token that delegates a set of scopes from the original permission.\n\nTo learn more about creating delegate access tokens, refer to\n[Delegate OAuth access tokens to subsystems](https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/use-delegate-tokens).", + "fields": [ + { + "name": "accessScopes", + "description": "The list of permissions associated with the token.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "accessToken", + "description": "The issued delegate access token.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the delegate access token was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DelegateAccessTokenCreatePayload", + "description": "Return type for `delegateAccessTokenCreate` mutation.", + "fields": [ + { + "name": "delegateAccessToken", + "description": "The delegate access token.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DelegateAccessToken", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DelegateAccessTokenCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DelegateAccessTokenCreateUserError", + "description": "An error that occurs during the execution of `DelegateAccessTokenCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DelegateAccessTokenCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DelegateAccessTokenCreateUserErrorCode", + "description": "Possible error codes that can be returned by `DelegateAccessTokenCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DELEGATE_ACCESS_TOKEN", + "description": "The parent access token can't be a delegate token.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMPTY_ACCESS_SCOPE", + "description": "The access scope can't be empty.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRES_AFTER_PARENT", + "description": "The delegate token can't expire after the parent token.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEGATIVE_EXPIRES_IN", + "description": "The expires_in value must be greater than 0.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERSISTENCE_FAILED", + "description": "Persistence failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFRESH_TOKEN", + "description": "The parent access token can't have a refresh token.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN_SCOPES", + "description": "Unknown scopes.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DelegateAccessTokenDestroyPayload", + "description": "Return type for `delegateAccessTokenDestroy` mutation.", + "fields": [ + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the delegate access token destroy operation. Returns true if successful.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DelegateAccessTokenDestroyUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DelegateAccessTokenDestroyUserError", + "description": "An error that occurs during the execution of `DelegateAccessTokenDestroy`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DelegateAccessTokenDestroyUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DelegateAccessTokenDestroyUserErrorCode", + "description": "Possible error codes that can be returned by `DelegateAccessTokenDestroyUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCESS_DENIED", + "description": "Access denied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACCESS_TOKEN_NOT_FOUND", + "description": "Access token not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAN_ONLY_DELETE_DELEGATE_TOKENS", + "description": "Cannot delete parent access token.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERSISTENCE_FAILED", + "description": "Persistence failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DelegateAccessTokenInput", + "description": "The input fields for a delegate access token.", + "fields": null, + "inputFields": [ + { + "name": "delegateAccessScope", + "description": "The list of scopes that will be delegated to the new access token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresIn", + "description": "The amount of time, in seconds, after which the delegate access token is no longer valid.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeletionEvent", + "description": "Deletion events chronicle the destruction of resources (e.g. products and collections).\nOnce deleted, the deletion event is the only trace of the original's existence,\nas the resource itself has been removed and can no longer be accessed.", + "fields": [ + { + "name": "occurredAt", + "description": "The date and time when the deletion event for the related resource was generated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectId", + "description": "The ID of the resource that was deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectType", + "description": "The type of resource that was deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeletionEventSubjectType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeletionEventConnection", + "description": "An auto-generated type for paginating through multiple DeletionEvents.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeletionEventEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DeletionEventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeletionEvent", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeletionEventEdge", + "description": "An auto-generated type which holds one DeletionEvent and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DeletionEventEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeletionEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeletionEventSortKeys", + "description": "The set of valid sort keys for the DeletionEvent query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeletionEventSubjectType", + "description": "The supported subject types of deletion events.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryAvailableService", + "description": "A shipping service and a list of countries that the service is available for.", + "fields": [ + { + "name": "countries", + "description": "The countries the service provider ships to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCountryCodesOrRestOfWorld", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryBrandedPromise", + "description": "Represents a branded promise presented to buyers.", + "fields": [ + { + "name": "handle", + "description": "The handle of the branded promise. For example: `shop_promise`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the branded promise. For example: `Shop Promise`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "description": "A carrier service (also known as a carrier calculated service or shipping service) provides real-time shipping rates to Shopify. Some common carrier services include Canada Post, FedEx, UPS, and USPS. The term **carrier** is often used interchangeably with the terms **shipping company** and **rate provider**.\n\nUsing the CarrierService resource, you can add a carrier service to a shop and then provide a list of applicable shipping rates at checkout. You can even use the cart data to adjust shipping rates and offer shipping discounts based on what is in the customer's cart.\n\n## Requirements for accessing the CarrierService resource\nTo access the CarrierService resource, add the `write_shipping` permission to your app's requested scopes. For more information, see [API access scopes](https://shopify.dev/docs/admin-api/access-scopes).\n\nYour app's request to create a carrier service will fail unless the store installing your carrier service meets one of the following requirements:\n* It's on the Advanced Shopify plan or higher.\n* It's on the Shopify plan with yearly billing, or the carrier service feature has been added to the store for a monthly fee. For more information, contact [Shopify Support](https://help.shopify.com/questions).\n* It's a development store.\n\n> Note:\n> If a store changes its Shopify plan, then the store's association with a carrier service is deactivated if the store no long meets one of the requirements above.\n\n## Providing shipping rates to Shopify\nWhen adding a carrier service to a store, you need to provide a POST endpoint rooted in the `callbackUrl` property where Shopify can retrieve applicable shipping rates. The callback URL should be a public endpoint that expects these requests from Shopify.\n\n### Example shipping rate request sent to a carrier service\n\n```json\n{\n \"rate\": {\n \"origin\": {\n \"country\": \"CA\",\n \"postal_code\": \"K2P1L4\",\n \"province\": \"ON\",\n \"city\": \"Ottawa\",\n \"name\": null,\n \"address1\": \"150 Elgin St.\",\n \"address2\": \"\",\n \"address3\": null,\n \"phone\": null,\n \"fax\": null,\n \"email\": null,\n \"address_type\": null,\n \"company_name\": \"Jamie D's Emporium\"\n },\n \"destination\": {\n \"country\": \"CA\",\n \"postal_code\": \"K1M1M4\",\n \"province\": \"ON\",\n \"city\": \"Ottawa\",\n \"name\": \"Bob Norman\",\n \"address1\": \"24 Sussex Dr.\",\n \"address2\": \"\",\n \"address3\": null,\n \"phone\": null,\n \"fax\": null,\n \"email\": null,\n \"address_type\": null,\n \"company_name\": null\n },\n \"items\": [{\n \"name\": \"Short Sleeve T-Shirt\",\n \"sku\": \"\",\n \"quantity\": 1,\n \"grams\": 1000,\n \"price\": 1999,\n \"vendor\": \"Jamie D's Emporium\",\n \"requires_shipping\": true,\n \"taxable\": true,\n \"fulfillment_service\": \"manual\",\n \"properties\": null,\n \"product_id\": 48447225880,\n \"variant_id\": 258644705304\n }],\n \"currency\": \"USD\",\n \"locale\": \"en\"\n }\n}\n```\n\n### Example response\n```json\n{\n \"rates\": [\n {\n \"service_name\": \"canadapost-overnight\",\n \"service_code\": \"ON\",\n \"total_price\": \"1295\",\n \"description\": \"This is the fastest option by far\",\n \"currency\": \"CAD\",\n \"min_delivery_date\": \"2013-04-12 14:48:45 -0400\",\n \"max_delivery_date\": \"2013-04-12 14:48:45 -0400\"\n },\n {\n \"service_name\": \"fedex-2dayground\",\n \"service_code\": \"2D\",\n \"total_price\": \"2934\",\n \"currency\": \"USD\",\n \"min_delivery_date\": \"2013-04-12 14:48:45 -0400\",\n \"max_delivery_date\": \"2013-04-12 14:48:45 -0400\"\n },\n {\n \"service_name\": \"fedex-priorityovernight\",\n \"service_code\": \"1D\",\n \"total_price\": \"3587\",\n \"currency\": \"USD\",\n \"min_delivery_date\": \"2013-04-12 14:48:45 -0400\",\n \"max_delivery_date\": \"2013-04-12 14:48:45 -0400\"\n }\n ]\n}\n```\n\nThe `address3`, `fax`, `address_type`, and `company_name` fields are returned by specific [ActiveShipping](https://github.com/Shopify/active_shipping) providers. For API-created carrier services, you should use only the following shipping address fields:\n* `address1`\n* `address2`\n* `city`\n* `zip`\n* `province`\n* `country`\n\nOther values remain as `null` and are not sent to the callback URL.\n\n### Response fields\n\nWhen Shopify requests shipping rates using your callback URL, the response object `rates` must be a JSON array of objects with the following fields. Required fields must be included in the response for the carrier service integration to work properly.\n\n| Field | Required | Description |\n| ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `service_name` | Yes | The name of the rate, which customers see at checkout. For example: `Expedited Mail`. |\n| `description` | Yes | A description of the rate, which customers see at checkout. For example: `Includes tracking and insurance`. |\n| `service_code` | Yes | A unique code associated with the rate. For example: `expedited_mail`. |\n| `currency` | Yes | The currency of the shipping rate. |\n| `total_price` | Yes | The total price expressed in subunits. If the currency doesn't use subunits, then the value must be multiplied by 100. For example: `\"total_price\": 500` for 5.00 CAD, `\"total_price\": 100000` for 1000 JPY. |\n| `phone_required` | No | Whether the customer must provide a phone number at checkout. |\n| `min_delivery_date` | No | The earliest delivery date for the displayed rate. |\n| `max_delivery_date` | No | The latest delivery date for the displayed rate to still be valid. |\n\n### Special conditions\n\n* To indicate that this carrier service cannot handle this shipping request, return an empty array and any successful (20x) HTTP code.\n* To force backup rates instead, return a 40x or 50x HTTP code with any content. A good choice is the regular 404 Not Found code.\n* Redirects (30x codes) will only be followed for the same domain as the original callback URL. Attempting to redirect to a different domain will trigger backup rates.\n* There is no retry mechanism. The response must be successful on the first try, within the time budget listed below. Timeouts or errors will trigger backup rates.\n\n## Response Timeouts\n\nThe read timeout for rate requests are dynamic, based on the number of requests per minute (RPM). These limits are applied to each shop-app pair. The timeout values are as follows.\n\n| RPM Range | Timeout |\n| ------------- | ---------- |\n| Under 1500 | 10s |\n| 1500 to 3000 | 5s |\n| Over 3000 | 3s |\n\n> Note:\n> These values are upper limits and should not be interpretted as a goal to develop towards. Shopify is constantly evaluating the performance of the platform and working towards improving resilience as well as app capabilities. As such, these numbers may be adjusted outside of our normal versioning timelines.\n\n## Server-side caching of requests\nShopify provides server-side caching to reduce the number of requests it makes. Any shipping rate request that identically matches the following fields will be retrieved from Shopify's cache of the initial response:\n* variant IDs\n* default shipping box weight and dimensions\n* variant quantities\n* carrier service ID\n* origin address\n* destination address\n* item weights and signatures\n\nIf any of these fields differ, or if the cache has expired since the original request, then new shipping rates are requested. The cache expires 15 minutes after rates are successfully returned. If an error occurs, then the cache expires after 30 seconds.", + "fields": [ + { + "name": "active", + "description": "Whether the carrier service is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableServicesForCountries", + "description": "The list of services offered for given destinations.", + "args": [ + { + "name": "countryCodes", + "description": "The country codes of the destinations.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "origins", + "description": "The locations of the possible origins.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restOfWorld", + "description": "Whether to use 'Rest of World' as the destination.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryAvailableService", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callbackUrl", + "description": "The URL endpoint that Shopify needs to retrieve shipping rates.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formattedName", + "description": "The properly formatted name of the shipping service provider, ready to display.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "The logo of the service provider.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the shipping service provider.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportsServiceDiscovery", + "description": "Whether merchants are able to send dummy data to your service through the Shopify admin to see shipping rate examples.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCarrierServiceAndLocations", + "description": "A carrier service and the associated list of shop locations.", + "fields": [ + { + "name": "carrierService", + "description": "The carrier service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": "The list of locations that support this carrier service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCarrierServiceConnection", + "description": "An auto-generated type for paginating through multiple DeliveryCarrierServices.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCarrierServiceEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DeliveryCarrierServiceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryCarrierServiceCreateInput", + "description": "The input fields required to create a carrier service.", + "fields": null, + "inputFields": [ + { + "name": "active", + "description": "Whether this carrier service is active. If `true`, then the service will be available to serve rates in checkout.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callbackUrl", + "description": "The URL endpoint that Shopify needs to retrieve shipping rates. This must be a public URL.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the shipping service as seen by merchants and their customers.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportsServiceDiscovery", + "description": "Whether merchants are able to send dummy data to your service through the Shopify admin to see shipping rate examples.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCarrierServiceEdge", + "description": "An auto-generated type which holds one DeliveryCarrierService and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DeliveryCarrierServiceEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryCarrierServiceUpdateInput", + "description": "The input fields used to update a carrier service.", + "fields": null, + "inputFields": [ + { + "name": "active", + "description": "Whether this carrier service is active. If `true`, then the service will be available to serve rates in checkout.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callbackUrl", + "description": "The URL endpoint that Shopify needs to retrieve shipping rates. This must be a public URL.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The global ID of the carrier service to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the shipping service as seen by merchants and their customers.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportsServiceDiscovery", + "description": "Whether merchants are able to send dummy data to your service through the Shopify admin to see shipping rate examples.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCondition", + "description": "A condition that must pass for a delivery method definition to be applied to an order.", + "fields": [ + { + "name": "conditionCriteria", + "description": "The value (weight or price) that the condition field is compared to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DeliveryConditionCriteria", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The field to compare the criterion value against, using the operator.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryConditionField", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "The operator to compare the field and criterion value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryConditionOperator", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DeliveryConditionCriteria", + "description": "The value (weight or price) that the condition field is compared to.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Weight", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "DeliveryConditionField", + "description": "The field type that the condition will be applied to.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TOTAL_PRICE", + "description": "The condition will check against the total price of the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_WEIGHT", + "description": "The condition will check against the total weight of the order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryConditionOperator", + "description": "The operator to use to determine if the condition passes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "The condition will check whether the field is greater than or equal to the criterion.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The condition will check if the field is less than or equal to the criterion.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCountry", + "description": "A country that is used to define a shipping zone.", + "fields": [ + { + "name": "code", + "description": "A two-letter country code in ISO 3166-1 alpha-2 standard.\nIt also includes a flag indicating whether the country should be\na part of the 'Rest Of World' shipping zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCountryCodeOrRestOfWorld", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The full name of the country.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinces", + "description": "The list of regions associated with this country.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProvince", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatedName", + "description": "The translated name of the country. The translation returned is based on the system's locale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCountryAndZone", + "description": "The country details and the associated shipping zone.", + "fields": [ + { + "name": "country", + "description": "The country details.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCountry", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zone", + "description": "The name of the shipping zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCountryCodeOrRestOfWorld", + "description": "The country code and whether the country is a part of the 'Rest Of World' shipping zone.", + "fields": [ + { + "name": "countryCode", + "description": "The country code in the ISO 3166-1 alpha-2 format.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restOfWorld", + "description": "Whether the country is a part of the 'Rest of World' shipping zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCountryCodesOrRestOfWorld", + "description": "The list of country codes and information whether the countries\nare a part of the 'Rest Of World' shipping zone.", + "fields": [ + { + "name": "countryCodes", + "description": "List of applicable country codes in the ISO 3166-1 alpha-2 format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restOfWorld", + "description": "Whether the countries are a part of the 'Rest of World' shipping zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryCountryInput", + "description": "The input fields to specify a country.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "The country code of the country in the ISO 3166-1 alpha-2 format.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeAllProvinces", + "description": "Associate all available provinces with this country.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinces", + "description": "The regions associated with this country.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryProvinceInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restOfWorld", + "description": "Whether the country is a part of the 'Rest of World' shipping zone.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "description": "A delivery customization.", + "fields": [ + { + "name": "enabled", + "description": "The enabled status of the delivery customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorHistory", + "description": "The error history on the most recent version of the delivery customization.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FunctionsErrorHistory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID of the Shopify Function implementing the delivery customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "shopifyFunction", + "description": "The Shopify Function implementing the delivery customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the delivery customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationActivationPayload", + "description": "Return type for `deliveryCustomizationActivation` mutation.", + "fields": [ + { + "name": "ids", + "description": "The IDs of the updated delivery customizations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationConnection", + "description": "An auto-generated type for paginating through multiple DeliveryCustomizations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomizationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DeliveryCustomizationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationCreatePayload", + "description": "Return type for `deliveryCustomizationCreate` mutation.", + "fields": [ + { + "name": "deliveryCustomization", + "description": "Returns the created delivery customization.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationDeletePayload", + "description": "Return type for `deliveryCustomizationDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "Returns the deleted delivery customization ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationEdge", + "description": "An auto-generated type which holds one DeliveryCustomization and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DeliveryCustomizationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationError", + "description": "An error that occurs during the execution of a delivery customization mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeliveryCustomizationErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryCustomizationErrorCode", + "description": "Possible error codes that can be returned by `DeliveryCustomizationError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOM_APP_FUNCTION_NOT_ELIGIBLE", + "description": "Shop must be on a Shopify Plus plan to activate functions from a custom app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_CUSTOMIZATION_FUNCTION_NOT_ELIGIBLE", + "description": "Shop must be on a Shopify Plus plan to activate delivery customizations from a custom app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_CUSTOMIZATION_NOT_FOUND", + "description": "Delivery customization not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_DOES_NOT_IMPLEMENT", + "description": "Function does not implement the required interface for this delivery customization.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_ID_CANNOT_BE_CHANGED", + "description": "Function ID cannot be changed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_NOT_FOUND", + "description": "Function not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_PENDING_DELETION", + "description": "Function is pending deletion.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_METAFIELDS", + "description": "Could not create or update metafields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_ACTIVE_DELIVERY_CUSTOMIZATIONS", + "description": "Maximum delivery customizations are already enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRED_INPUT_FIELD", + "description": "Required input field must be present.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNAUTHORIZED_APP_SCOPE", + "description": "Unauthorized app scope.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryCustomizationInput", + "description": "The input fields to create and update a delivery customization.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "The enabled status of the delivery customization.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID of the function providing the delivery customization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the delivery customization.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the delivery customization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationUpdatePayload", + "description": "Return type for `deliveryCustomizationUpdate` mutation.", + "fields": [ + { + "name": "deliveryCustomization", + "description": "Returns the updated delivery customization.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLegacyModeBlocked", + "description": "Whether the shop is blocked from converting to full multi-location delivery profiles mode. If the shop is blocked, then the blocking reasons are also returned.", + "fields": [ + { + "name": "blocked", + "description": "Whether the shop can convert to full multi-location delivery profiles mode.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reasons", + "description": "The reasons why the shop is blocked from converting to full multi-location delivery profiles mode.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryLegacyModeBlockedReason", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryLegacyModeBlockedReason", + "description": "Reasons the shop is blocked from converting to full multi-location delivery profiles mode.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MULTI_LOCATION_DISABLED", + "description": "Multi-Location mode is disabled. The shop can't convert to full multi-location delivery profiles mode.", + "isDeprecated": true, + "deprecationReason": "All shops are now using multi-location mode." + }, + { + "name": "NO_LOCATIONS_FULFILLING_ONLINE_ORDERS", + "description": "There are no locations for this store that can fulfill online orders.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocalPickupSettings", + "description": "Local pickup settings associated with a location.", + "fields": [ + { + "name": "instructions", + "description": "Additional instructions or information related to the local pickup.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pickupTime", + "description": "The estimated pickup time to show customers at checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryLocalPickupTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryLocalPickupTime", + "description": "Possible pickup time values that a location enabled for local pickup can have.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIVE_OR_MORE_DAYS", + "description": "Usually ready in 5+ days.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FOUR_HOURS", + "description": "Usually ready in 4 hours.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONE_HOUR", + "description": "Usually ready in 1 hour.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TWENTY_FOUR_HOURS", + "description": "Usually ready in 24 hours.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TWO_HOURS", + "description": "Usually ready in 2 hours.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TWO_TO_FOUR_DAYS", + "description": "Usually ready in 2-4 days.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocationGroup", + "description": "A location group is a collection of locations. They share zones and delivery methods across delivery\nprofiles.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": "A list of all locations that are part of this location group.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeInactive", + "description": "Whether to include the locations that are deactivated.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeLegacy", + "description": "Whether to include the legacy locations of fulfillment services.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| active | string |\n| address1 | string |\n| address2 | string |\n| city | string |\n| country | string |\n| created_at | time |\n| geolocated | boolean |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| legacy | boolean |\n| name | string |\n| pickup_in_store | string | | - `enabled`
- `disabled` |\n| province | string |\n| zip | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "LocationSortKeys", + "ofType": null + }, + "defaultValue": "NAME", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsCount", + "description": "A count of all locations that are part of this location group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocationGroupZone", + "description": "Links a location group with a zone and the associated method definitions.", + "fields": [ + { + "name": "methodDefinitionCounts", + "description": "The number of method definitions for the zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryMethodDefinitionCounts", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "methodDefinitions", + "description": "The method definitions associated to a zone and location group.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eligible", + "description": "Return only eligible or ineligible method definitions.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MethodDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Return only merchant or participant method definitions.", + "type": { + "kind": "ENUM", + "name": "DeliveryMethodDefinitionType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryMethodDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zone", + "description": "The zone associated to a location group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryZone", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocationGroupZoneConnection", + "description": "An auto-generated type for paginating through multiple DeliveryLocationGroupZones.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLocationGroupZoneEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DeliveryLocationGroupZoneEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLocationGroupZone", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocationGroupZoneEdge", + "description": "An auto-generated type which holds one DeliveryLocationGroupZone and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DeliveryLocationGroupZoneEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLocationGroupZone", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryLocationGroupZoneInput", + "description": "The input fields for a delivery zone associated to a location group and profile.", + "fields": null, + "inputFields": [ + { + "name": "countries", + "description": "A list of countries to associate with the zone.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryCountryInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID of the zone.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "methodDefinitionsToCreate", + "description": "A list of method definitions to create.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryMethodDefinitionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "methodDefinitionsToUpdate", + "description": "A list of method definitions to update.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryMethodDefinitionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the zone.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryLocationLocalPickupEnableInput", + "description": "The input fields for a local pickup setting associated with a location.", + "fields": null, + "inputFields": [ + { + "name": "instructions", + "description": "The instructions for the local pickup.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the location associated with the location setting.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pickupTime", + "description": "The time of the local pickup.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryLocalPickupTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocationLocalPickupSettingsError", + "description": "Represents an error that happened when changing local pickup settings for a location.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeliveryLocationLocalPickupSettingsErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryLocationLocalPickupSettingsErrorCode", + "description": "Possible error codes that can be returned by `DeliveryLocationLocalPickupSettingsError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE_LOCATION_NOT_FOUND", + "description": "Provided locationId is not for an active location belonging to this store.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "An error occurred while changing the local pickup settings.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethod", + "description": "The delivery method used by a fulfillment order.", + "fields": [ + { + "name": "additionalInformation", + "description": "The Additional information to consider when performing the delivery.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryMethodAdditionalInformation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "brandedPromise", + "description": "The branded promise that was presented to the buyer during checkout. For example: Shop Promise.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryBrandedPromise", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxDeliveryDateTime", + "description": "The latest delivery date and time when the fulfillment is expected to arrive at the buyer's location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "methodType", + "description": "The type of the delivery method.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryMethodType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minDeliveryDateTime", + "description": "The earliest delivery date and time when the fulfillment is expected to arrive at the buyer's location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentedName", + "description": "The name of the delivery option that was presented to the buyer during checkout.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceCode", + "description": "A reference to the shipping method.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceReference", + "description": "Source reference is promise provider specific data associated with delivery promise.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethodAdditionalInformation", + "description": "Additional information included on a delivery method that will help during the delivery process.", + "fields": [ + { + "name": "instructions", + "description": "The delivery instructions to follow when performing the delivery.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number to contact when performing the delivery.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethodDefinition", + "description": "A method definition contains the delivery rate and the conditions that must be met for the method to be\napplied.", + "fields": [ + { + "name": "active", + "description": "Whether this method definition is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the method definition. Only available on shipping rates that are custom.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "methodConditions", + "description": "The method conditions that must pass for this method definition to be applied to an order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCondition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the method definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rateProvider", + "description": "The provided rate for this method definition, from a rate definition or participant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DeliveryRateProvider", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethodDefinitionConnection", + "description": "An auto-generated type for paginating through multiple DeliveryMethodDefinitions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryMethodDefinitionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DeliveryMethodDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryMethodDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethodDefinitionCounts", + "description": "The number of method definitions for a zone, separated into merchant-owned and participant definitions.", + "fields": [ + { + "name": "participantDefinitionsCount", + "description": "The number of participant method definitions for the specified zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rateDefinitionsCount", + "description": "The number of merchant-defined method definitions for the specified zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethodDefinitionEdge", + "description": "An auto-generated type which holds one DeliveryMethodDefinition and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DeliveryMethodDefinitionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryMethodDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryMethodDefinitionInput", + "description": "The input fields for a method definition.", + "fields": null, + "inputFields": [ + { + "name": "active", + "description": "Whether to use this method definition during rate calculation.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "conditionsToUpdate", + "description": "A list of conditions to update on the method definition.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryUpdateConditionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the method definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID of the method definition. Use only when updating a method definiton.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the method definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participant", + "description": "A participant to apply to the method definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DeliveryParticipantInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceConditionsToCreate", + "description": "A list of price conditions on the method definition.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryPriceConditionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rateDefinition", + "description": "A rate definition to apply to the method definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DeliveryRateDefinitionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weightConditionsToCreate", + "description": "A list of weight conditions on the method definition.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryWeightConditionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryMethodDefinitionType", + "description": "The different types of method definitions to filter by.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERCHANT", + "description": "A static merchant-defined rate.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTICIPANT", + "description": "A dynamic participant rate.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryMethodType", + "description": "Possible method types that a delivery method can have.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LOCAL", + "description": "The order is delivered using a local delivery service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "Non-physical items, no delivery needed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PICKUP_POINT", + "description": "The order is delivered to a pickup point.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PICK_UP", + "description": "The order is picked up by the customer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETAIL", + "description": "In-store sale, no delivery needed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING", + "description": "The order is shipped.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryParticipant", + "description": "A participant defines carrier-calculated rates for shipping services\nwith a possible merchant-defined fixed fee or a percentage-of-rate fee.", + "fields": [ + { + "name": "adaptToNewServicesFlag", + "description": "Whether to display new shipping services automatically to the customer when the service becomes available.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "carrierService", + "description": "The carrier used for this participant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fixedFee", + "description": "The merchant-defined fixed fee for this participant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participantServices", + "description": "The carrier-specific services offered by the participant, and whether each service is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryParticipantService", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentageOfRateFee", + "description": "The merchant-defined percentage-of-rate fee for this participant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryParticipantInput", + "description": "The input fields for a participant.", + "fields": null, + "inputFields": [ + { + "name": "adaptToNewServices", + "description": "Whether to automatically display new shipping services to the customer when a service becomes available.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "carrierServiceId", + "description": "The ID of the carrier service for this participant.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fixedFee", + "description": "The fixed feed that's defined by the merchant for this participant.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the participant.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "participantServices", + "description": "The list of shipping services offered by the participant.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryParticipantServiceInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentageOfRateFee", + "description": "The merchant-defined percentage-of-rate fee for this participant.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryParticipantService", + "description": "A mail service provided by the participant.", + "fields": [ + { + "name": "active", + "description": "Whether the service is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryParticipantServiceInput", + "description": "The input fields for a shipping service provided by a participant.", + "fields": null, + "inputFields": [ + { + "name": "active", + "description": "Whether the service is active.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the service.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryPriceConditionInput", + "description": "The input fields for a price-based condition of a delivery method definition.", + "fields": null, + "inputFields": [ + { + "name": "criteria", + "description": "The monetary value to compare the price of an order to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "The operator to use for comparison.", + "type": { + "kind": "ENUM", + "name": "DeliveryConditionOperator", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProductVariantsCount", + "description": "How many product variants are in a profile. This count is capped at 500.", + "fields": [ + { + "name": "capped", + "description": "Whether the count has reached the cap of 500.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "The product variant count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfile", + "description": "A shipping profile. In Shopify, a shipping profile is a set of shipping rates scoped to a set of products or variants that can be shipped from selected locations to zones. Learn more about [building with delivery profiles](https://shopify.dev/apps/build/purchase-options/deferred/delivery-and-deferment/build-delivery-profiles).", + "fields": [ + { + "name": "activeMethodDefinitionsCount", + "description": "The number of active shipping rates for the profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "default", + "description": "Whether this is the default profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyMode", + "description": "Whether this shop has enabled legacy compatibility mode for delivery profiles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsWithoutRatesCount", + "description": "The number of locations without rates defined.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the delivery profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originLocationCount", + "description": "The number of active origin locations for the profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsCount", + "description": "How many product variants are in this profile.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsCountV2", + "description": "How many product variants are in this profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProductVariantsCount", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `productVariantsCount` instead." + }, + { + "name": "profileItems", + "description": "The products and variants associated with this profile.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfileItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileLocationGroups", + "description": "The location groups and associated zones using this profile.", + "args": [ + { + "name": "locationGroupId", + "description": "Filter the location groups of the profile by location group ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfileLocationGroup", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroups", + "description": "Selling plan groups associated with the specified delivery profile.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unassignedLocations", + "description": "List of locations that haven't been assigned to a location group for this profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unassignedLocationsPaginated", + "description": "List of locations that have not been assigned to a location group for this profile.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zoneCountryCount", + "description": "The number of countries with active rates to deliver to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileConnection", + "description": "An auto-generated type for paginating through multiple DeliveryProfiles.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfileEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DeliveryProfileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfile", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileCreatePayload", + "description": "Return type for `deliveryProfileCreate` mutation.", + "fields": [ + { + "name": "profile", + "description": "The delivery profile that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileEdge", + "description": "An auto-generated type which holds one DeliveryProfile and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DeliveryProfileEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryProfileInput", + "description": "The input fields for a delivery profile.", + "fields": null, + "inputFields": [ + { + "name": "conditionsToDelete", + "description": "The list of condition IDs to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationGroupsToCreate", + "description": "The list of location groups to be created in the delivery profile.\n\n**Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 location groups per each request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryProfileLocationGroupInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationGroupsToDelete", + "description": "The list of location groups to be deleted from the delivery profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationGroupsToUpdate", + "description": "The list of location groups to be updated in the delivery profile.\n\n**Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 location groups per each request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryProfileLocationGroupInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "methodDefinitionsToDelete", + "description": "The list of method definition IDs to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the delivery profile.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profileLocationGroups", + "description": "The list of location groups associated with the delivery profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryProfileLocationGroupInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupsToAssociate", + "description": "The list of selling plan groups to be associated with the delivery profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupsToDissociate", + "description": "The list of selling plan groups to be dissociated with the delivery profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantsToAssociate", + "description": "The list of product variant IDs to be associated with the delivery profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantsToDissociate", + "description": "The list of product variant IDs to be dissociated from the delivery profile.\nThe dissociated product variants are moved back to the default delivery profile.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zonesToDelete", + "description": "The list of zone IDs to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileItem", + "description": "A product and the subset of associated variants that are part of this delivery profile.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "A product associated with this profile.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variants", + "description": "The product variants associated with this delivery profile.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileItemConnection", + "description": "An auto-generated type for paginating through multiple DeliveryProfileItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfileItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DeliveryProfileItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfileItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileItemEdge", + "description": "An auto-generated type which holds one DeliveryProfileItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DeliveryProfileItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfileItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileLocationGroup", + "description": "Links a location group with zones. Both are associated to a delivery profile.", + "fields": [ + { + "name": "countriesInAnyZone", + "description": "The countries already selected in any zone for the specified location group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCountryAndZone", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationGroup", + "description": "The collection of locations that make up the specified location group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLocationGroup", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationGroupZones", + "description": "The applicable zones associated to the specified location group.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLocationGroupZoneConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryProfileLocationGroupInput", + "description": "The input fields for a location group associated to a delivery profile.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The globally-unique ID of the delivery profile location group.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": "The list of location IDs to be moved to this location group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsToAdd", + "description": "The list of location IDs to be added to this location group.\n\n**Note:** due to API input array limits, a maximum of 250 items can be sent per each request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsToRemove", + "description": "The list of location IDs to be removed from this location group.\n\n**Note:** due to API input array limits, a maximum of 250 items can be sent per each request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zonesToCreate", + "description": "The list of location group zones to create.\n\n**Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 zones per each request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryLocationGroupZoneInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zonesToUpdate", + "description": "The list of location group zones to update.\n\n**Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 zones per each request.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryLocationGroupZoneInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileRemovePayload", + "description": "Return type for `deliveryProfileRemove` mutation.", + "fields": [ + { + "name": "job", + "description": "The delivery profile deletion job triggered by the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileUpdatePayload", + "description": "Return type for `deliveryProfileUpdate` mutation.", + "fields": [ + { + "name": "profile", + "description": "The delivery profile that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryPromiseProvider", + "description": "A delivery promise provider. Currently restricted to select approved delivery promise partners.", + "fields": [ + { + "name": "active", + "description": "Whether the delivery promise provider is active. Defaults to `true` when creating a provider.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentDelay", + "description": "The number of seconds to add to the current time as a buffer when looking up delivery promises. Represents how long the shop requires before releasing an order to the fulfillment provider.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location associated with this delivery promise provider.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeZone", + "description": "The time zone to be used for interpreting day of week and cutoff times in delivery schedules when looking up delivery promises.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryPromiseProviderUpsertPayload", + "description": "Return type for `deliveryPromiseProviderUpsert` mutation.", + "fields": [ + { + "name": "deliveryPromiseProvider", + "description": "The created or updated delivery promise provider.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryPromiseProvider", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryPromiseProviderUpsertUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryPromiseProviderUpsertUserError", + "description": "An error that occurs during the execution of `DeliveryPromiseProviderUpsert`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DeliveryPromiseProviderUpsertUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DeliveryPromiseProviderUpsertUserErrorCode", + "description": "Possible error codes that can be returned by `DeliveryPromiseProviderUpsertUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_TIME_ZONE", + "description": "The time zone is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUST_BELONG_TO_APP", + "description": "The location doesn't belong to the app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProvince", + "description": "A region that is used to define a shipping zone.", + "fields": [ + { + "name": "code", + "description": "The code of the region.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The full name of the region.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatedName", + "description": "The translated name of the region. The translation returned is based on the system's locale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryProvinceInput", + "description": "The input fields to specify a region.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "The code of the region.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryRateDefinition", + "description": "The merchant-defined rate of the [DeliveryMethodDefinition](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryMethodDefinition).", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of this rate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryRateDefinitionInput", + "description": "The input fields for a rate definition.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "A globally-unique ID of the rate definition.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the rate definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DeliveryRateProvider", + "description": "A rate provided by a merchant-defined rate or a participant.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DeliveryParticipant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryRateDefinition", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "DeliverySetting", + "description": "The `DeliverySetting` object enables you to manage shop-wide shipping settings.\nYou can enable legacy compatibility mode for the multi-location delivery profiles feature\nif the legacy mode isn't blocked.", + "fields": [ + { + "name": "legacyModeBlocked", + "description": "Whether the shop is blocked from converting to full multi-location delivery profiles mode. If the shop is blocked, then the blocking reasons are also returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLegacyModeBlocked", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyModeProfiles", + "description": "Enables legacy compatability mode for the multi-location delivery profiles feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliverySettingInput", + "description": "The input fields for shop-level delivery settings.", + "fields": null, + "inputFields": [ + { + "name": "legacyModeProfiles", + "description": "Whether legacy compatability mode is enabled for the multi-location delivery profiles feature.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliverySettingUpdatePayload", + "description": "Return type for `deliverySettingUpdate` mutation.", + "fields": [ + { + "name": "setting", + "description": "The updated delivery shop level settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliverySetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryShippingOriginAssignPayload", + "description": "Return type for `deliveryShippingOriginAssign` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryUpdateConditionInput", + "description": "The input fields for updating the condition of a delivery method definition.", + "fields": null, + "inputFields": [ + { + "name": "criteria", + "description": "The value that will be used in comparison.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "criteriaUnit", + "description": "The unit associated with the value that will be used in comparison.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The property of an order that will be used in comparison.", + "type": { + "kind": "ENUM", + "name": "DeliveryConditionField", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID of the condition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "The operator to use for comparison.", + "type": { + "kind": "ENUM", + "name": "DeliveryConditionOperator", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeliveryWeightConditionInput", + "description": "The input fields for a weight-based condition of a delivery method definition.", + "fields": null, + "inputFields": [ + { + "name": "criteria", + "description": "The weight value to compare the weight of an order to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "WeightInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operator", + "description": "The operator to use for comparison.", + "type": { + "kind": "ENUM", + "name": "DeliveryConditionOperator", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeliveryZone", + "description": "A zone is a group of countries that have the same shipping rates. Customers can order products from a store only if they choose a shipping destination that's included in one of the store's zones.", + "fields": [ + { + "name": "countries", + "description": "The list of countries within the zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCountry", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the zone.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DepositConfiguration", + "description": "Configuration of the deposit.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DepositPercentage", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DepositInput", + "description": "The input fields configuring the deposit for a B2B buyer.", + "fields": null, + "inputFields": [ + { + "name": "percentage", + "description": "The percentage of the order total that should be paid as a deposit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DepositPercentage", + "description": "A percentage deposit.", + "fields": [ + { + "name": "percentage", + "description": "The percentage value of the deposit.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DigitalWallet", + "description": "Digital wallet, such as Apple Pay, which can be used for accelerated checkouts.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANDROID_PAY", + "description": "Android Pay.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPLE_PAY", + "description": "Apple Pay.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GOOGLE_PAY", + "description": "Google Pay.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_PAY", + "description": "Shopify Pay.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "Discount", + "description": "A discount.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountAutomaticApp", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBasic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticFreeShipping", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeApp", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBasic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBxgy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeFreeShipping", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "DiscountAllocation", + "description": "An amount that's allocated to a line based on an associated discount application.", + "fields": [ + { + "name": "allocatedAmount", + "description": "The money amount that's allocated to a line based on the associated discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `allocatedAmountSet` instead." + }, + { + "name": "allocatedAmountSet", + "description": "The money amount that's allocated to a line based on the associated discount application in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountApplication", + "description": "The discount application that the allocated amount originated from.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "DiscountApplication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAllocationConnection", + "description": "An auto-generated type for paginating through multiple DiscountAllocations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAllocationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountAllocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAllocationEdge", + "description": "An auto-generated type which holds one DiscountAllocation and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountAllocationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAllocation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAmount", + "description": "The fixed amount value of a discount, and whether the amount is applied to each entitled item or spread evenly across the entitled items.", + "fields": [ + { + "name": "amount", + "description": "The value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnEachItem", + "description": "If true, then the discount is applied to each of the entitled items. If false, then the amount is split across all of the entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountAmountInput", + "description": "The input fields for the value of the discount and how it is applied.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The value of the discount.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnEachItem", + "description": "If true, then the discount is applied to each of the entitled items. If false, then the amount is split across all of the entitled items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "DiscountApplication", + "description": "Discount applications capture the intentions of a discount source at\nthe time of application on an order's line items or shipping lines.\n\nDiscount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is applied to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "index", + "description": "An ordered index that can be used to identify the discount application and indicate the precedence\nof the discount application for calculations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AutomaticDiscountApplication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeApplication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ManualDiscountApplication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ScriptDiscountApplication", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "description": "The method by which the discount's value is allocated onto its entitled lines.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACROSS", + "description": "The value is spread across all entitled lines.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EACH", + "description": "The value is applied onto every entitled line.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONE", + "description": "The value is specifically applied onto a particular line.", + "isDeprecated": true, + "deprecationReason": "Use ACROSS instead." + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountApplicationConnection", + "description": "An auto-generated type for paginating through multiple DiscountApplications.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountApplicationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountApplicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "DiscountApplication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountApplicationEdge", + "description": "An auto-generated type which holds one DiscountApplication and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountApplicationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "DiscountApplication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountApplicationLevel", + "description": "The level at which the discount's value is applied.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LINE", + "description": "The discount is applied at the line level.\nLine level discounts are factored into the discountedUnitPriceSet on line items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER", + "description": "The discount is applied at the order level.\nOrder level discounts are not factored into the discountedUnitPriceSet on line items.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "description": "The lines on the order to which the discount is applied, of the type defined by\nthe discount application's `targetType`. For example, the value `ENTITLED`, combined with a `targetType` of\n`LINE_ITEM`, applies the discount on all line items that are entitled to the discount.\nThe value `ALL`, combined with a `targetType` of `SHIPPING_LINE`, applies the discount on all shipping lines.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "The discount is allocated onto all the lines.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENTITLED", + "description": "The discount is allocated onto only the lines that it's entitled for.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPLICIT", + "description": "The discount is allocated onto explicitly chosen lines.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "description": "The type of line (i.e. line item or shipping line) on an order that the discount is applicable towards.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LINE_ITEM", + "description": "The discount applies onto line items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LINE", + "description": "The discount applies onto shipping lines.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountAutomatic", + "description": "The type of discount associated to the automatic discount. For example, the automatic discount might offer a basic discount using a fixed percentage, or a fixed amount, on specific products from the order. The automatic discount may also be a BXGY discount, which offers customer discounts on select products if they add a specific product to their order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountAutomaticApp", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBasic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticFreeShipping", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticActivatePayload", + "description": "Return type for `discountAutomaticActivate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The activated automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticApp", + "description": "An automatic app discount.", + "fields": [ + { + "name": "appDiscountType", + "description": "The app discount type providing the discount type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppDiscountType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asyncUsageCount", + "description": "The number of times the discount has been used. This value is updated asynchronously and can be different than the actual usage count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountId", + "description": "The ID for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorHistory", + "description": "The error history on the most recent version of the app discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FunctionsErrorHistory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions). 0 will apply infinitely whereas 1 will only apply to the first checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticAppCreatePayload", + "description": "Return type for `discountAutomaticAppCreate` mutation.", + "fields": [ + { + "name": "automaticAppDiscount", + "description": "The created app discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticApp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticAppInput", + "description": "The input fields to create an app discount.", + "fields": null, + "inputFields": [ + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID of the function providing the app discount type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the discount.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions). 0 will apply infinitely whereas 1 will only apply to the first checkout.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticAppUpdatePayload", + "description": "Return type for `discountAutomaticAppUpdate` mutation.", + "fields": [ + { + "name": "automaticAppDiscount", + "description": "The updated automatic app discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticApp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBasic", + "description": "An automatic discount that offers customers a percentage discount, or fixed amount discount, on specific products, collections, or the entire order.", + "fields": [ + { + "name": "asyncUsageCount", + "description": "The number of times the discount has been used. This value is updated asynchronously and can be different than the actual usage count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "The qualifying items in an order, the quantity of each one, and the total value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCustomerGets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MerchandiseDiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountMinimumRequirement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSummary", + "description": "A short summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A detailed summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageCount", + "description": "The number of times that the discount has been used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `asyncUsageCount` instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBasicCreatePayload", + "description": "Return type for `discountAutomaticBasicCreate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The created automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticBasicInput", + "description": "The input fields to create or update an automatic basic discount.", + "fields": null, + "inputFields": [ + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "Information about the qualifying items and their discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerGetsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumRequirementInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBasicUpdatePayload", + "description": "Return type for `discountAutomaticBasicUpdate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The updated automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBulkDeletePayload", + "description": "Return type for `discountAutomaticBulkDelete` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job removing the automatic discounts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgy", + "description": "An automatic discount that offers customers a Buy X, Get Y (BXGY) discount.", + "fields": [ + { + "name": "asyncUsageCount", + "description": "The number of times the discount has been used. This value is updated asynchronously and can be different than the actual usage count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerBuys", + "description": "The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCustomerBuys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "The qualifying items in an order, the quantity of each one, and the total value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCustomerGets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MerchandiseDiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A legacy unique ID for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use DiscountAutomaticNode.id instead." + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A detailed summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageCount", + "description": "The number of times that the discount has been used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `asyncUsageCount` instead." + }, + { + "name": "usesPerOrderLimit", + "description": "The maximum number of times that the discount can be applied to an order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgyCreatePayload", + "description": "Return type for `discountAutomaticBxgyCreate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The created automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticBxgyInput", + "description": "The input fields to create or update an automatic Buy X, Get Y (BXGY) discount.", + "fields": null, + "inputFields": [ + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerBuys", + "description": "The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerBuysInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "The qualifying items in an order, the quantity of each one, and the total value of the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerGetsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usesPerOrderLimit", + "description": "The maximum number of times that the discount can be applied to an order.", + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgyUpdatePayload", + "description": "Return type for `discountAutomaticBxgyUpdate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The updated automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticConnection", + "description": "An auto-generated type for paginating through multiple DiscountAutomatics.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAutomaticEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountAutomaticEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountAutomatic", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticDeactivatePayload", + "description": "Return type for `discountAutomaticDeactivate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The deactivated automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticDeletePayload", + "description": "Return type for `discountAutomaticDelete` mutation.", + "fields": [ + { + "name": "deletedAutomaticDiscountId", + "description": "The deleted automatic discount ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticEdge", + "description": "An auto-generated type which holds one DiscountAutomatic and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountAutomaticEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountAutomatic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticFreeShipping", + "description": "An automatic discount that offers customers free shipping on their order.", + "fields": [ + { + "name": "appliesOnOneTimePurchase", + "description": "Whether the discount applies on regular one-time-purchase shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asyncUsageCount", + "description": "The number of times that the discount has been used. This value is updated asynchronously and can be different than the actual usage count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destinationSelection", + "description": "A shipping destination that qualifies for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountShippingDestinationSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShippingDiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Indicates whether there are any timeline comments on the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumShippingPrice", + "description": "The maximum shipping price amount accepted to qualify for the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountMinimumRequirement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSummary", + "description": "A short summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A detailed summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSales", + "description": "The total sales from orders where the discount was used.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticFreeShippingCreatePayload", + "description": "Return type for `discountAutomaticFreeShippingCreate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The created automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticFreeShippingInput", + "description": "The input fields to create or update free shipping automatic discount.", + "fields": null, + "inputFields": [ + { + "name": "appliesOnOneTimePurchase", + "description": "Whether the discount applies on regular one-time-purchase items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the shipping discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destination", + "description": "A list of destinations where the discount will apply.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountShippingDestinationSelectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumShippingPrice", + "description": "The maximum shipping price that qualifies for the discount.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumRequirementInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticFreeShippingUpdatePayload", + "description": "Return type for `discountAutomaticFreeShippingUpdate` mutation.", + "fields": [ + { + "name": "automaticDiscountNode", + "description": "The updated automatic discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "description": "A node containing an automatic discount and its related events.", + "fields": [ + { + "name": "automaticDiscount", + "description": "The automatic discount object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountAutomatic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNodeConnection", + "description": "An auto-generated type for paginating through multiple DiscountAutomaticNodes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAutomaticNodeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountAutomaticNodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNodeEdge", + "description": "An auto-generated type which holds one DiscountAutomaticNode and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountAutomaticNodeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountClass", + "description": "The class of the discount for combining purposes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ORDER", + "description": "Combined as an order discount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "Combined as a product discount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING", + "description": "Combined as a shipping discount.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountCode", + "description": "The type of discount associated with the discount code. For example, the discount code might offer a basic discount of a fixed percentage, or a fixed amount, on specific products or the order. Alternatively, the discount might offer the customer free shipping on their order. A third option is a Buy X, Get Y (BXGY) discount, which offers a customer discounts on select products if they add a specific product to their order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountCodeApp", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBasic", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBxgy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeFreeShipping", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "DiscountCodeActivatePayload", + "description": "Return type for `discountCodeActivate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The activated code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeApp", + "description": "A code app discount.", + "fields": [ + { + "name": "appDiscountType", + "description": "The app discount type providing the discount type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppDiscountType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asyncUsageCount", + "description": "The number of times that the discount has been used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codes", + "description": "A list of redeem codes for the discount.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| times_used | integer |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountCodeSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codesCount", + "description": "The number of redeem codes for the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that can use the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountCustomerSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountId", + "description": "The ID for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorHistory", + "description": "The error history on the most recent version of the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FunctionsErrorHistory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Indicates whether there are any timeline comments on the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shareableUrls", + "description": "URLs that can be used to share the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountShareableUrl", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSales", + "description": "The total sales from orders where the discount was used.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeAppCreatePayload", + "description": "Return type for `discountCodeAppCreate` mutation.", + "fields": [ + { + "name": "codeAppDiscount", + "description": "The created code app discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeApp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeAppInput", + "description": "The input fields to create a code app discount.", + "fields": null, + "inputFields": [ + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The code to use the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that can use the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerSelectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID of the function providing the app discount type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the discount.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeAppUpdatePayload", + "description": "Return type for `discountCodeAppUpdate` mutation.", + "fields": [ + { + "name": "codeAppDiscount", + "description": "The updated code app discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeApp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeApplication", + "description": "Discount code applications capture the intentions of a discount code at\nthe time that it is applied onto an order.\n\nDiscount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is applied to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The string identifying the discount code that was used at the time of application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "index", + "description": "An ordered index that can be used to identify the discount application and indicate the precedence\nof the discount application for calculations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBasic", + "description": "A code discount that offers customers a percentage or fixed amount discount on specific products, collections, or the entire order.", + "fields": [ + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asyncUsageCount", + "description": "The number of times that the discount has been used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codes", + "description": "A list of redeem codes for the discount.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| times_used | integer |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountCodeSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codesCount", + "description": "The number of redeem codes for the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "The qualifying items in an order, the quantity of each one, and the total value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCustomerGets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that can use the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountCustomerSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MerchandiseDiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Indicates whether there are any timeline comments on the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "args": [], + "type": { + "kind": "UNION", + "name": "DiscountMinimumRequirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shareableUrls", + "description": "URLs that can be used to share the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountShareableUrl", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSummary", + "description": "A short summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A detailed summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSales", + "description": "The total sales from orders where the discount was used.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBasicCreatePayload", + "description": "Return type for `discountCodeBasicCreate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The created code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeBasicInput", + "description": "The input fields to create or update a basic code discount.", + "fields": null, + "inputFields": [ + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The code to use the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "The qualifying items in an order, the quantity of each one, and the total value of the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerGetsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that can use the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerSelectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumRequirementInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBasicUpdatePayload", + "description": "Return type for `discountCodeBasicUpdate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The updated code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBulkActivatePayload", + "description": "Return type for `discountCodeBulkActivate` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that activates the code discounts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBulkDeactivatePayload", + "description": "Return type for `discountCodeBulkDeactivate` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that deactivates the code discounts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBulkDeletePayload", + "description": "Return type for `discountCodeBulkDelete` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that deletes the code discounts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBxgy", + "description": "A code discount that offers customers a Buy X, Get Y (BXGY) discount.", + "fields": [ + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asyncUsageCount", + "description": "The number of times that the discount has been used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codes", + "description": "A list of redeem codes for the discount.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| times_used | integer |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountCodeSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codesCount", + "description": "The number of redeem codes for the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerBuys", + "description": "The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCustomerBuys", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "The qualifying items in an order, the quantity of each one, and the total value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCustomerGets", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that can use the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountCustomerSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MerchandiseDiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Indicates whether there are any timeline comments on the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shareableUrls", + "description": "URLs that can be used to share the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountShareableUrl", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A detailed summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSales", + "description": "The total sales from orders where the discount was used.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usesPerOrderLimit", + "description": "The maximum number of times that the discount can be applied to an order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBxgyCreatePayload", + "description": "Return type for `discountCodeBxgyCreate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The created code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeBxgyInput", + "description": "The input fields to create or update a BXGY code discount.", + "fields": null, + "inputFields": [ + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The code to use the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerBuys", + "description": "The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerBuysInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGets", + "description": "The qualifying items that will be discounted, the quantity of each one, and the total value of the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerGetsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that are eligible to use the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerSelectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usesPerOrderLimit", + "description": "The maximum number of times that the discount can be applied to an order.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeBxgyUpdatePayload", + "description": "Return type for `discountCodeBxgyUpdate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The updated code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeDeactivatePayload", + "description": "Return type for `discountCodeDeactivate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The deactivated code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeDeletePayload", + "description": "Return type for `discountCodeDelete` mutation.", + "fields": [ + { + "name": "deletedCodeDiscountId", + "description": "The deleted code discount ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeFreeShipping", + "description": "A code discount that offers customers free shipping on their order.", + "fields": [ + { + "name": "appliesOnOneTimePurchase", + "description": "Whether the discount applies on regular one-time-purchase shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asyncUsageCount", + "description": "The number of times that the discount has been used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codes", + "description": "A list of redeem codes for the discount.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| times_used | integer |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountCodeSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codesCount", + "description": "The number of redeem codes for the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the discount was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that can use the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountCustomerSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destinationSelection", + "description": "A shipping destination that qualifies for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountShippingDestinationSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShippingDiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Indicates whether there are any timeline comments on the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumShippingPrice", + "description": "The maximum shipping price amount accepted to qualify for the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "args": [], + "type": { + "kind": "UNION", + "name": "DiscountMinimumRequirement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shareableUrls", + "description": "URLs that can be used to share the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountShareableUrl", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSummary", + "description": "A short summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A detailed summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSales", + "description": "The total sales from orders where the discount was used.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the discount was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeFreeShippingCreatePayload", + "description": "Return type for `discountCodeFreeShippingCreate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The created code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeFreeShippingInput", + "description": "The input fields to create or update a free shipping code discount.", + "fields": null, + "inputFields": [ + { + "name": "appliesOnOneTimePurchase", + "description": "Whether the discount applies on regular one-time-purchase items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOncePerCustomer", + "description": "Whether the discount can be applied only once per customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The code to use the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the shipping discount can combine with.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that are eligible to use the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerSelectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destination", + "description": "A list of destinations where the discount will apply.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountShippingDestinationSelectionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the discount ends. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumShippingPrice", + "description": "The maximum shipping price that qualifies for the discount.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumRequirement", + "description": "The minimum subtotal or quantity that's required for the discount to be applied.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumRequirementInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The number of times a discount applies on recurring purchases (subscriptions).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the discount starts.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the discount can be used. For open-ended discounts, use `null`.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeFreeShippingUpdatePayload", + "description": "Return type for `discountCodeFreeShippingUpdate` mutation.", + "fields": [ + { + "name": "codeDiscountNode", + "description": "The updated code discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "description": "A node containing a code discount and its related events.", + "fields": [ + { + "name": "codeDiscount", + "description": "The underlying code discount object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNodeConnection", + "description": "An auto-generated type for paginating through multiple DiscountCodeNodes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCodeNodeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountCodeNodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNodeEdge", + "description": "An auto-generated type which holds one DiscountCodeNode and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountCodeNodeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeRedeemCodeBulkDeletePayload", + "description": "Return type for `discountCodeRedeemCodeBulkDelete` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that deletes the discount redeem codes.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountCodeSortKeys", + "description": "The set of valid sort keys for the DiscountCode query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CODE", + "description": "Sort by the `code` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCollections", + "description": "A list of collections that the discount can have as a prerequisite or a list of collections to which the discount can be applied.", + "fields": [ + { + "name": "collections", + "description": "The list of collections that the discount can have as a prerequisite or the list of collections to which the discount can be applied.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCollectionsInput", + "description": "The input fields for collections attached to a discount.", + "fields": null, + "inputFields": [ + { + "name": "add", + "description": "Specifies list of collection ids to add.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remove", + "description": "Specifies list of collection ids to remove.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "description": "Determines which discount classes the discount can combine with.", + "fields": [ + { + "name": "orderDiscounts", + "description": "Combines with order discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDiscounts", + "description": "Combines with product discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingDiscounts", + "description": "Combines with shipping discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCombinesWithInput", + "description": "The input fields to determine which discount classes the discount can combine with.", + "fields": null, + "inputFields": [ + { + "name": "orderDiscounts", + "description": "Combines with order discounts.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDiscounts", + "description": "Combines with product discounts.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingDiscounts", + "description": "Combines with shipping discounts.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCountries", + "description": "The shipping destinations where the discount can be applied.", + "fields": [ + { + "name": "countries", + "description": "The codes for the countries where the discount can be applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeRestOfWorld", + "description": "Whether the discount is applicable to countries that haven't been defined in the shop's shipping zones.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCountriesInput", + "description": "The input fields for a list of countries to add or remove from the free shipping discount.", + "fields": null, + "inputFields": [ + { + "name": "add", + "description": "The country codes to add to the list of countries where the discount applies.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeRestOfWorld", + "description": "Whether the discount code is applicable to countries that haven't been defined in the shop's shipping zones.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remove", + "description": "The country codes to remove from the list of countries where the discount applies.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCountryAll", + "description": "The `DiscountCountryAll` object lets you target all countries as shipping destination for discount eligibility.", + "fields": [ + { + "name": "allCountries", + "description": "Whether the discount can be applied to all countries as shipping destination. This value is always `true`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCustomerAll", + "description": "The `DiscountCustomerAll` object lets you target all customers for discount eligibility.", + "fields": [ + { + "name": "allCustomers", + "description": "Whether the discount can be applied by all customers. This value is always `true`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCustomerBuys", + "description": "The prerequisite items and prerequisite value that a customer must have on the order for the discount to be applicable.", + "fields": [ + { + "name": "items", + "description": "The items required for the discount to be applicable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountItems", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The prerequisite value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountCustomerBuysValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerBuysInput", + "description": "The input fields for prerequisite items and quantity for the discount.", + "fields": null, + "inputFields": [ + { + "name": "items", + "description": "The IDs of items that the customer buys. The items can be either collections or products.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountItemsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The quantity of prerequisite items.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerBuysValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountCustomerBuysValue", + "description": "The prerequisite for the discount to be applicable. For example, the discount might require a customer to buy a minimum quantity of select items. Alternatively, the discount might require a customer to spend a minimum amount on select items.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountPurchaseAmount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountQuantity", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerBuysValueInput", + "description": "The input fields for prerequisite quantity or minimum purchase amount required for the discount.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The prerequisite minimum purchase amount required for the discount to be applicable.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of prerequisite items.", + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCustomerGets", + "description": "The qualifying items in an order, the quantity of each one, and the total value of the discount.", + "fields": [ + { + "name": "appliesOnOneTimePurchase", + "description": "Whether the discount applies on regular one-time-purchase items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "The items to which the discount applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountItems", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Entitled quantity and the discount value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountCustomerGetsValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerGetsInput", + "description": "Specifies the items that will be discounted, the quantity of items that will be discounted, and the value of discount.", + "fields": null, + "inputFields": [ + { + "name": "appliesOnOneTimePurchase", + "description": "Whether the discount applies on regular one-time-purchase items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnSubscription", + "description": "Whether the discount applies on subscription items.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "The IDs of the items that the customer gets. The items can be either collections or products.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountItemsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The quantity of items discounted and the discount value.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerGetsValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountCustomerGetsValue", + "description": "The type of the discount value and how it will be applied. For example, it might be a percentage discount on a fixed number of items. Alternatively, it might be a fixed amount evenly distributed across all items or on each individual item. A third example is a percentage discount on all items.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountAmount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountOnQuantity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountPercentage", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerGetsValueInput", + "description": "The input fields for the quantity of items discounted and the discount value.", + "fields": null, + "inputFields": [ + { + "name": "discountAmount", + "description": "The value of the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountAmountInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountOnQuantity", + "description": "The quantity of the items that are discounted and the discount value.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountOnQuantityInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The percentage value of the discount. Value must be between 0.00 - 1.00.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCustomerSegments", + "description": "A list of customer segments that contain the customers that the discount applies to.", + "fields": [ + { + "name": "segments", + "description": "A list of customer segments that contain the customers who can use the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerSegmentsInput", + "description": "The input fields for which customer segments to add to or remove from the discount.", + "fields": null, + "inputFields": [ + { + "name": "add", + "description": "A list of customer segments to add to the current list of customer segments.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remove", + "description": "A list of customer segments to remove from the current list of customer segments.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountCustomerSelection", + "description": "The type used for targeting a set of customers who are eligible for the discount. For example, the discount might be available to all customers or it might only be available to a specific set of customers. You can define the set of customers by targeting a list of customer segments, or by targeting a list of specific customers.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountCustomerAll", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCustomerSegments", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCustomers", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerSelectionInput", + "description": "The input fields for the customers who can use this discount.", + "fields": null, + "inputFields": [ + { + "name": "all", + "description": "Whether all customers can use this discount.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSegments", + "description": "The list of customer segment IDs to add or remove from the list of customer segments.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomerSegmentsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customers", + "description": "The list of customer IDs to add or remove from the list of customers.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomersInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountCustomers", + "description": "A list of customers eligible for the discount.", + "fields": [ + { + "name": "customers", + "description": "The list of customers eligible for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountCustomersInput", + "description": "The input fields for which customers to add to or remove from the discount.", + "fields": null, + "inputFields": [ + { + "name": "add", + "description": "A list of customers to add to the current list of customers who can use the discount.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remove", + "description": "A list of customers to remove from the current list of customers who can use the discount.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountEffect", + "description": "The type of discount that will be applied. Currently, only a percentage discount is supported.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountAmount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountPercentage", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountEffectInput", + "description": "The input fields for how the discount will be applied. Currently, only percentage off is supported.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The value of the discount.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The percentage value of the discount. Value must be between 0.00 - 1.00.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountErrorCode", + "description": "Possible error codes that can be returned by `DiscountUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE_PERIOD_OVERLAP", + "description": "The active period overlaps with other automatic discounts. At any given time, only one automatic discount can be active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONFLICT", + "description": "The attribute selection contains conflicting settings.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE", + "description": "The input value is already present.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EQUAL_TO", + "description": "The input value should be equal to the value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXCEEDED_MAX", + "description": "The value exceeded the maximum allowed value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The input value should be greater than the minimum allowed value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "The input value should be greater than or equal to the minimum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMPLICIT_DUPLICATE", + "description": "The value is already present through another selection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "Unexpected internal error happened.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_COMBINES_WITH_FOR_DISCOUNT_CLASS", + "description": "The `combinesWith` settings are invalid for the discount class.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_DISCOUNT_CLASS_FOR_PRICE_RULE", + "description": "The discountClass is invalid for the price rule.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN", + "description": "The input value should be less than the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The input value should be less than or equal to the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAX_APP_DISCOUNTS", + "description": "The active period overlaps with too many other app-provided discounts. There's a limit on the number of app discounts that can be active at any given time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINIMUM_SUBTOTAL_AND_QUANTITY_RANGE_BOTH_PRESENT", + "description": "Specify a minimum subtotal or a quantity, but not both.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_ARGUMENT", + "description": "Missing a required argument.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_ARGUMENTS", + "description": "Too many arguments provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VALUE_OUTSIDE_RANGE", + "description": "The value is outside of the allowed range.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountItems", + "description": "The type used to target the items required for discount eligibility, or the items to which the application of a discount might apply. For example, for a customer to be eligible for a discount, they're required to add an item from a specified collection to their order. Alternatively, a customer might be required to add a specific product or product variant. When using this type to target which items the discount will apply to, the discount might apply to all items on the order, or to specific products and product variants, or items in a given collection.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AllDiscountItems", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCollections", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountProducts", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountItemsInput", + "description": "The input fields for the items attached to a discount. You can specify the discount items by product ID or collection ID.", + "fields": null, + "inputFields": [ + { + "name": "all", + "description": "Whether all items should be selected.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collections", + "description": "The collections that are attached to a discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCollectionsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "The products and product variants that are attached to a discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountProductsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountMinimumQuantity", + "description": "The minimum quantity of items required for the discount to apply.", + "fields": [ + { + "name": "greaterThanOrEqualToQuantity", + "description": "The minimum quantity of items that's required for the discount to be applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumQuantityInput", + "description": "The input fields for the minimum quantity required for the discount.", + "fields": null, + "inputFields": [ + { + "name": "greaterThanOrEqualToQuantity", + "description": "The minimum quantity of items that's required for the discount to be applied.", + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountMinimumRequirement", + "description": "The type of minimum requirement that must be met for the discount to be applied. For example, a customer must spend a minimum subtotal to be eligible for the discount. Alternatively, a customer must purchase a minimum quantity of items to be eligible for the discount.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountMinimumQuantity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountMinimumSubtotal", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumRequirementInput", + "description": "The input fields for the minimum quantity or subtotal required for a discount.", + "fields": null, + "inputFields": [ + { + "name": "quantity", + "description": "The minimum required quantity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumQuantityInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotal", + "description": "The minimum required subtotal.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumSubtotalInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountMinimumSubtotal", + "description": "The minimum subtotal required for the discount to apply.", + "fields": [ + { + "name": "greaterThanOrEqualToSubtotal", + "description": "The minimum subtotal that's required for the discount to be applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountMinimumSubtotalInput", + "description": "The input fields for the minimum subtotal required for a discount.", + "fields": null, + "inputFields": [ + { + "name": "greaterThanOrEqualToSubtotal", + "description": "The minimum subtotal that's required for the discount to be applied.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountNode", + "description": "A discount wrapper node.", + "fields": [ + { + "name": "discount", + "description": "A discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "Discount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountNodeConnection", + "description": "An auto-generated type for paginating through multiple DiscountNodes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountNodeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountNodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountNodeEdge", + "description": "An auto-generated type which holds one DiscountNode and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountNodeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountOnQuantity", + "description": "The quantity of items discounted, the discount value, and how the discount will be applied.", + "fields": [ + { + "name": "effect", + "description": "The discount's effect on qualifying items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "DiscountEffect", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of items being discounted. The customer must have at least this many items of specified products or product variants in their order to be eligible for the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountQuantity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountOnQuantityInput", + "description": "The input fields for the quantity of items discounted and the discount value.", + "fields": null, + "inputFields": [ + { + "name": "effect", + "description": "The percentage value of the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountEffectInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of items that are discounted.", + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountPercentage", + "description": "A discount effect that gives customers a percentage off of specified items on their order.", + "fields": [ + { + "name": "percentage", + "description": "The percentage value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountProducts", + "description": "A list of products and product variants that the discount can have as a prerequisite or a list of products and product variants to which the discount can be applied.", + "fields": [ + { + "name": "productVariants", + "description": "The list of product variants that the discount can have as a prerequisite or the list of product variants to which the discount can be applied.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "The list of products that the discount can have as a prerequisite or the list of products to which the discount can be applied.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountProductsInput", + "description": "The input fields for the products and product variants attached to a discount.", + "fields": null, + "inputFields": [ + { + "name": "productVariantsToAdd", + "description": "Specifies list of product variant ids to add.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsToRemove", + "description": "Specifies list of product variant ids to remove.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsToAdd", + "description": "Specifies list of product ids to add.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsToRemove", + "description": "Specifies list of product ids to remove.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountPurchaseAmount", + "description": "A purchase amount in the context of a discount. This object can be used to define the minimum purchase amount required for a discount to be applicable.", + "fields": [ + { + "name": "amount", + "description": "The purchase amount in decimal format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountQuantity", + "description": "A quantity of items in the context of a discount. This object can be used to define the minimum quantity of items required to apply a discount. Alternatively, it can be used to define the quantity of items that can be discounted.", + "fields": [ + { + "name": "quantity", + "description": "The quantity of items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCode", + "description": "A code that a customer can use at checkout to receive a discount. For example, a customer can use the redeem code 'SUMMER20' at checkout to receive a 20% discount on their entire order.", + "fields": [ + { + "name": "asyncUsageCount", + "description": "The number of times that the discount redeem code has been used. This value is updated asynchronously and can be different than the actual usage count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The code that a customer can use at checkout to receive a discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "The application that created the discount redeem code.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID of the discount redeem code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkAddPayload", + "description": "Return type for `discountRedeemCodeBulkAdd` mutation.", + "fields": [ + { + "name": "bulkCreation", + "description": "The ID of the discount redeem code bulk creation operation. The properties and status of the operation can be tracked using the [`DiscountRedeemCodeBulkCreation` query](https://shopify.dev/api/admin-graphql/2022-04/queries/discountRedeemCodeBulkCreation).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreation", + "description": "The properties and status of a bulk discount redeem code creation operation.", + "fields": [ + { + "name": "codes", + "description": "The result of each code creation operation associated with the bulk creation operation including any errors that might have occurred during the operation.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreationCodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codesCount", + "description": "The number of codes to create.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the bulk creation was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCode", + "description": "The code discount associated with the created codes.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "done", + "description": "Whether the bulk creation is still queued (`false`) or has been run (`true`).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failedCount", + "description": "The number of codes that weren't created successfully.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "importedCount", + "description": "The number of codes created successfully.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreationCode", + "description": "A result of a discount redeem code creation operation created by a bulk creation.", + "fields": [ + { + "name": "code", + "description": "The code to use in the discount redeem code creation operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountRedeemCode", + "description": "The successfully created discount redeem code.\n\nIf the discount redeem code couldn't be created, then this field is `null``.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountRedeemCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "A list of errors that occurred during the creation operation of the discount redeem code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreationCodeConnection", + "description": "An auto-generated type for paginating through multiple DiscountRedeemCodeBulkCreationCodes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreationCodeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountRedeemCodeBulkCreationCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreationCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreationCodeEdge", + "description": "An auto-generated type which holds one DiscountRedeemCodeBulkCreationCode and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountRedeemCodeBulkCreationCodeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreationCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeConnection", + "description": "An auto-generated type for paginating through multiple DiscountRedeemCodes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DiscountRedeemCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeEdge", + "description": "An auto-generated type which holds one DiscountRedeemCode and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DiscountRedeemCodeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountRedeemCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountRedeemCodeInput", + "description": "The input fields for the redeem code to attach to a discount.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "The code that a customer can use at checkout to receive the associated discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountShareableUrl", + "description": "A shareable URL for a discount code.", + "fields": [ + { + "name": "targetItemImage", + "description": "The image URL of the item (product or collection) to which the discount applies.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "The type of page that's associated with the URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountShareableUrlTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the page that's associated with the URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL for the discount code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountShareableUrlTargetType", + "description": "The type of page where a shareable discount URL lands.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": "The URL lands on a collection page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HOME", + "description": "The URL lands on a home page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "The URL lands on a product page.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DiscountShippingDestinationSelection", + "description": "The type used to target the eligible countries of an order's shipping destination for which the discount applies. For example, the discount might be applicable when shipping to all countries, or only to a set of countries.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DiscountCountries", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCountryAll", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "DiscountShippingDestinationSelectionInput", + "description": "The input fields for the destinations where the free shipping discount will be applied.", + "fields": null, + "inputFields": [ + { + "name": "all", + "description": "Whether the discount code applies to all countries.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countries", + "description": "A list of countries where the discount code will apply.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DiscountCountriesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountSortKeys", + "description": "The set of valid sort keys for the Discount query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENDS_AT", + "description": "Sort by the `ends_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTS_AT", + "description": "Sort by the `starts_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountStatus", + "description": "The status of the discount.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The discount is active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The discount is expired.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "The discount is scheduled when it has a start date in the future.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountTargetType", + "description": "The type of line (line item or shipping line) on an order that the subscription discount is applicable towards.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LINE_ITEM", + "description": "The discount applies onto line items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LINE", + "description": "The discount applies onto shipping lines.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DiscountType", + "description": "The type of the subscription discount.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTOMATIC_DISCOUNT", + "description": "Automatic discount type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CODE_DISCOUNT", + "description": "Code discount type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "Manual discount type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DiscountUserError", + "description": "An error that occurs during the execution of a discount mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DiscountErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "extraInfo", + "description": "Extra information about this error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "DisplayableError", + "description": "Represents an error in the input of a mutation.", + "fields": [ + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AbandonmentEmailStateUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AbandonmentUpdateActivitiesDeliveryStatusesUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppRevokeAccessScopesAppRevokeScopeError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppSubscriptionTrialExtendUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ArticleCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ArticleDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ArticleUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BillingAttemptUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BlogCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BlogDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BlogUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BulkMutationUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BulkProductResourceFeedbackCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BusinessCustomerUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CarrierServiceUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CartTransformCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CartTransformDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CatalogUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CheckoutBrandingUpsertUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CollectionAddProductsV2UserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CombinedListingUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CommentApproveUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CommentDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CommentNotSpamUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CommentSpamUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerCancelDataErasureUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerEmailMarketingConsentUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerMergeUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreateFromDuplicationDataUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetDuplicationDataUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetUpdateUrlUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRemoteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethodUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerRequestDataErasureUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQueryUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerSendAccountInviteEmailUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerSmsMarketingConsentError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DataSaleOptOutUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DelegateAccessTokenCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DelegateAccessTokenDestroyUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomizationError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocationLocalPickupSettingsError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryPromiseProviderUpsertUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DisputeEvidenceUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ErrorsServerPixelUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ErrorsWebPixelUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FilesUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderHoldUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemsPreparedForPickupUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMergeUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderReleaseHoldUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderRescheduleUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderSplitUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrdersSetFulfillmentDeadlineUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDeactivateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToCustomerUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToRecipientUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardTransactionUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryAdjustQuantitiesUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryBulkToggleActivationUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryMoveQuantitiesUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventorySetOnHandQuantitiesUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventorySetQuantitiesUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventorySetScheduledChangesUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocationActivateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocationAddUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocationDeactivateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocationDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocationEditUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketCurrencySettingsUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MediaUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MenuCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MenuDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MenuUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionPinUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionUnpinUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldsSetUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MobilePlatformApplicationUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFilesUserErrors", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderCancelUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderCreateMandatePaymentUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAddShippingLineUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderEditRemoveDiscountUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderEditRemoveShippingLineUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderEditUpdateDiscountUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderEditUpdateShippingLineUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderInvoiceSendUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderRiskAssessmentCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PageUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentReminderSendUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceListFixedPricesByProductBulkUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceListPriceUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceListUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleMutationUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductChangeStatusUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductFullSyncUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsReorderUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductSetUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantRelationshipBulkUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkReorderUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PublicationUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "QuantityPricingByVariantUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "QuantityRuleUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopPolicyUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopResourceFeedbackCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionEnableUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleSkipUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUnskipUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractStatusUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxAppConfigureUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ThemeCreateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ThemeDeleteUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ThemePublishUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ThemeUpdateUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TransactionVoidUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TranslationUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteByIdsUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySavedSearchUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySearchUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectImportUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ValidationUserError", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "DisputeEvidenceUpdatePayload", + "description": "Return type for `disputeEvidenceUpdate` mutation.", + "fields": [ + { + "name": "disputeEvidence", + "description": "The updated dispute evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeEvidence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DisputeEvidenceUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DisputeEvidenceUpdateUserError", + "description": "An error that occurs during the execution of `DisputeEvidenceUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DisputeEvidenceUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DisputeEvidenceUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `DisputeEvidenceUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISPUTE_EVIDENCE_NOT_FOUND", + "description": "Dispute evidence could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVIDENCE_ALREADY_ACCEPTED", + "description": "Evidence already accepted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EVIDENCE_PAST_DUE_DATE", + "description": "Evidence past due date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILES_SIZE_EXCEEDED_LIMIT", + "description": "Combined files size is too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LARGE", + "description": "Individual file size is too large.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DisputeStatus", + "description": "The possible statuses of a dispute.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGE_REFUNDED", + "description": "Status previously used by Stripe to indicate that a dispute led to a refund.", + "isDeprecated": true, + "deprecationReason": "CHARGE_REFUNDED is no longer supported." + }, + { + "name": "LOST", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEEDS_RESPONSE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNDER_REVIEW", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WON", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DisputeType", + "description": "The possible types for a dispute.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHARGEBACK", + "description": "The dispute has turned into a chargeback.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INQUIRY", + "description": "The dispute is in the inquiry phase.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Domain", + "description": "A unique string that represents the address of a Shopify store on the Internet.", + "fields": [ + { + "name": "host", + "description": "The host name of the domain. For example, `example.com`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localization", + "description": "The localization of the domain, if the domain doesn't redirect.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DomainLocalization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketWebPresence", + "description": "The web presence of the domain.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketWebPresence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sslEnabled", + "description": "Whether SSL is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL of the domain (for example, `https://example.com`).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DomainLocalization", + "description": "The country and language settings assigned to a domain.", + "fields": [ + { + "name": "alternateLocales", + "description": "The ISO codes for the domain’s alternate locales. For example, `[\"en\"]`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The ISO code for the country assigned to the domain. For example, `\"CA\"` or \"*\" for a domain set to \"Rest of world\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultLocale", + "description": "The ISO code for the domain’s default locale. For example, `\"en\"`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "description": "An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks:\n\n- Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created.\n- Send invoices to customers to pay with a secure checkout link.\n- Use custom items to represent additional costs or products that aren't displayed in a shop's inventory.\n- Re-create orders manually from active sales channels.\n- Sell products at discount or wholesale rates.\n- Take pre-orders.\n- Save an order as a draft and resume working on it later.\n\nFor draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency.\n\n**Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data.", + "fields": [ + { + "name": "acceptAutomaticDiscounts", + "description": "Whether or not to accept automatic discounts on the draft order during calculation.\nIf false, only discount codes and custom draft order discounts (see `appliedDiscount`) will be applied.\nIf true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowDiscountCodesInCheckout", + "description": "Whether discount codes are allowed during checkout of this draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedDiscount", + "description": "The custom order-level discount applied.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrderAppliedDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddress", + "description": "The billing address of the customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddressMatchesShippingAddress", + "description": "Whether the billing address matches the shipping address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "completedAt", + "description": "The date and time when the draft order was converted to a new order,\nand had it's status changed to **Completed**.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the draft order was created in Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The shop currency used for calculation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "The custom information added to the draft order on behalf of the customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer who will be sent an invoice.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodes", + "description": "All discount codes applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The email address of the customer, which is used to send notifications.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The list of events associated with the draft order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Whether the merchant has added timeline comments to the draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invoiceEmailTemplateSubject", + "description": "The subject defined for the draft invoice email template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invoiceSentAt", + "description": "The date and time when the invoice was last emailed to the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "invoiceUrl", + "description": "The link to the checkout, which is sent to the customer in the invoice email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "The list of the line items in the draft order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItemsSubtotalPrice", + "description": "A subtotal of the line items and corresponding discounts,\nexcluding include shipping charges, shipping discounts, taxes, or order discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localizationExtensions", + "description": "List of localization extensions for the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCodes", + "description": "The country codes of the extensions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purposes", + "description": "The purpose of the extensions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LocalizationExtensionPurpose", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocalizationExtensionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketName", + "description": "The name of the selected market.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketRegionCountryCode", + "description": "The selected country code that determines the pricing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The identifier for the draft order, which is unique within the store. For example, _#D1223_.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note2", + "description": "The text from an optional note attached to the draft order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order that was created from the draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTerms", + "description": "The associated payment terms for this draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PaymentTerms", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The assigned phone number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "platformDiscounts", + "description": "The list of platform discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderPlatformDiscount", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "poNumber", + "description": "The purchase order number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentCurrencyCode", + "description": "The payment currency used for calculation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "purchasingEntity", + "description": "The purchasing entity.", + "args": [], + "type": { + "kind": "UNION", + "name": "PurchasingEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ready", + "description": "Whether the draft order is ready and can be completed.\nDraft orders might have asynchronous operations that can take time to finish.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reserveInventoryUntil", + "description": "The time after which inventory will automatically be restocked.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The shipping address of the customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "The line item containing the shipping information and costs.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DraftOrderStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalPrice", + "description": "The subtotal, in shop currency, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `subtotalPriceSet` instead." + }, + { + "name": "subtotalPriceSet", + "description": "The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The comma separated list of tags associated with the draft order.\nUpdating `tags` overwrites any existing tags that were previously added to the draft order.\nTo add new tags without overwriting existing tags, use the [tagsAdd](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExempt", + "description": "Whether the draft order is tax exempt.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "The list of of taxes lines charged for each line item and shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxesIncluded", + "description": "Whether the line item prices include taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountsSet", + "description": "Total discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalLineItemsPriceSet", + "description": "Total price of line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPrice", + "description": "The total price, in shop currency, includes taxes, shipping charges, and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalPriceSet` instead." + }, + { + "name": "totalPriceSet", + "description": "The total price, includes taxes, shipping charges, and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalQuantityOfLineItems", + "description": "The sum of individual line item quantities.\nIf the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalShippingPrice", + "description": "The total shipping price in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalShippingPriceSet` instead." + }, + { + "name": "totalShippingPriceSet", + "description": "The total shipping price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTax", + "description": "The total tax in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalTaxSet` instead." + }, + { + "name": "totalTaxSet", + "description": "The total tax.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalWeight", + "description": "The total weight in grams of the draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transformerFingerprint", + "description": "Fingerprint of the current cart.\nIn order to have bundles work, the fingerprint must be passed to\neach request as it was previously returned, unmodified.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the draft order was last changed.\nThe format is YYYY-MM-DD HH:mm:ss. For example, 2016-02-05 17:04:01.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleToCustomer", + "description": "Whether the draft order will be visible to the customer on the self-serve portal.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "The list of warnings raised while calculating.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "DraftOrderWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasLocalizationExtensions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderAppliedDiscount", + "description": "The order-level discount applied to a draft order.", + "fields": [ + { + "name": "amount", + "description": "Amount of the order-level discount that's applied to the draft order in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `amountSet` instead." + }, + { + "name": "amountSet", + "description": "The amount of money discounted, with values shown in both shop currency and presentment currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amountV2", + "description": "Amount of money discounted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `amountSet` instead." + }, + { + "name": "description", + "description": "Description of the order-level discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Name of the order-level discount.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The order level discount amount. If `valueType` is `\"percentage\"`,\nthen `value` is the percentage discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueType", + "description": "Type of the order-level discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DraftOrderAppliedDiscountType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DraftOrderAppliedDiscountInput", + "description": "The input fields for applying an order-level discount to a draft order.", + "fields": null, + "inputFields": [ + { + "name": "amountWithCurrency", + "description": "The applied amount of the discount in the specified currency.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Reason for the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount.\nIf the type of the discount is fixed amount, then this is a fixed amount in your shop currency.\nIf the type is percentage, then this is the percentage.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueType", + "description": "The type of discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DraftOrderAppliedDiscountType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DraftOrderAppliedDiscountType", + "description": "The valid discount types that can be applied to a draft order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIXED_AMOUNT", + "description": "A fixed amount in the store's currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERCENTAGE", + "description": "A percentage of the order subtotal.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderBulkAddTagsPayload", + "description": "Return type for `draftOrderBulkAddTags` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job for adding tags to the draft orders.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderBulkDeletePayload", + "description": "Return type for `draftOrderBulkDelete` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job for deleting the draft orders.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderBulkRemoveTagsPayload", + "description": "Return type for `draftOrderBulkRemoveTags` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job for removing tags from the draft orders.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderBundleAddedWarning", + "description": "A warning indicating that a bundle was added to a draft order.", + "fields": [ + { + "name": "errorCode", + "description": "The error code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The input field that the warning applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The warning message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DraftOrderWarning", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderCalculatePayload", + "description": "Return type for `draftOrderCalculate` mutation.", + "fields": [ + { + "name": "calculatedDraftOrder", + "description": "The calculated properties for a draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedDraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderCompletePayload", + "description": "Return type for `draftOrderComplete` mutation.", + "fields": [ + { + "name": "draftOrder", + "description": "The completed draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderConnection", + "description": "An auto-generated type for paginating through multiple DraftOrders.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DraftOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderCreateFromOrderPayload", + "description": "Return type for `draftOrderCreateFromOrder` mutation.", + "fields": [ + { + "name": "draftOrder", + "description": "The created draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderCreateMerchantCheckoutPayload", + "description": "Return type for `draftOrderCreateMerchantCheckout` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderCreatePayload", + "description": "Return type for `draftOrderCreate` mutation.", + "fields": [ + { + "name": "draftOrder", + "description": "The created draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DraftOrderDeleteInput", + "description": "The input fields to specify the draft order to delete by its ID.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the draft order to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderDeletePayload", + "description": "Return type for `draftOrderDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted draft order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderDiscountNotAppliedWarning", + "description": "A warning indicating that a discount cannot be applied to a draft order.", + "fields": [ + { + "name": "discountCode", + "description": "The code of the discount that can't be applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountTitle", + "description": "The title of the discount that can't be applied.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorCode", + "description": "The error code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The input field that the warning applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The warning message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceRule", + "description": "The price rule that can't be applied.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DraftOrderWarning", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderDuplicatePayload", + "description": "Return type for `draftOrderDuplicate` mutation.", + "fields": [ + { + "name": "draftOrder", + "description": "The newly duplicated draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderEdge", + "description": "An auto-generated type which holds one DraftOrder and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DraftOrderEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DraftOrderInput", + "description": "The input fields used to create or update a draft order.", + "fields": null, + "inputFields": [ + { + "name": "acceptAutomaticDiscounts", + "description": "Whether or not to accept automatic discounts on the draft order during calculation.\nIf false, only discount codes and custom draft order discounts (see `appliedDiscount`) will be applied.\nIf true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allowDiscountCodesInCheckout", + "description": "Whether discount codes are allowed during checkout of this draft order.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliedDiscount", + "description": "The discount that will be applied to the draft order.\nA draft order line item can have one discount. A draft order can also have one order-level discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DraftOrderAppliedDiscountInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddress", + "description": "The mailing address associated with the payment method.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "The extra information added to the customer.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AttributeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodes", + "description": "The list of discount codes that will be attempted to be applied to the draft order.\nIf the draft isn't eligible for any given discount code it will be skipped during calculation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The customer's email address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "The list of product variant or custom line item.\nEach draft order must include at least one line item.\n\nNOTE: Draft orders don't currently support subscriptions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DraftOrderLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localizationExtensions", + "description": "The localization extensions attached to the draft order. For example, Tax IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LocalizationExtensionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketRegionCountryCode", + "description": "The selected country code that determines the pricing of the draft order.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The list of metafields attached to the draft order. An existing metafield can not be used when creating a draft order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The text of an optional note that a shop owner can attach to the draft order.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTerms", + "description": "The fields used to create payment terms.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The customer's phone number.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "poNumber", + "description": "The purchase order number.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentCurrencyCode", + "description": "The payment currency of the customer for this draft order.", + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purchasingEntity", + "description": "The purchasing entity for the draft order.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PurchasingEntityInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reserveInventoryUntil", + "description": "The time after which inventory reservation will expire.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sessionToken", + "description": "The unique token identifying the draft order.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The mailing address to where the order will be shipped.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "The shipping line object, which details the shipping method used.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShippingLineInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceName", + "description": "The source of the checkout.\nTo use this field for sales attribution, you must register the channels that your app is managing.\nYou can register the channels that your app is managing by completing\n[this Google Form](https://docs.google.com/forms/d/e/1FAIpQLScmVTZRQNjOJ7RD738mL1lGeFjqKVe_FM2tO9xsm21QEo5Ozg/viewform?usp=sf_link).\nAfter you've submitted your request, you need to wait for your request to be processed by Shopify.\nYou can find a list of your channels in the Partner Dashboard, in your app's Marketplace extension.\nYou need to specify the handle as the `source_name` value in your request.\nThe handle is the channel that the order was placed from.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma separated list of tags that have been added to the draft order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExempt", + "description": "Whether or not taxes are exempt for the draft order.\nIf false, then Shopify will refer to the taxable field for each line item.\nIf a customer is applied to the draft order, then Shopify will use the customer's tax exempt field instead.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transformerFingerprint", + "description": "Fingerprint to guarantee bundles are handled correctly.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useCustomerDefaultAddress", + "description": "Whether to use the customer's default address.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleToCustomer", + "description": "Whether the draft order will be visible to the customer on the self-serve portal.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderInvoicePreviewPayload", + "description": "Return type for `draftOrderInvoicePreview` mutation.", + "fields": [ + { + "name": "previewHtml", + "description": "The draft order invoice email rendered as HTML to allow previewing.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previewSubject", + "description": "The subject preview for the draft order invoice email.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderInvoiceSendPayload", + "description": "Return type for `draftOrderInvoiceSend` mutation.", + "fields": [ + { + "name": "draftOrder", + "description": "The draft order an invoice email is sent for.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderLineItem", + "description": "The line item for a draft order.", + "fields": [ + { + "name": "appliedDiscount", + "description": "The custom applied discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrderAppliedDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approximateDiscountedUnitPriceSet", + "description": "The `discountedTotal` divided by `quantity`,\nequal to the average value of the line item price per unit after discounts are applied.\nThis value doesn't include discounts applied to the entire draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bundleComponents", + "description": "The list of bundle components if applicable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "custom", + "description": "Whether the line item is custom (`true`) or contains a product variant (`false`).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of attributes that represent custom features or special requests.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributesV2", + "description": "The list of additional information (metafields) with the associated types.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TypedAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedTotal", + "description": "The line item price, in shop currency, after discounts are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `discountedTotalSet` instead." + }, + { + "name": "discountedTotalSet", + "description": "The total price with discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPrice", + "description": "The `discountedTotal` divided by `quantity`, equal to the value of the discount per unit in the shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `approximateDiscountedUnitPriceSet` instead." + }, + { + "name": "discountedUnitPriceSet", + "description": "The unit price with discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `approximateDiscountedUnitPriceSet` instead." + }, + { + "name": "fulfillmentService", + "description": "Name of the service provider who fulfilled the order.\n\nValid values are either **manual** or the name of the provider.\nFor example, **amazon**, **shipwire**.\n\nDeleted fulfillment services will return null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grams", + "description": "The weight of the line item in grams.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `weight` instead." + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image of the product variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isGiftCard", + "description": "Whether the line item represents the purchase of a gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotal", + "description": "The total price, in shop currency, excluding discounts, equal to the original unit price multiplied by quantity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originalTotalSet` instead." + }, + { + "name": "originalTotalSet", + "description": "The total price excluding discounts, equal to the original unit price multiplied by quantity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPrice", + "description": "The price, in shop currency, without any discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originalUnitPriceWithCurrency` instead." + }, + { + "name": "originalUnitPriceSet", + "description": "The price without any discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceWithCurrency", + "description": "The original custom line item input price.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product for the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of items. For a bundle item, this is the quantity of bundles,\nnot the quantity of items contained in the bundles themselves.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether physical shipping is required for the variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The SKU number of the product variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "A list of tax lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the variant is taxable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product or variant. This field only applies to custom line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscount", + "description": "The total discount applied in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalDiscountSet` instead." + }, + { + "name": "totalDiscountSet", + "description": "The total discount amount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "The UUID of the draft order line item. Must be unique and consistent across requests.\nThis field is mandatory in order to manipulate drafts with bundles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant for the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "The name of the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the vendor who created the product variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The weight unit and value.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Weight", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderLineItemConnection", + "description": "An auto-generated type for paginating through multiple DraftOrderLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in DraftOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderLineItemEdge", + "description": "An auto-generated type which holds one DraftOrderLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of DraftOrderLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DraftOrderLineItemInput", + "description": "The input fields for a line item included in a draft order.", + "fields": null, + "inputFields": [ + { + "name": "appliedDiscount", + "description": "The custom discount to be applied.", + "type": { + "kind": "INPUT_OBJECT", + "name": "DraftOrderAppliedDiscountInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bundleComponents", + "description": "The bundle components when the line item is a bundle.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BundlesDraftOrderBundleLineItemComponentInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A generic custom attribute using a key value pair.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AttributeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceWithCurrency", + "description": "The price in presentment currency, without any discounts applied, for a custom line item.\nIf this value is provided, `original_unit_price` will be ignored. This field is ignored when `variantId` is provided.\nNote: All presentment currencies for a single draft should be the same and match the\npresentment currency of the draft order.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The line item quantity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether physical shipping is required for a custom line item. This field is ignored when `variantId` is provided.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The SKU number for custom line items only. This field is ignored when `variantId` is provided.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the custom line item is taxable. This field is ignored when `variantId` is provided.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the line item. This field is ignored when `variantId` is provided.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uuid", + "description": "The UUID of the draft order line item. Must be unique and consistent across requests.\nThis field is mandatory in order to manipulate drafts with bundles.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The ID of the product variant corresponding to the line item.\nMust be null for custom line items, otherwise required.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The weight unit and value inputs for custom line items only.\nThis field is ignored when `variantId` is provided.", + "type": { + "kind": "INPUT_OBJECT", + "name": "WeightInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderPlatformDiscount", + "description": "The platform discounts applied to the draft order.", + "fields": [ + { + "name": "allocations", + "description": "Price reduction allocations across the draft order's lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderPlatformDiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "automaticDiscount", + "description": "Whether the discount is an automatic discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bxgyDiscount", + "description": "Whether the discount is a buy x get y discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "If a code-based discount, the code used to add the discount.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The discount class.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountNode", + "description": "The discount node for the platform discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the discount.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentationLevel", + "description": "Whether the discount is line, order or shipping level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shortSummary", + "description": "The short summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "The summary of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The discount total amount in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmountPriceSet", + "description": "The amount of money discounted, with values shown in both shop currency and presentment currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderPlatformDiscountAllocation", + "description": "Price reduction allocations across the draft order's lines.", + "fields": [ + { + "name": "id", + "description": "The ID of the allocation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the target being discounted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reductionAmount", + "description": "Amount of the discount allocated to the target.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reductionAmountSet", + "description": "Amount of the discount allocated to the target in both shop currency and presentment currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "The element of the draft being discounted.", + "args": [], + "type": { + "kind": "UNION", + "name": "DraftOrderPlatformDiscountAllocationTarget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "DraftOrderPlatformDiscountAllocationTarget", + "description": "The element of the draft being discounted.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CalculatedDraftOrderLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "DraftOrderSortKeys", + "description": "The set of valid sort keys for the DraftOrder query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_NAME", + "description": "Sort by the `customer_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NUMBER", + "description": "Sort by the `number` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STATUS", + "description": "Sort by the `status` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_PRICE", + "description": "Sort by the `total_price` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DraftOrderStatus", + "description": "The valid statuses for a draft order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPLETED", + "description": "The draft order has been paid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVOICE_SENT", + "description": "An invoice for the draft order has been sent to the customer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPEN", + "description": "The draft order is open. It has not been paid, and an invoice hasn't been sent.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderTag", + "description": "Represents a draft order tag.", + "fields": [ + { + "name": "handle", + "description": "Handle of draft order tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of draft order tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of draft order tag.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderUpdatePayload", + "description": "Return type for `draftOrderUpdate` mutation.", + "fields": [ + { + "name": "draftOrder", + "description": "The updated draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "DraftOrderWarning", + "description": "A warning that is displayed to the merchant when a change is made to a draft order.", + "fields": [ + { + "name": "errorCode", + "description": "The error code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The input field that the warning applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The warning message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DraftOrderBundleAddedWarning", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderDiscountNotAppliedWarning", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "Duty", + "description": "The duty details for a line item.", + "fields": [ + { + "name": "countryCodeOfOrigin", + "description": "The ISO 3166-1 alpha-2 country code of the country of origin used in calculating the duty.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harmonizedSystemCode", + "description": "The harmonized system code of the item used in calculating the duty.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The amount of the duty.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "A list of taxes charged on the duty.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DutySale", + "description": "A sale associated with a duty charge.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duty", + "description": "The duty for the associated sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Duty", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EditableProperty", + "description": "The attribute editable information.", + "fields": [ + { + "name": "locked", + "description": "Whether the attribute is locked for editing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason the attribute is locked for editing.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EmailInput", + "description": "The input fields for an email.", + "fields": null, + "inputFields": [ + { + "name": "bcc", + "description": "Specifies any bcc recipients for the email.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "Specifies the email body.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customMessage", + "description": "Specifies a custom message to include in the email.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "from", + "description": "Specifies the email sender.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": "Specifies the email subject.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "to", + "description": "Specifies the email recipient.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ErrorsServerPixelUserError", + "description": "An error that occurs during the execution of a server pixel mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ErrorsServerPixelUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ErrorsServerPixelUserErrorCode", + "description": "Possible error codes that can be returned by `ErrorsServerPixelUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALREADY_EXISTS", + "description": "A server pixel already exists for this app and shop. Only one server pixel can exist for any app and shop combination.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEEDS_CONFIGURATION_TO_CONNECT", + "description": "Server Pixel must be configured with a valid AWS Event Bridge or GCP pub/sub endpoint address to be connected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "A server pixel doesn't exist for this app and shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUB_SUB_ERROR", + "description": "PubSubProject and PubSubTopic values resulted in an address that is not a valid GCP pub/sub format.Address format should be pubsub://project:topic.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ErrorsWebPixelUserError", + "description": "An error that occurs during the execution of a web pixel mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ErrorsWebPixelUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ErrorsWebPixelUserErrorCode", + "description": "Possible error codes that can be returned by `ErrorsWebPixelUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_SETTINGS", + "description": "The provided settings does not match the expected settings definition on the app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNABLE_TO_DELETE", + "description": "An error occurred and the web pixel couldnt be deleted.", + "isDeprecated": true, + "deprecationReason": "`UNABLE_TO_DELETE` is deprecated. Use `UNEXPECTED_ERROR` instead." + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Event", + "description": "Events chronicle resource activities such as the creation of an article, the fulfillment of an order, or the\naddition of a product.", + "fields": [ + { + "name": "action", + "description": "The action that occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appTitle", + "description": "The name of the app that created the event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributeToApp", + "description": "Whether the event was created by an app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributeToUser", + "description": "Whether the event was caused by an admin user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the event was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "criticalAlert", + "description": "Whether the event is critical.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Human readable text that describes the event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "FormattedString", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "BasicEvent", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CommentEvent", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "EventBridgeServerPixelUpdatePayload", + "description": "Return type for `eventBridgeServerPixelUpdate` mutation.", + "fields": [ + { + "name": "serverPixel", + "description": "The server pixel as configured by the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ServerPixel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorsServerPixelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EventBridgeWebhookSubscriptionCreatePayload", + "description": "Return type for `eventBridgeWebhookSubscriptionCreate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "The webhook subscription that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EventBridgeWebhookSubscriptionInput", + "description": "The input fields for an EventBridge webhook subscription.", + "fields": null, + "inputFields": [ + { + "name": "arn", + "description": "The ARN of the EventBridge partner event source.", + "type": { + "kind": "SCALAR", + "name": "ARN", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filter", + "description": "A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "The format in which the webhook subscription should send the data.", + "type": { + "kind": "ENUM", + "name": "WebhookSubscriptionFormat", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeFields", + "description": "The list of fields to be included in the webhook subscription.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldNamespaces", + "description": "The list of namespaces for any metafields that should be included in the webhook subscription.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EventBridgeWebhookSubscriptionUpdatePayload", + "description": "Return type for `eventBridgeWebhookSubscriptionUpdate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "The webhook subscription that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EventConnection", + "description": "An auto-generated type for paginating through multiple Events.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in EventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EventEdge", + "description": "An auto-generated type which holds one Event and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of EventEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EventSortKeys", + "description": "The set of valid sort keys for the Event query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "EventSubjectType", + "description": "The type of the resource that generated the event.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARTICLE", + "description": "A Article resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOG", + "description": "A Blog resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION", + "description": "A Collection resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENT", + "description": "A Comment resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY", + "description": "A Company resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATION", + "description": "A CompanyLocation resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER", + "description": "A Customer resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNT_AUTOMATIC_BXGY", + "description": "A DiscountAutomaticBxgy resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNT_AUTOMATIC_NODE", + "description": "A DiscountAutomaticNode resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNT_CODE_NODE", + "description": "A DiscountCodeNode resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNT_NODE", + "description": "A DiscountNode resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT_ORDER", + "description": "A DraftOrder resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER", + "description": "A Order resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAGE", + "description": "A Page resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_RULE", + "description": "A PriceRule resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "A Product resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT", + "description": "A ProductVariant resource generated the event.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Subject type is not available. This usually means that the subject isn't available in the current\n version of the API, using a newer API version may resolve this.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeLineItem", + "description": "An item for exchange.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The order line item for the exchange.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ExchangeLineItemAppliedDiscountInput", + "description": "The input fields for an applied discount on a calculated exchange line item.", + "fields": null, + "inputFields": [ + { + "name": "description", + "description": "The description of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount as a fixed amount or a percentage.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ExchangeLineItemAppliedDiscountValueInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ExchangeLineItemAppliedDiscountValueInput", + "description": "The input value for an applied discount on a calculated exchange line item.\nCan either specify the value as a fixed amount or a percentage.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The value of the discount as a fixed amount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The value of the discount as a percentage.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeLineItemConnection", + "description": "An auto-generated type for paginating through multiple ExchangeLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ExchangeLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeLineItemEdge", + "description": "An auto-generated type which holds one ExchangeLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ExchangeLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ExchangeLineItemInput", + "description": "The input fields for new line items to be added to the order as part of an exchange.", + "fields": null, + "inputFields": [ + { + "name": "appliedDiscount", + "description": "The discount to be applied to the exchange line item.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ExchangeLineItemAppliedDiscountInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardCodes", + "description": "The gift card codes associated with the physical gift cards.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the item to be added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The ID of the product variant to be added to the order as part of an exchange.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeV2", + "description": "An exchange where existing items on an order are returned and new items are added to the order.", + "fields": [ + { + "name": "additions", + "description": "The details of the new items in the exchange.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2Additions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "completedAt", + "description": "The date and time when the exchange was completed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the exchange was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location where the exchange happened.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The text of an optional note that a shop owner can attach to the exchange.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refunds", + "description": "The refunds processed during the exchange.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returns", + "description": "The details of the returned items in the exchange.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2Returns", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "The staff member associated with the exchange.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmountProcessedSet", + "description": "The amount of money that was paid or refunded as part of the exchange.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPriceSet", + "description": "The difference in values of the items that were exchanged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "The order transactions related to the exchange.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeV2Additions", + "description": "New items associated to the exchange.", + "fields": [ + { + "name": "lineItems", + "description": "The list of new items for the exchange.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2LineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalPriceSet", + "description": "The subtotal of the items being added, including discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "The summary of all taxes of the items being added.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPriceSet", + "description": "The total price of the items being added, including discounts and taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeV2Connection", + "description": "An auto-generated type for paginating through multiple ExchangeV2s.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2Edge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ExchangeV2Edge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeV2Edge", + "description": "An auto-generated type which holds one ExchangeV2 and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ExchangeV2Edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeV2LineItem", + "description": "Contains information about an item in the exchange.", + "fields": [ + { + "name": "customAttributes", + "description": "A list of attributes that represent custom features or special requests.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedTotalSet", + "description": "The total line price, in shop and presentment currencies, after discounts are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPriceSet", + "description": "The price, in shop and presentment currencies,\nof a single variant unit after line item discounts are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentService", + "description": "Name of the service provider who fulfilled the order.\n\nValid values are either **manual** or the name of the provider.\nFor example, **amazon**, **shipwire**.\n\nDeleted fulfillment services will return null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "Indiciates if this line item is a gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCards", + "description": "The gift cards associated with the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isGiftCard", + "description": "Whether the line item represents the purchase of a gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The line item associated with this object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotalSet", + "description": "The total price, in shop and presentment currencies, before discounts are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceSet", + "description": "The price, in shop and presentment currencies,\nof a single variant unit before line item discounts are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of products that were purchased.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether physical shipping is required for the variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The SKU number of the product variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "The TaxLine object connected to this line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the variant is taxable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product or variant. This field only applies to custom line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant of the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "The name of the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the vendor who created the product variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExchangeV2Returns", + "description": "Return items associated to the exchange.", + "fields": [ + { + "name": "lineItems", + "description": "The list of return items for the exchange.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2LineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderDiscountAmountSet", + "description": "The amount of the order-level discount for the items and shipping being returned, which doesn't contain any line item discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingRefundAmountSet", + "description": "The amount of money to be refunded for shipping.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalPriceSet", + "description": "The subtotal of the items being returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "The summary of all taxes of the items being returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tipRefundAmountSet", + "description": "The amount of money to be refunded for tip.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPriceSet", + "description": "The total value of the items being returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ExternalVideo", + "description": "Represents a video hosted outside of Shopify.", + "fields": [ + { + "name": "alt", + "description": "A word or phrase to describe the contents or the function of a file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "embedUrl", + "description": "The embed URL of the video for the respective host.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "embeddedUrl", + "description": "The URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originUrl` instead." + }, + { + "name": "fileErrors", + "description": "Any errors that have occurred on the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileStatus", + "description": "The status of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FileStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "host", + "description": "The host of the external video.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaHost", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaContentType", + "description": "The media content type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaContentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaErrors", + "description": "Any errors which have occurred on the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaWarnings", + "description": "The warnings attached to the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originUrl", + "description": "The origin URL of the video on the respective host.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": "The preview image for the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "File", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FailedRequirement", + "description": "Requirements that must be met before an app can be installed.", + "fields": [ + { + "name": "action", + "description": "Action to be taken to resolve a failed requirement, including URL link.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NavigationItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "A concise set of copy strings to be displayed to merchants, to guide them in resolving problems your app\nencounters when trying to make use of their Shop and its resources.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Fee", + "description": "A additional cost, charged by the merchant, on an order. Examples include return shipping fees and restocking fees.", + "fields": [ + { + "name": "id", + "description": "The unique ID for the Fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "RestockingFee", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReturnShippingFee", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "FeeSale", + "description": "A sale associated with a fee.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fee", + "description": "The fee associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Fee", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "File", + "description": "A file interface.", + "fields": [ + { + "name": "alt", + "description": "A word or phrase to describe the contents or the function of a file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileErrors", + "description": "Any errors that have occurred on the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileStatus", + "description": "The status of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FileStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": "The preview image for the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ExternalVideo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GenericFile", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MediaImage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Model3d", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Video", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "FileAcknowledgeUpdateFailedPayload", + "description": "Return type for `fileAcknowledgeUpdateFailed` mutation.", + "fields": [ + { + "name": "files", + "description": "The updated file(s).", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "File", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FilesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileConnection", + "description": "An auto-generated type for paginating through multiple Files.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "File", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FileContentType", + "description": "The possible content types for a file object.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EXTERNAL_VIDEO", + "description": "An externally hosted video.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE", + "description": "A Shopify-hosted generic file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE", + "description": "A Shopify-hosted image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL_3D", + "description": "A Shopify-hosted 3D model.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO", + "description": "A Shopify-hosted video file. It's recommended to use this type for all video files.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileCreateInput", + "description": "The input fields that are required to create a file object.", + "fields": null, + "inputFields": [ + { + "name": "alt", + "description": "The alternative text description of the file.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType", + "description": "The file content type. If omitted, then Shopify will attempt to determine the content type during file processing.", + "type": { + "kind": "ENUM", + "name": "FileContentType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duplicateResolutionMode", + "description": "How to handle if filename is already in use.", + "type": { + "kind": "ENUM", + "name": "FileCreateInputDuplicateResolutionMode", + "ofType": null + }, + "defaultValue": "APPEND_UUID", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "When provided, the file will be created with the given filename,\notherwise the filename in the originalSource will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSource", + "description": "An external URL (for images only) or a\n[staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FileCreateInputDuplicateResolutionMode", + "description": "The input fields for handling if filename is already in use.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPEND_UUID", + "description": "Append a UUID if filename is already in use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RAISE_ERROR", + "description": "Raise an error if filename is already in use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPLACE", + "description": "Replace the existing file if filename is already in use.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileCreatePayload", + "description": "Return type for `fileCreate` mutation.", + "fields": [ + { + "name": "files", + "description": "The newly created files.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "File", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FilesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileDeletePayload", + "description": "Return type for `fileDelete` mutation.", + "fields": [ + { + "name": "deletedFileIds", + "description": "The IDs of the deleted files.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FilesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileEdge", + "description": "An auto-generated type which holds one File and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FileEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "File", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileError", + "description": "A file error. This typically occurs when there is an issue with the file itself causing it to fail validation.\nCheck the file before attempting to upload again.", + "fields": [ + { + "name": "code", + "description": "Code representing the type of error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FileErrorCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "details", + "description": "Additional details regarding the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Translated error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FileErrorCode", + "description": "The error types for a file.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUPLICATE_FILENAME_ERROR", + "description": "File could not be created because a file with the same name already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_EMBED_DISABLED", + "description": "File could not be created because embed permissions are disabled for this video.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_EMBED_NOT_FOUND_OR_TRANSCODING", + "description": "File could not be created because video is either not found or still transcoding.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_INVALID_ASPECT_RATIO", + "description": "File could not be created because the external video has an invalid aspect ratio.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_NOT_FOUND", + "description": "File could not be created because the external video could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_UNLISTED", + "description": "File could not be created because the external video is not listed or is private.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE_STORAGE_LIMIT_EXCEEDED", + "description": "File could not be created because the cumulative file storage limit would be exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_FILE_DOWNLOAD_FAILURE", + "description": "File could not be processed because the source could not be downloaded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_FILE_INVALID_SIZE", + "description": "File could not be created because the size is too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE_DOWNLOAD_FAILURE", + "description": "File could not be processed because the image could not be downloaded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE_PROCESSING_FAILURE", + "description": "File could not be processed because the image could not be processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_IMAGE_ASPECT_RATIO", + "description": "File could not be created because the image has an invalid aspect ratio.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_IMAGE_FILE_SIZE", + "description": "File could not be created because the image size is too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_IMAGE_RESOLUTION", + "description": "File could not be created because the image's resolution exceeds the max limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_SIGNED_URL", + "description": "File could not be processed because the signed URL was invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIA_TIMEOUT_ERROR", + "description": "File timed out because it is currently being modified by another operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_GLB_OUTPUT_CREATION_ERROR", + "description": "File could not be created because the model file failed processing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_GLB_TO_USDZ_CONVERSION_ERROR", + "description": "File could not be created because the model can't be converted to USDZ format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_PROCESSING_FAILURE", + "description": "File could not be created because the model file failed processing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_THUMBNAIL_GENERATION_ERROR", + "description": "File could not be created because the model's thumbnail generation failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_THUMBNAIL_REGENERATION_ERROR", + "description": "There was an issue while trying to generate a new thumbnail.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_VALIDATION_ERROR", + "description": "Model failed validation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "File error has occurred for an unknown reason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_IMAGE_FILE_TYPE", + "description": "File could not be created because the image is an unsupported file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_INVALID_FILETYPE_ERROR", + "description": "File could not be created because it has an invalid file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MAX_DURATION_ERROR", + "description": "File could not be created because it does not meet the maximum duration requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MAX_HEIGHT_ERROR", + "description": "File could not be created because it does not meet the maximum height requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MAX_WIDTH_ERROR", + "description": "File could not be created because it does not meet the maximum width requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_METADATA_READ_ERROR", + "description": "File could not be created because the metadata could not be read.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MIN_DURATION_ERROR", + "description": "File could not be created because it does not meet the minimum duration requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MIN_HEIGHT_ERROR", + "description": "File could not be created because it does not meet the minimum height requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MIN_WIDTH_ERROR", + "description": "File could not be created because it does not meet the minimum width requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_VALIDATION_ERROR", + "description": "Video failed validation.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileSetInput", + "description": "The input fields required to create or update a file object.", + "fields": null, + "inputFields": [ + { + "name": "alt", + "description": "The alternative text description of the file.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType", + "description": "The file content type. If omitted, then Shopify will attempt to determine the content type during file processing.", + "type": { + "kind": "ENUM", + "name": "FileContentType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duplicateResolutionMode", + "description": "How to handle if filename is already in use.", + "type": { + "kind": "ENUM", + "name": "FileCreateInputDuplicateResolutionMode", + "ofType": null + }, + "defaultValue": "APPEND_UUID", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "When provided, the file will be created with the given filename,\notherwise the filename in the originalSource will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of an existing file.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSource", + "description": "An external URL (for images only) or a\n[staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FileSortKeys", + "description": "The set of valid sort keys for the File query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILENAME", + "description": "Sort by the `filename` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORIGINAL_UPLOAD_SIZE", + "description": "Sort by the `original_upload_size` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FileStatus", + "description": "The possible statuses for a file object.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "File processing has failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING", + "description": "File is being processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READY", + "description": "File is ready to be displayed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPLOADED", + "description": "File has been uploaded but hasn't been processed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FileUpdateInput", + "description": "The input fields that are required to update a file object.", + "fields": null, + "inputFields": [ + { + "name": "alt", + "description": "The alternative text description of the file.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The name of the file including its extension.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the file to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSource", + "description": "The source from which to update a media image or generic file.\nAn external URL (for images only) or a\n[staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previewImageSource", + "description": "The source from which to update the media preview image.\nMay be an external URL or a\n[staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referencesToAdd", + "description": "The IDs of the references to add to the file. Currently only accepts product IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referencesToRemove", + "description": "The IDs of the references to remove from the file. Currently only accepts product IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FileUpdatePayload", + "description": "Return type for `fileUpdate` mutation.", + "fields": [ + { + "name": "files", + "description": "The list of updated files.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "File", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FilesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FilesErrorCode", + "description": "Possible error codes that can be returned by `FilesUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALT_VALUE_LIMIT_EXCEEDED", + "description": "The alt value exceeds the maximum limit of 512 characters.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK_SEARCH", + "description": "The search term must not be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILENAME_ALREADY_EXISTS", + "description": "The provided filename already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE_DOES_NOT_EXIST", + "description": "File does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE_LOCKED", + "description": "File has a pending operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_DUPLICATE_MODE_FOR_TYPE", + "description": "Duplicate resolution mode is not supported for this file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_FILENAME", + "description": "The provided filename is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_FILENAME_EXTENSION", + "description": "Invalid filename extension.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_IMAGE_SOURCE_URL", + "description": "Invalid image source url value provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUERY", + "description": "Search query isn't supported.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISMATCHED_FILENAME_AND_ORIGINAL_SOURCE", + "description": "Cannot create file with custom filename which does not match original source extension.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_ARGUMENTS", + "description": "At least one argument is required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_FILENAME_FOR_DUPLICATE_MODE_REPLACE", + "description": "Duplicate resolution mode REPLACE cannot be used without specifying filename.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_IMAGE_MEDIA_PER_SHOP_LIMIT_EXCEEDED", + "description": "Exceeded the limit of non-image media per shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_READY_STATE", + "description": "The file is not in the READY state.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_MEDIA_LIMIT_EXCEEDED", + "description": "Exceeded the limit of media per product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFERENCE_TARGET_DOES_NOT_EXIST", + "description": "The target resource does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_ARGUMENTS", + "description": "Specify one argument: search, IDs, or deleteAll.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_FILE_REFERENCE", + "description": "Cannot add more than 10000 references to a file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNACCEPTABLE_ASSET", + "description": "The file type is not supported.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNACCEPTABLE_TRIAL_ASSET", + "description": "The file is not supported on trial accounts. Select a plan to upload this file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNACCEPTABLE_UNVERIFIED_TRIAL_ASSET", + "description": "The file is not supported on trial accounts that have not validated their email. Either select a plan or verify the shop owner email to upload this file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_FILE_REFERENCE", + "description": "The file type is not supported for referencing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_MEDIA_TYPE_FOR_FILENAME_UPDATE", + "description": "Filename update is only supported on Image and GenericFile.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FilesUserError", + "description": "An error that happens during the execution of a Files API query or mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FilesErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FilterOption", + "description": "A filter option is one possible value in a search filter.", + "fields": [ + { + "name": "label", + "description": "The filter option's label for display purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The filter option's value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FinancialSummaryDiscountAllocation", + "description": "An amount that's allocated to a line item based on an associated discount application.", + "fields": [ + { + "name": "approximateAllocatedAmountPerItem", + "description": "The money amount that's allocated per unit on the associated line based on the discount application in shop and presentment currencies. If the allocated amount for the line cannot be evenly divided by the quantity, then this amount will be an approximate amount, avoiding fractional pennies. For example, if the associated line had a quantity of 3 with a discount of 4 cents, then the discount distribution would be [0.01, 0.01, 0.02]. This field returns the highest number of the distribution. In this example, this would be 0.02.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountApplication", + "description": "The discount application that the allocated amount originated from.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FinancialSummaryDiscountApplication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FinancialSummaryDiscountApplication", + "description": "Discount applications capture the intentions of a discount source at\nthe time of application on an order's line items or shipping lines.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is applied to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FlowGenerateSignaturePayload", + "description": "Return type for `flowGenerateSignature` mutation.", + "fields": [ + { + "name": "payload", + "description": "The payload used to generate the signature.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "signature", + "description": "The generated signature.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FlowTriggerReceivePayload", + "description": "Return type for `flowTriggerReceive` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "FormattedString", + "description": "A string containing a strict subset of HTML code. Non-allowed tags will be stripped out.\nAllowed tags:\n* `a` (allowed attributes: `href`, `target`)\n* `b`\n* `br`\n* `em`\n* `i`\n* `strong`\n* `u`\nUse [HTML](https://shopify.dev/api/admin-graphql/latest/scalars/HTML) instead if you need to\ninclude other HTML tags.\n\nExample value: `\"Your current domain is example.myshopify.com.\"`\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Fulfillment", + "description": "Represents a fulfillment.\nIn Shopify, a fulfillment represents a shipment of one or more items in an order.\nWhen an order has been completely fulfilled, it means that all the items that are included\nin the order have been sent to the customer.\nThere can be more than one fulfillment for an order.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the fulfillment was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveredAt", + "description": "The date that this fulfillment was delivered.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayStatus", + "description": "Human readable display status for this fulfillment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentDisplayStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "estimatedDeliveryAt", + "description": "The estimated date that this fulfillment will arrive.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The history of events associated with this fulfillment.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "FulfillmentEventSortKeys", + "ofType": null + }, + "defaultValue": "HAPPENED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentEventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentLineItems", + "description": "List of the fulfillment's line items.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrders", + "description": "A paginated list of fulfillment orders for the fulfillment.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inTransitAt", + "description": "The date and time when the fulfillment went into transit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location that the fulfillment was processed at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human readable reference identifier for this fulfillment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order for which the fulfillment was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originAddress", + "description": "The address at which the fulfillment occurred. This field is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOriginAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether any of the line items in the fulfillment require shipping.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "service", + "description": "Fulfillment service associated with the fulfillment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the fulfillment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalQuantity", + "description": "Sum of all line item quantities for the fulfillment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingInfo", + "description": "Tracking information associated with the fulfillment,\nsuch as the tracking company, tracking number, and tracking URL.", + "args": [ + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentTrackingInfo", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the fulfillment was last modified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentCancelPayload", + "description": "Return type for `fulfillmentCancel` mutation.", + "fields": [ + { + "name": "fulfillment", + "description": "The canceled fulfillment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConnection", + "description": "An auto-generated type for paginating through multiple Fulfillments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FulfillmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRule", + "description": "A fulfillment constraint rule.", + "fields": [ + { + "name": "deliveryMethodTypes", + "description": "Delivery method types that the function is associated with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryMethodType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "function", + "description": "The ID for the fulfillment constraint function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleCreatePayload", + "description": "Return type for `fulfillmentConstraintRuleCreate` mutation.", + "fields": [ + { + "name": "fulfillmentConstraintRule", + "description": "The newly created fulfillment constraint rule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleCreateUserError", + "description": "An error that occurs during the execution of `FulfillmentConstraintRuleCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentConstraintRuleCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentConstraintRuleCreateUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentConstraintRuleCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOM_APP_FUNCTION_NOT_ELIGIBLE", + "description": "Shop must be on a Shopify Plus plan to activate functions from a custom app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_ALREADY_REGISTERED", + "description": "A fulfillment constraint rule already exists for the provided function_id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_DOES_NOT_IMPLEMENT", + "description": "Function does not implement the required interface for this fulfillment constraint rule.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_NOT_FOUND", + "description": "No Shopify Function found for provided function_id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_PENDING_DELETION", + "description": "Function is pending deletion and cannot have new rules created against it.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_INVALID", + "description": "Failed to create fulfillment constraint rule due to invalid input.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_FULFILLMENT_CONSTRAINT_RULES_REACHED", + "description": "Maximum number of fulfillment constraint rules reached. Limit is 10.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleDeletePayload", + "description": "Return type for `fulfillmentConstraintRuleDelete` mutation.", + "fields": [ + { + "name": "success", + "description": "Whether or not the fulfillment constraint rule was successfully deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleDeleteUserError", + "description": "An error that occurs during the execution of `FulfillmentConstraintRuleDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentConstraintRuleDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentConstraintRuleDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentConstraintRuleDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "Could not find fulfillment constraint rule for provided id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNAUTHORIZED_APP_SCOPE", + "description": "Unauthorized app scope.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleUpdatePayload", + "description": "Return type for `fulfillmentConstraintRuleUpdate` mutation.", + "fields": [ + { + "name": "fulfillmentConstraintRule", + "description": "The updated fulfillment constraint rule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRule", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleUpdateUserError", + "description": "An error that occurs during the execution of `FulfillmentConstraintRuleUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentConstraintRuleUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentConstraintRuleUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentConstraintRuleUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "Could not find fulfillment constraint rule for provided id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNAUTHORIZED_APP_SCOPE", + "description": "Unauthorized app scope.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentCreatePayload", + "description": "Return type for `fulfillmentCreate` mutation.", + "fields": [ + { + "name": "fulfillment", + "description": "The created fulfillment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentCreateV2Payload", + "description": "Return type for `fulfillmentCreateV2` mutation.", + "fields": [ + { + "name": "fulfillment", + "description": "The created fulfillment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentDisplayStatus", + "description": "The display status of a fulfillment.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ATTEMPTED_DELIVERY", + "description": "Displayed as **Attempted delivery**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELED", + "description": "Displayed as **Canceled**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONFIRMED", + "description": "Displayed as **Confirmed**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERED", + "description": "Displayed as **Delivered**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILURE", + "description": "Displayed as **Failure**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLED", + "description": "Displayed as **Fulfilled**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_TRANSIT", + "description": "Displayed as **In transit**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRINTED", + "description": "Displayed as **Label printed**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PURCHASED", + "description": "Displayed as **Label purchased**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_VOIDED", + "description": "Displayed as **Label voided**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKED_AS_FULFILLED", + "description": "Displayed as **Marked as fulfilled**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_DELIVERED", + "description": "Displayed as **Not delivered**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OUT_FOR_DELIVERY", + "description": "Displayed as **Out for delivery**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PICKED_UP", + "description": "Displayed as **Picked up**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READY_FOR_PICKUP", + "description": "Displayed as **Ready for pickup**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBMITTED", + "description": "Displayed as **Submitted**.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentEdge", + "description": "An auto-generated type which holds one Fulfillment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FulfillmentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentEvent", + "description": "The fulfillment event that describes the fulfilllment status at a particular time.", + "fields": [ + { + "name": "address1", + "description": "The street address where this fulfillment event occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city where this fulfillment event occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The country where this fulfillment event occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the fulfillment event was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "estimatedDeliveryAt", + "description": "The estimated delivery date and time of the fulfillment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "happenedAt", + "description": "The time at which this fulfillment event happened.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latitude", + "description": "The latitude where this fulfillment event occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longitude", + "description": "The longitude where this fulfillment event occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "A message associated with this fulfillment event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The province where this fulfillment event occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this fulfillment event.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentEventStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip code of the location where this fulfillment event occurred.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentEventConnection", + "description": "An auto-generated type for paginating through multiple FulfillmentEvents.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentEventEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FulfillmentEventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentEvent", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentEventCreatePayload", + "description": "Return type for `fulfillmentEventCreate` mutation.", + "fields": [ + { + "name": "fulfillmentEvent", + "description": "The created fulfillment event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentEventEdge", + "description": "An auto-generated type which holds one FulfillmentEvent and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FulfillmentEventEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentEventInput", + "description": "The input fields used to create a fulfillment event.", + "fields": null, + "inputFields": [ + { + "name": "address1", + "description": "The street address where this fulfillment event occurred.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city where this fulfillment event occurred.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The country where this fulfillment event occurred.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "estimatedDeliveryAt", + "description": "The estimated delivery date and time of the fulfillment.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentId", + "description": "The ID for the fulfillment that's associated with this fulfillment event.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "happenedAt", + "description": "The time at which this fulfillment event happened.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latitude", + "description": "The latitude where this fulfillment event occurred.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longitude", + "description": "The longitude where this fulfillment event occurred.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "A message associated with this fulfillment event.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The province where this fulfillment event occurred.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this fulfillment event.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentEventStatus", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip code of the location where this fulfillment event occurred.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentEventSortKeys", + "description": "The set of valid sort keys for the FulfillmentEvent query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HAPPENED_AT", + "description": "Sort by the `happened_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentEventStatus", + "description": "The status that describes a fulfillment or delivery event.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ATTEMPTED_DELIVERY", + "description": "A delivery was attempted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONFIRMED", + "description": "The fulfillment is confirmed. This is the default value when no other information is available.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERED", + "description": "The fulfillment was successfully delivered.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILURE", + "description": "The fulfillment request failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_TRANSIT", + "description": "The fulfillment is in transit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PRINTED", + "description": "A purchased shipping label has been printed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LABEL_PURCHASED", + "description": "A shipping label has been purchased.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OUT_FOR_DELIVERY", + "description": "The fulfillment is out for delivery.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READY_FOR_PICKUP", + "description": "The fulfillment is ready to be picked up.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentHold", + "description": "A fulfillment hold currently applied on a fulfillment order.", + "fields": [ + { + "name": "displayReason", + "description": "The localized reason for the fulfillment hold for display purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heldBy", + "description": "The name of the app or service that applied the fulfillment hold.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "heldByRequestingApp", + "description": "A boolean value that indicates whether the requesting app created the fulfillment hold.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the fulfillment hold.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentHoldReason", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reasonNotes", + "description": "Additional information about the fulfillment hold reason.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentHoldReason", + "description": "The reason for a fulfillment hold.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AWAITING_PAYMENT", + "description": "The fulfillment hold is applied because payment is pending.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AWAITING_RETURN_ITEMS", + "description": "The fulfillment hold is applied because of return items not yet received during an exchange.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HIGH_RISK_OF_FRAUD", + "description": "The fulfillment hold is applied because of a high risk of fraud.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCORRECT_ADDRESS", + "description": "The fulfillment hold is applied because of an incorrect address.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_OUT_OF_STOCK", + "description": "The fulfillment hold is applied because inventory is out of stock.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_POST_PURCHASE_CROSS_SELL", + "description": "The fulfillment hold is applied because of a post purchase upsell offer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "The fulfillment hold is applied for another reason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN_DELIVERY_DATE", + "description": "The fulfillment hold is applied because of an unknown delivery date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentInput", + "description": "The input fields used to create a fulfillment from fulfillment orders.", + "fields": null, + "inputFields": [ + { + "name": "lineItemsByFulfillmentOrder", + "description": "Pairs of `fulfillment_order_id` and `fulfillment_order_line_items` that represent the fulfillment\norder line items that have to be fulfilled for each fulfillment order. For any given pair, if the\nfulfillment order line items are left blank then all the fulfillment order line items of the\nassociated fulfillment order ID will be fulfilled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemsInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Whether the customer is notified.\nIf `true`, then a notification is sent when the fulfillment is created. The default value is `false`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originAddress", + "description": "Address information about the location from which the order was fulfilled.", + "type": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOriginAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingInfo", + "description": "The fulfillment's tracking information, including a tracking URL, a tracking number,\nand the company associated with the fulfillment.", + "type": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentTrackingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "description": "Represents a line item from an order that's included in a fulfillment.", + "fields": [ + { + "name": "discountedTotal", + "description": "The total price after discounts are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `discountedTotalSet` instead." + }, + { + "name": "discountedTotalSet", + "description": "The total price after discounts are applied in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The associated order's line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotal", + "description": "The total price before discounts are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originalTotalSet` instead." + }, + { + "name": "originalTotalSet", + "description": "The total price before discounts are applied in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "Number of line items in the fulfillment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentLineItemConnection", + "description": "An auto-generated type for paginating through multiple FulfillmentLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FulfillmentLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentLineItemEdge", + "description": "An auto-generated type which holds one FulfillmentLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FulfillmentLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "description": "The FulfillmentOrder object represents either an item or a group of items in an\n[Order](https://shopify.dev/api/admin-graphql/latest/objects/Order)\nthat are expected to be fulfilled from the same location.\nThere can be more than one fulfillment order for an\n[order](https://shopify.dev/api/admin-graphql/latest/objects/Order)\nat a given location.\n\n{{ '/api/reference/fulfillment_order_relationships.png' | image }}\n\nFulfillment orders represent the work which is intended to be done in relation to an order.\nWhen fulfillment has started for one or more line items, a\n[Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment)\nis created by a merchant or third party to represent the ongoing or completed work of fulfillment.\n\n[See below for more details on creating fulfillments](#the-lifecycle-of-a-fulfillment-order-at-a-location-which-is-managed-by-a-fulfillment-service).\n\n> Note:\n> Shopify creates fulfillment orders automatically when an order is created.\n> It is not possible to manually create fulfillment orders.\n>\n> [See below for more details on the lifecycle of a fulfillment order](#the-lifecycle-of-a-fulfillment-order).\n\n## Retrieving fulfillment orders\n\n### Fulfillment orders from an order\n\nAll fulfillment orders related to a given order can be retrieved with the\n[Order.fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/objects/Order#connection-order-fulfillmentorders)\nconnection.\n\n[API access scopes](#api-access-scopes)\ngovern which fulfillments orders are returned to clients.\nAn API client will only receive a subset of the fulfillment orders which belong to an order\nif they don't have the necessary access scopes to view all of the fulfillment orders.\n\n### Fulfillment orders assigned to the app for fulfillment\n\nFulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the\n[assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders)\nconnection.\nUse the `assignmentStatus` argument to control whether all assigned fulfillment orders\nshould be returned or only those where a merchant has sent a\n[fulfillment request](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderMerchantRequest)\nand it has yet to be responded to.\n\nThe API client must be granted the `read_assigned_fulfillment_orders` access scope to access\nthe assigned fulfillment orders.\n\n### All fulfillment orders\n\nApps can retrieve all fulfillment orders with the\n[fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/queries/fulfillmentOrders)\nquery. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop,\nwhich are accessible to the app according to the\n[fulfillment order access scopes](#api-access-scopes) it was granted with.\n\n## The lifecycle of a fulfillment order\n\n### Fulfillment Order Creation\n\nAfter an order is created, a background worker performs the order routing process which determines\nwhich locations will be responsible for fulfilling the purchased items.\nOnce the order routing process is complete, one or more fulfillment orders will be created\nand assigned to these locations. It is not possible to manually create fulfillment orders.\n\nOnce a fulfillment order has been created, it will have one of two different lifecycles depending on\nthe type of location which the fulfillment order is assigned to.\n\n### The lifecycle of a fulfillment order at a merchant managed location\n\nFulfillment orders are completed by creating\n[fulfillments](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment).\nFulfillments represents the work done.\n\nFor digital products a merchant or an order management app would create a fulfilment once the digital asset\nhas been provisioned.\nFor example, in the case of a digital gift card, a merchant would to do this once\nthe gift card has been activated - before the email has been shipped.\n\nOn the other hand, for a traditional shipped order,\na merchant or an order management app would create a fulfillment after picking and packing the items relating\nto a fulfillment order, but before the courier has collected the goods.\n\n[Learn about managing fulfillment orders as an order management app](https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments).\n\n### The lifecycle of a fulfillment order at a location which is managed by a fulfillment service\n\nFor fulfillment orders which are assigned to a location that is managed by a fulfillment service,\na merchant or an Order Management App can\n[send a fulfillment request](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitFulfillmentRequest)\nto the fulfillment service which operates the location to request that they fulfill the associated items.\nA fulfillment service has the option to\n[accept](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderAcceptFulfillmentRequest)\nor [reject](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderRejectFulfillmentRequest)\nthis fulfillment request.\n\nOnce the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant\nor order management app and instead a\n[cancellation request must be submitted](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitCancellationRequest)\nto the fulfillment service.\n\nOnce a fulfillment service accepts a fulfillment request,\nthen after they are ready to pack items and send them for delivery, they create fulfillments with the\n[fulfillmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentCreate)\nmutation.\nThey can provide tracking information right away or create fulfillments without it and then\nupdate the tracking information for fulfillments with the\n[fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate)\nmutation.\n\n[Learn about managing fulfillment orders as a fulfillment service](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments).\n\n## API access scopes\n\nFulfillment orders are governed by the following API access scopes:\n\n* The `read_merchant_managed_fulfillment_orders` and\n `write_merchant_managed_fulfillment_orders` access scopes\n grant access to fulfillment orders assigned to merchant-managed locations.\n* The `read_assigned_fulfillment_orders` and `write_assigned_fulfillment_orders`\n access scopes are intended for fulfillment services.\n These scopes grant access to fulfillment orders assigned to locations that are being managed\n by fulfillment services.\n* The `read_third_party_fulfillment_orders` and `write_third_party_fulfillment_orders`\n access scopes grant access to fulfillment orders\n assigned to locations managed by other fulfillment services.\n\n### Fulfillment service app access scopes\n\nUsually, **fulfillment services** have the `write_assigned_fulfillment_orders` access scope\nand don't have the `*_third_party_fulfillment_orders`\nor `*_merchant_managed_fulfillment_orders` access scopes.\nThe app will only have access to the fulfillment orders assigned to their location\n(or multiple locations if the app registers multiple fulfillment services on the shop).\nThe app will not have access to fulfillment orders assigned to merchant-managed locations\nor locations owned by other fulfillment service apps.\n\n### Order management app access scopes\n\n**Order management apps** will usually request `write_merchant_managed_fulfillment_orders` and\n`write_third_party_fulfillment_orders` access scopes. This will allow them to manage all fulfillment orders\non behalf of a merchant.\n\nIf an app combines the functions of an order management app and a fulfillment service,\nthen the app should request all\naccess scopes to manage all assigned and all unassigned fulfillment orders.\n\n## Notifications about fulfillment orders\n\nFulfillment services are required to\n[register](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService)\na self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified\nwhenever a merchant submits a fulfillment or cancellation request.\n\nBoth merchants and apps can\n[subscribe](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks)\nto the\n[fulfillment order webhooks](https://shopify.dev/api/admin-graphql/latest/enums/WebhookSubscriptionTopic#value-fulfillmentorderscancellationrequestaccepted)\nto be notified whenever fulfillment order related domain events occur.\n\n[Learn about fulfillment workflows](https://shopify.dev/apps/fulfillment).", + "fields": [ + { + "name": "assignedLocation", + "description": "The fulfillment order's assigned location. This is the location where the fulfillment is expected to happen.\n\nThe fulfillment order's assigned location might change in the following cases:\n\n- The fulfillment order has been entirely moved to a new location. For example, the [fulfillmentOrderMove](\n https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove\n ) mutation has been called, and you see the original fulfillment order in the [movedFulfillmentOrder](\n https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove#field-fulfillmentordermovepayload-movedfulfillmentorder\n ) field within the mutation's response.\n- Work on the fulfillment order hasn't yet begun, which means that the fulfillment order has the\n [OPEN](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-open),\n [SCHEDULED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-scheduled), or\n [ON_HOLD](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-onhold)\n status, and the shop's location properties might be undergoing edits (for example, in the Shopify admin).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderAssignedLocation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelId", + "description": "ID of the channel that created the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time when the fulfillment order was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryMethod", + "description": "Delivery method of this fulfillment order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "destination", + "description": "The destination where the items should be sent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderDestination", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillAt", + "description": "The date and time at which the fulfillment order will be fulfillable. When this date and time is reached, the scheduled fulfillment order is automatically transitioned to open. For example, the `fulfill_at` date for a subscription order might be the 1st of each month, a pre-order `fulfill_at` date would be `nil`, and a standard order `fulfill_at` date would be the order creation date.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillBy", + "description": "The latest date and time by which all items in the fulfillment order need to be fulfilled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentHolds", + "description": "The fulfillment holds applied on the fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentHold", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrdersForMerge", + "description": "Fulfillment orders eligible for merging with the given fulfillment order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillments", + "description": "A list of fulfillments for the fulfillment order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internationalDuties", + "description": "The duties delivery method of this fulfillment order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderInternationalDuties", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "A list of the fulfillment order's line items.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsForMove", + "description": "A list of locations that the fulfillment order can potentially move to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItemIds", + "description": "Filter to a list of Fulfillment Order Line Items.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationIds", + "description": "Specific Location ids to check for the movability for a fulfillment order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| active | string |\n| address1 | string |\n| address2 | string |\n| city | string |\n| country | string |\n| created_at | time |\n| geolocated | boolean |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| legacy | boolean |\n| name | string |\n| pickup_in_store | string | | - `enabled`
- `disabled` |\n| province | string |\n| zip | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLocationForMoveConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantRequests", + "description": "A list of requests sent by the merchant or an order management app to the fulfillment service for the fulfillment order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of request the merchant sent.", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderMerchantRequestKind", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequestConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order that's associated with the fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "ID of the order that's associated with the fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderName", + "description": "The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page.\nFor example, \"#1001\", \"EN1001\", or \"1001-A\".\nThis value isn't unique across multiple stores.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderProcessedAt", + "description": "The date and time when the order was processed.\nThis date and time might not match the date and time when the order was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestStatus", + "description": "The request status of the fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentOrderRequestStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentOrderStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportedActions", + "description": "The actions that can be performed on this fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderSupportedAction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the fulfillment order was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderAcceptCancellationRequestPayload", + "description": "Return type for `fulfillmentOrderAcceptCancellationRequest` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order whose cancellation request was accepted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderAcceptFulfillmentRequestPayload", + "description": "Return type for `fulfillmentOrderAcceptFulfillmentRequest` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order whose fulfillment request was accepted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderAction", + "description": "The actions that can be taken on a fulfillment order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCEL_FULFILLMENT_ORDER", + "description": "Cancels a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderCancel`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATE_FULFILLMENT", + "description": "Creates a fulfillment for selected line items in the fulfillment order. The corresponding mutation for this action is `fulfillmentCreateV2`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL", + "description": "Opens an external URL to initiate the fulfillment process outside Shopify. This action should be paired with `FulfillmentOrderSupportedAction.externalUrl`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HOLD", + "description": "Applies a fulfillment hold on the fulfillment order. The corresponding mutation for this action is `fulfillmentOrderHold`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARK_AS_OPEN", + "description": "Marks the fulfillment order as open. The corresponding mutation for this action is `fulfillmentOrderOpen`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE", + "description": "Merges a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderMerge`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MOVE", + "description": "Moves a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderMove`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEASE_HOLD", + "description": "Releases the fulfillment hold on the fulfillment order. The corresponding mutation for this action is `fulfillmentOrderReleaseHold`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUEST_CANCELLATION", + "description": "Sends a cancellation request to the fulfillment service of a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderSubmitCancellationRequest`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUEST_FULFILLMENT", + "description": "Sends a request for fulfilling selected line items in a fulfillment order to a fulfillment service. The corresponding mutation for this action is `fulfillmentOrderSubmitFulfillmentRequest`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SPLIT", + "description": "Splits a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderSplit`.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderAssignedLocation", + "description": "The fulfillment order's assigned location. This is the location where the fulfillment is expected to happen.\n\n The fulfillment order's assigned location might change in the following cases:\n\n - The fulfillment order has been entirely moved to a new location. For example, the [fulfillmentOrderMove](\n https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove\n ) mutation has been called, and you see the original fulfillment order in the [movedFulfillmentOrder](\n https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove#field-fulfillmentordermovepayload-movedfulfillmentorder\n ) field within the mutation's response.\n\n - Work on the fulfillment order has not yet begun, which means that the fulfillment order has the\n [OPEN](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-open),\n [SCHEDULED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-scheduled), or\n [ON_HOLD](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-onhold)\n status, and the shop's location properties might be undergoing edits (for example, in the Shopify admin).\n\nIf the [fulfillmentOrderMove](\nhttps://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove\n) mutation has moved the fulfillment order's line items to a new location,\nbut hasn't moved the fulfillment order instance itself, then the original fulfillment order's assigned location\ndoesn't change.\nThis happens if the fulfillment order is being split during the move, or if all line items can be moved\nto an existing fulfillment order at a new location.\n\nOnce the fulfillment order has been taken into work or canceled,\nwhich means that the fulfillment order has the\n[IN_PROGRESS](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-inprogress),\n[CLOSED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-closed),\n[CANCELLED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-cancelled), or\n[INCOMPLETE](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-incomplete)\nstatus, `FulfillmentOrderAssignedLocation` acts as a snapshot of the shop's location content.\nUp-to-date shop's location data may be queried through [location](\n https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderAssignedLocation#field-fulfillmentorderassignedlocation-location\n) connection.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address for the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address for the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter country code of the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location where the fulfillment is expected to happen. This value might be different from\n`FulfillmentOrderAssignedLocation` if the location's attributes were updated\nafter the fulfillment order was taken into work of canceled.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The province of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The ZIP code of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderAssignmentStatus", + "description": "The assigment status to be used to filter fulfillment orders.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELLATION_REQUESTED", + "description": "Fulfillment orders for which the merchant has requested cancellation of\nthe previously accepted fulfillment request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ACCEPTED", + "description": "Fulfillment orders for which the merchant's fulfillment request has been accepted.\nAny number of fulfillments can be created on these fulfillment orders\nto completely fulfill the requested items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_REQUESTED", + "description": "Fulfillment orders for which the merchant has requested fulfillment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_UNSUBMITTED", + "description": "Fulfillment orders for which the merchant hasn't yet requested fulfillment.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderCancelPayload", + "description": "Return type for `fulfillmentOrderCancel` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order that was marked as canceled.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replacementFulfillmentOrder", + "description": "The fulfillment order that was created to replace the canceled fulfillment order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderClosePayload", + "description": "Return type for `fulfillmentOrderClose` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order that was marked as incomplete.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "description": "An auto-generated type for paginating through multiple FulfillmentOrders.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FulfillmentOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderDestination", + "description": "Represents the destination where the items should be sent upon fulfillment.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address of the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address of the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city of the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "The company of the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter country code of the destination.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The email of the customer at the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name of the customer at the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name of the customer at the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location designated for the pick-up of the fulfillment order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the customer at the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The province of the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The ZIP code of the destination.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderEdge", + "description": "An auto-generated type which holds one FulfillmentOrder and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FulfillmentOrderEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderHoldInput", + "description": "The input fields for the fulfillment hold applied on the fulfillment order.", + "fields": null, + "inputFields": [ + { + "name": "externalId", + "description": "A configurable ID used to track the automation system releasing these holds.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderLineItems", + "description": "The fulfillment order line items to be placed on hold.\nIf left blank, all line items of the fulfillment order are placed on hold.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyMerchant", + "description": "Whether the merchant receives a notification about the fulfillment hold. The default value is `false`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the fulfillment hold.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentHoldReason", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reasonNotes", + "description": "Additional information about the fulfillment hold reason.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderHoldPayload", + "description": "Return type for `fulfillmentOrderHold` mutation.", + "fields": [ + { + "name": "fulfillmentHold", + "description": "The fulfillment hold created for the fulfillment order. Null if no hold was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentHold", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrder", + "description": "The fulfillment order on which a fulfillment hold was applied.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingFulfillmentOrder", + "description": "The remaining fulfillment order containing the line items to which the hold wasn't applied,\nif specific line items were specified to be placed on hold.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderHoldUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderHoldUserError", + "description": "An error that occurs during the execution of `FulfillmentOrderHold`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderHoldUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderHoldUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentOrderHoldUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_ORDER_NOT_FOUND", + "description": "The fulfillment order could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_ZERO", + "description": "The fulfillment order line item quantity must be greater than 0.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LINE_ITEM_QUANTITY", + "description": "The fulfillment order line item quantity is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderInternationalDuties", + "description": "The international duties relevant to a fulfillment order.", + "fields": [ + { + "name": "incoterm", + "description": "The method of duties payment. Example values: `DDP`, `DAP`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItem", + "description": "Associates an order line item with quantities requiring fulfillment from the respective fulfillment order.", + "fields": [ + { + "name": "financialSummaries", + "description": "The financial summary for the Fulfillment Order's Line Items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemFinancialSummary", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated to the line item's variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItemId", + "description": "The ID of the inventory item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The associated order line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceSet", + "description": "The variant unit price without discounts applied, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `financialSummaries` instead." + }, + { + "name": "productTitle", + "description": "The title of the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingQuantity", + "description": "The number of units remaining to be fulfilled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether physical shipping is required for the variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The variant SKU number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalQuantity", + "description": "The total number of units to be fulfilled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant associated to the fulfillment order line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "The name of the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the vendor who made the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "warnings", + "description": "Warning messages for a fulfillment order line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The weight of a line item unit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Weight", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemConnection", + "description": "An auto-generated type for paginating through multiple FulfillmentOrderLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FulfillmentOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemEdge", + "description": "An auto-generated type which holds one FulfillmentOrderLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FulfillmentOrderLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemFinancialSummary", + "description": "The financial details of a fulfillment order line item.", + "fields": [ + { + "name": "approximateDiscountedUnitPriceSet", + "description": "The approximate split price of a line item unit, in shop and presentment currencies. This value doesn't include discounts applied to the entire order.For the full picture of applied discounts, see discountAllocations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAllocations", + "description": "The discounts that have been allocated onto the line item by discount applications, not including order edits and refunds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FinancialSummaryDiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPriceSet", + "description": "The variant unit price without discounts applied, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "Number of line items that this financial summary applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemInput", + "description": "The input fields used to include the quantity of the fulfillment order line item that should be fulfilled.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the fulfillment order line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the fulfillment order line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemWarning", + "description": "A fulfillment order line item warning. For example, a warning about why a fulfillment request was rejected.", + "fields": [ + { + "name": "description", + "description": "The description of warning.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of warning.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemsInput", + "description": "The input fields used to include the line items of a specified fulfillment order that should be fulfilled.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentOrderId", + "description": "The ID of the fulfillment order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderLineItems", + "description": "The fulfillment order line items to be fulfilled.\nIf left blank, all line items of the fulfillment order will be fulfilled.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemsPreparedForPickupInput", + "description": "The input fields for marking fulfillment order line items as ready for pickup.", + "fields": null, + "inputFields": [ + { + "name": "lineItemsByFulfillmentOrder", + "description": "The fulfillment orders associated with the line items which are ready to be picked up by a customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PreparedFulfillmentOrderLineItemsInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemsPreparedForPickupPayload", + "description": "Return type for `fulfillmentOrderLineItemsPreparedForPickup` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemsPreparedForPickupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemsPreparedForPickupUserError", + "description": "An error that occurs during the execution of `FulfillmentOrderLineItemsPreparedForPickup`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderLineItemsPreparedForPickupUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderLineItemsPreparedForPickupUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentOrderLineItemsPreparedForPickupUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_ORDER_INVALID", + "description": "Invalid fulfillment order ID provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_LINE_ITEMS_TO_PREPARE_FOR_FULFILLMENT_ORDER", + "description": "The fulfillment order does not have any line items that can be prepared.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNABLE_TO_PREPARE_QUANTITY", + "description": "Unable to prepare quantity.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLocationForMove", + "description": "A location that a fulfillment order can potentially move to.", + "fields": [ + { + "name": "availableLineItems", + "description": "Fulfillment order line items that can be moved from their current location to the given location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableLineItemsCount", + "description": "Total number of fulfillment order line items that can be moved from their current assigned location to the\ngiven location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location being considered as the fulfillment order's new assigned location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "A human-readable string with the reason why the fulfillment order, or some of its line items, can't be\nmoved to the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "movable", + "description": "Whether the fulfillment order can be moved to the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unavailableLineItems", + "description": "Fulfillment order line items that cannot be moved from their current location to the given location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unavailableLineItemsCount", + "description": "Total number of fulfillment order line items that can't be moved from their current assigned location to the\ngiven location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLocationForMoveConnection", + "description": "An auto-generated type for paginating through multiple FulfillmentOrderLocationForMoves.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLocationForMoveEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FulfillmentOrderLocationForMoveEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLocationForMove", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLocationForMoveEdge", + "description": "An auto-generated type which holds one FulfillmentOrderLocationForMove and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FulfillmentOrderLocationForMoveEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderLocationForMove", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequest", + "description": "A request made by the merchant or an order management app to a fulfillment service\nfor a fulfillment order.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order associated with the merchant request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of request made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentOrderMerchantRequestKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The optional message that the merchant included in the request.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestOptions", + "description": "Additional options requested by the merchant. These depend on the `kind` of the request.\nFor example, for a `FULFILLMENT_REQUEST`, one option is `notify_customer`, which indicates whether the\nmerchant intends to notify the customer upon fulfillment. The fulfillment service can then set\n`notifyCustomer` when making calls to `FulfillmentCreate`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "responseData", + "description": "The response from the fulfillment service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentAt", + "description": "The timestamp when the request was made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequestConnection", + "description": "An auto-generated type for paginating through multiple FulfillmentOrderMerchantRequests.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequestEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in FulfillmentOrderMerchantRequestEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequest", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequestEdge", + "description": "An auto-generated type which holds one FulfillmentOrderMerchantRequest and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of FulfillmentOrderMerchantRequestEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequest", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderMerchantRequestKind", + "description": "The kinds of request merchants can make to a fulfillment service.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELLATION_REQUEST", + "description": "The merchant requests cancellation of an `IN_PROGRESS` fulfillment order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_REQUEST", + "description": "The merchant requests fulfillment for an `OPEN` fulfillment order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderMergeInput", + "description": "The input fields for merging fulfillment orders.", + "fields": null, + "inputFields": [ + { + "name": "mergeIntents", + "description": "The details of the fulfillment orders to be merged.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderMergeInputMergeIntent", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderMergeInputMergeIntent", + "description": "The input fields for merging fulfillment orders into a single merged fulfillment order.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentOrderId", + "description": "The ID of the fulfillment order to be merged.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderLineItems", + "description": "The fulfillment order line items to be merged.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMergePayload", + "description": "Return type for `fulfillmentOrderMerge` mutation.", + "fields": [ + { + "name": "fulfillmentOrderMerges", + "description": "The result of the fulfillment order merges.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderMergeResult", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderMergeUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMergeResult", + "description": "The result of merging a set of fulfillment orders.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The new fulfillment order as a result of the merge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMergeUserError", + "description": "An error that occurs during the execution of `FulfillmentOrderMerge`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderMergeUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderMergeUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentOrderMergeUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_ORDER_NOT_FOUND", + "description": "The fulfillment order could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The fulfillment order line item quantity must be greater than 0.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LINE_ITEM_QUANTITY", + "description": "The fulfillment order line item quantity is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMovePayload", + "description": "Return type for `fulfillmentOrderMove` mutation.", + "fields": [ + { + "name": "movedFulfillmentOrder", + "description": "The fulfillment order which now contains the moved line items and is assigned to the destination location.\n\nIf the original fulfillment order doesn't have any line items which are fully or partially fulfilled, the original fulfillment order will be moved to the new location.\nHowever if this isn't the case, the moved fulfillment order will differ from the original one.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalFulfillmentOrder", + "description": "The final state of the original fulfillment order.\n\nAs a result of the move operation, the original fulfillment order might be moved to the new location\nor remain in the original location. The original fulfillment order might have the same status or be closed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingFulfillmentOrder", + "description": "This field is deprecated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderOpenPayload", + "description": "Return type for `fulfillmentOrderOpen` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order that was transitioned to open and is fulfillable.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderRejectCancellationRequestPayload", + "description": "Return type for `fulfillmentOrderRejectCancellationRequest` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order whose cancellation request was rejected.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderRejectFulfillmentRequestPayload", + "description": "Return type for `fulfillmentOrderRejectFulfillmentRequest` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order whose fulfillment request was rejected.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderRejectionReason", + "description": "The reason for a fulfillment order rejection.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INCORRECT_ADDRESS", + "description": "The fulfillment order was rejected because of an incorrect address.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INELIGIBLE_PRODUCT", + "description": "The fulfillment order was rejected because of an ineligible product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_OUT_OF_STOCK", + "description": "The fulfillment order was rejected because inventory is out of stock.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "The fulfillment order was rejected for another reason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNDELIVERABLE_DESTINATION", + "description": "The fulfillment order was rejected because of an undeliverable destination.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderReleaseHoldPayload", + "description": "Return type for `fulfillmentOrderReleaseHold` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order on which the hold was released.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderReleaseHoldUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderReleaseHoldUserError", + "description": "An error that occurs during the execution of `FulfillmentOrderReleaseHold`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderReleaseHoldUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderReleaseHoldUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentOrderReleaseHoldUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_ORDER_NOT_FOUND", + "description": "The fulfillment order wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ACCESS", + "description": "The app doesn't have access to release the fulfillment hold.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderRequestStatus", + "description": "The request status of a fulfillment order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTED", + "description": "The fulfillment service accepted the merchant's fulfillment request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELLATION_ACCEPTED", + "description": "The fulfillment service accepted the merchant's fulfillment cancellation request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELLATION_REJECTED", + "description": "The fulfillment service rejected the merchant's fulfillment cancellation request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELLATION_REQUESTED", + "description": "The merchant requested a cancellation of the fulfillment request for this fulfillment order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "The fulfillment service closed the fulfillment order without completing it.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REJECTED", + "description": "The fulfillment service rejected the merchant's fulfillment request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBMITTED", + "description": "The merchant requested fulfillment for this fulfillment order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUBMITTED", + "description": "The initial request status for the newly-created fulfillment orders. This is the only valid\nrequest status for fulfillment orders that aren't assigned to a fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderReschedulePayload", + "description": "Return type for `fulfillmentOrderReschedule` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "A fulfillment order with the rescheduled line items.\n\nFulfillment orders may be merged if they have the same `fulfillAt` datetime.\n\nIf the fulfillment order is merged then the resulting fulfillment order will be returned.\nOtherwise the original fulfillment order will be returned with an updated `fulfillAt` datetime.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderRescheduleUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderRescheduleUserError", + "description": "An error that occurs during the execution of `FulfillmentOrderReschedule`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderRescheduleUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderRescheduleUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentOrderRescheduleUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_ORDER_NOT_FOUND", + "description": "Fulfillment order could not be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderSortKeys", + "description": "The set of valid sort keys for the FulfillmentOrder query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderSplitInput", + "description": "The input fields for the split applied to the fulfillment order.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentOrderId", + "description": "The ID of the fulfillment order to be split.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderLineItems", + "description": "The fulfillment order line items to be split out.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderSplitPayload", + "description": "Return type for `fulfillmentOrderSplit` mutation.", + "fields": [ + { + "name": "fulfillmentOrderSplits", + "description": "The result of the fulfillment order splits.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderSplitResult", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderSplitUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderSplitResult", + "description": "The result of splitting a fulfillment order.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The original fulfillment order as a result of the split.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingFulfillmentOrder", + "description": "The remaining fulfillment order as a result of the split.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replacementFulfillmentOrder", + "description": "The replacement fulfillment order if the original fulfillment order wasn't in a state to be split.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderSplitUserError", + "description": "An error that occurs during the execution of `FulfillmentOrderSplit`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderSplitUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderSplitUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentOrderSplitUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_ORDER_NOT_FOUND", + "description": "The fulfillment order could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The fulfillment order line item quantity must be greater than 0.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LINE_ITEM_QUANTITY", + "description": "The fulfillment order line item quantity is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_LINE_ITEMS_PROVIDED_TO_SPLIT", + "description": "The fulfillment order must have at least one line item input to split.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrderStatus", + "description": "The status of a fulfillment order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELLED", + "description": "The fulfillment order has been cancelled by the merchant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "The fulfillment order has been completed and closed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCOMPLETE", + "description": "The fulfillment order cannot be completed as requested.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "The fulfillment order is being processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ON_HOLD", + "description": "The fulfillment order is on hold. The fulfillment process can't be initiated until the hold on the fulfillment order is released.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPEN", + "description": "The fulfillment order is ready for fulfillment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "The fulfillment order is deferred and will be ready for fulfillment after the date and time specified in `fulfill_at`.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderSubmitCancellationRequestPayload", + "description": "Return type for `fulfillmentOrderSubmitCancellationRequest` mutation.", + "fields": [ + { + "name": "fulfillmentOrder", + "description": "The fulfillment order specified in the cancelation request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderSubmitFulfillmentRequestPayload", + "description": "Return type for `fulfillmentOrderSubmitFulfillmentRequest` mutation.", + "fields": [ + { + "name": "originalFulfillmentOrder", + "description": "The original fulfillment order intended to request fulfillment for.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submittedFulfillmentOrder", + "description": "The fulfillment order that was submitted to the fulfillment service. This will be the same as\nthe original fulfillment order field. The exception to this is partial fulfillment requests or\nfulfillment request for cancelled or incomplete fulfillment orders.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unsubmittedFulfillmentOrder", + "description": "This field will only be present for partial fulfillment requests. This will represent the new\nfulfillment order with the remaining line items not submitted to the fulfillment service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderSupportedAction", + "description": "One of the actions that the fulfillment order supports in its current state.", + "fields": [ + { + "name": "action", + "description": "The action value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentOrderAction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "externalUrl", + "description": "The external URL to be used to initiate the fulfillment process outside Shopify.\nApplicable only when the `action` value is `EXTERNAL`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrdersSetFulfillmentDeadlinePayload", + "description": "Return type for `fulfillmentOrdersSetFulfillmentDeadline` mutation.", + "fields": [ + { + "name": "success", + "description": "Whether the fulfillment deadline was successfully set.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrdersSetFulfillmentDeadlineUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrdersSetFulfillmentDeadlineUserError", + "description": "An error that occurs during the execution of `FulfillmentOrdersSetFulfillmentDeadline`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "FulfillmentOrdersSetFulfillmentDeadlineUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentOrdersSetFulfillmentDeadlineUserErrorCode", + "description": "Possible error codes that can be returned by `FulfillmentOrdersSetFulfillmentDeadlineUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_ORDERS_NOT_FOUND", + "description": "The fulfillment orders could not be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOriginAddress", + "description": "The address at which the fulfillment occurred. This object is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead.", + "fields": [ + { + "name": "address1", + "description": "The street address of the fulfillment location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city in which the fulfillment location is located.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The country code of the fulfillment location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The province code of the fulfillment location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip code of the fulfillment location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOriginAddressInput", + "description": "The input fields used to include the address at which the fulfillment occurred. This input object is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead.", + "fields": null, + "inputFields": [ + { + "name": "address1", + "description": "The street address of the fulfillment location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city in which the fulfillment location is located.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The country of the fulfillment location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The province of the fulfillment location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip code of the fulfillment location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentService", + "description": "A **Fulfillment Service** is a third party warehouse that prepares and ships orders\non behalf of the store owner. Fulfillment services charge a fee to package and ship items\nand update product inventory levels. Some well known fulfillment services with Shopify integrations\ninclude: Amazon, Shipwire, and Rakuten. When an app registers a new `FulfillmentService` on a store,\nShopify automatically creates a `Location` that's associated to the fulfillment service.\nTo learn more about fulfillment services, refer to\n[Manage fulfillments as a fulfillment service app](https://shopify.dev/apps/fulfillment/fulfillment-service-apps)\nguide.\n\n## Mutations\n\nYou can work with the `FulfillmentService` object with the\n[fulfillmentServiceCreate](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceCreate),\n[fulfillmentServiceUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceUpdate),\nand [fulfillmentServiceDelete](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceDelete)\nmutations.\n\n## Hosted endpoints\n\nFulfillment service providers integrate with Shopify by providing Shopify with a set of hosted endpoints that\nShopify can query on certain conditions.\nThese endpoints must have a common prefix, and this prefix should be supplied in the `callbackUrl` parameter\nin the\n[fulfillmentServiceCreate](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceCreate)\nmutation.\n\n- Shopify sends POST requests to the `/fulfillment_order_notification` endpoint\n to notify the fulfillment service about fulfillment requests and fulfillment cancellation requests.\n\n For more information, refer to\n [Receive fulfillment requests and cancellations](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-2-receive-fulfillment-requests-and-cancellations).\n- Shopify sends GET requests to the `/fetch_tracking_numbers` endpoint to retrieve tracking numbers for orders,\n if `trackingSupport` is set to `true`.\n\n For more information, refer to\n [Enable tracking support](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-8-enable-tracking-support-optional).\n\n Fulfillment services can also update tracking information with the\n [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) mutation,\n rather than waiting for Shopify to ask for tracking numbers.\n- Shopify sends GET requests to the `/fetch_stock` endpoint to retrieve inventory levels,\n if `inventoryManagement` is set to `true`.\n\n For more information, refer to\n [Sharing inventory levels with Shopify](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-9-share-inventory-levels-with-shopify-optional).\n\nTo make sure you have everything set up correctly, you can test the `callbackUrl`-prefixed endpoints\nin your development store.\n\n## Resources and webhooks\n\nThere are a variety of objects and webhooks that enable a fulfillment service to work.\nTo exchange fulfillment information with Shopify, fulfillment services use the\n[FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder),\n[Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) and\n[Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) objects and related mutations.\nTo act on fulfillment process events that happen on the Shopify side,\nbesides awaiting calls to `callbackUrl`-prefixed endpoints,\nfulfillment services can subscribe to the\n[fulfillment order](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks)\nand [order](https://shopify.dev/api/admin-rest/latest/resources/webhook)\nwebhooks.", + "fields": [ + { + "name": "callbackUrl", + "description": "The callback URL that the fulfillment service has registered for requests. The following considerations apply:\n\n- Shopify queries the `/fetch_tracking_numbers` endpoint to retrieve tracking numbers\n for orders, if `trackingSupport` is set to `true`.\n- Shopify queries the `/fetch_stock` endpoint to retrieve inventory levels,\n if `inventoryManagement` is set to `true`.\n- Shopify uses the `/fulfillment_order_notification` endpoint to send\n [fulfillment and cancellation requests](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-2-receive-fulfillment-requests-and-cancellations),\n if the fulfillment service has opted in to the fulfillment order based workflow for managing fulfillments\n (`fulfillmentOrdersOptIn` is set to `true`).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrdersOptIn", + "description": "Whether the fulfillment service uses the [fulfillment order based workflow](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments) for managing fulfillments.\n\nAs the migration is now finished, the `fulfillmentOrdersOptIn` property is [deprecated](\nhttps://shopify.dev/changelog/deprecation-of-the-fulfillmentservice-fulfillmentordersoptin-field)\nand is always set to `true` on correctly functioning fulfillment services.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Migration period ended. All correctly functioning fulfillment services have `fulfillmentOrdersOptIn` set to `true`." + }, + { + "name": "handle", + "description": "Human-readable unique identifier for this fulfillment service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the fulfillment service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryManagement", + "description": "Whether the fulfillment service tracks product inventory and provides updates to Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Location associated with the fulfillment service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permitsSkuSharing", + "description": "Whether the fulfillment service can stock inventory alongside other locations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceName", + "description": "The name of the fulfillment service as seen by merchants.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingSupport", + "description": "Whether the fulfillment service implemented the /fetch_tracking_numbers endpoint.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type associated with the fulfillment service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FulfillmentServiceType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentServiceCreatePayload", + "description": "Return type for `fulfillmentServiceCreate` mutation.", + "fields": [ + { + "name": "fulfillmentService", + "description": "The created fulfillment service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentServiceDeleteInventoryAction", + "description": "Actions that can be taken at the location when a client requests the deletion of the fulfillment service.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DELETE", + "description": "Deactivate and delete the inventory and location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KEEP", + "description": "Keep the inventory in place and convert the Fulfillment Service's location to be merchant managed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFER", + "description": "Transfer the inventory and other dependencies to the provided location.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentServiceDeletePayload", + "description": "Return type for `fulfillmentServiceDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted fulfillment service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentServiceType", + "description": "The type of a fulfillment service.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GIFT_CARD", + "description": "Fulfillment by gift card.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "Manual fulfillment by the merchant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THIRD_PARTY", + "description": "Fullfillment by a third-party fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentServiceUpdatePayload", + "description": "Return type for `fulfillmentServiceUpdate` mutation.", + "fields": [ + { + "name": "fulfillmentService", + "description": "The updated fulfillment service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FulfillmentStatus", + "description": "The status of a fulfillment.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELLED", + "description": "The fulfillment was canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "There was an error with the fulfillment request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILURE", + "description": "The fulfillment request failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPEN", + "description": "The third-party fulfillment service has acknowledged the fulfillment and is processing it.", + "isDeprecated": true, + "deprecationReason": "This is a legacy status and is due to be deprecated." + }, + { + "name": "PENDING", + "description": "Shopify has created the fulfillment and is waiting for the third-party fulfillment service to transition it to `open` or `success`.", + "isDeprecated": true, + "deprecationReason": "This is a legacy status and is due to be deprecated." + }, + { + "name": "SUCCESS", + "description": "The fulfillment was completed successfully.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentTrackingInfo", + "description": "Represents the tracking information for a fulfillment.", + "fields": [ + { + "name": "company", + "description": "The name of the tracking company.\n\nFor tracking company names from the list below\nShopify will automatically build tracking URLs for all provided tracking numbers,\nwhich will make the tracking numbers clickable in the interface.\n\nAdditionally, for the tracking companies listed on the\n[Shipping Carriers help page](https://help.shopify.com/manual/shipping/understanding-shipping/shipping-carriers#integrated-shipping-carriers)\nShopify will automatically update the fulfillment's `shipment_status` field during the fulfillment process.\n\n### Supported tracking companies\n\nThe following tracking companies display for shops located in any country:\n\n * 4PX\n * AGS\n * Amazon\n * Amazon Logistics UK\n * An Post\n * Anjun Logistics\n * APC\n * Asendia USA\n * Australia Post\n * Bonshaw\n * BPost\n * BPost International\n * Canada Post\n * Canpar\n * CDL Last Mile\n * China Post\n * Chronopost\n * Chukou1\n * Colissimo\n * Comingle\n * Coordinadora\n * Correios\n * Correos\n * CTT\n * CTT Express\n * Cyprus Post\n * Delnext\n * Deutsche Post\n * DHL eCommerce\n * DHL eCommerce Asia\n * DHL Express\n * DPD\n * DPD Local\n * DPD UK\n * DTD Express\n * DX\n * Eagle\n * Estes\n * Evri\n * FedEx\n * First Global Logistics\n * First Line\n * FSC\n * Fulfilla\n * GLS\n * Guangdong Weisuyi Information Technology (WSE)\n * Heppner Internationale Spedition GmbH & Co.\n * Iceland Post\n * IDEX\n * Israel Post\n * Japan Post (EN)\n * Japan Post (JA)\n * La Poste\n * Lasership\n * Latvia Post\n * Lietuvos Paštas\n * Logisters\n * Lone Star Overnight\n * M3 Logistics\n * Meteor Space\n * Mondial Relay\n * New Zealand Post\n * NinjaVan\n * North Russia Supply Chain (Shenzhen) Co.\n * OnTrac\n * Packeta\n * Pago Logistics\n * Ping An Da Tengfei Express\n * Pitney Bowes\n * Portal PostNord\n * Poste Italiane\n * PostNL\n * PostNord DK\n * PostNord NO\n * PostNord SE\n * Purolator\n * Qxpress\n * Qyun Express\n * Royal Mail\n * Royal Shipments\n * Sagawa (EN)\n * Sagawa (JA)\n * Sendle\n * SF Express\n * SFC Fulfillment\n * SHREE NANDAN COURIER\n * Singapore Post\n * Southwest Air Cargo\n * StarTrack\n * Step Forward Freight\n * Swiss Post\n * TForce Final Mile\n * Tinghao\n * TNT\n * Toll IPEC\n * United Delivery Service\n * UPS\n * USPS\n * Venipak\n * We Post\n * Whistl\n * Wizmo\n * WMYC\n * Xpedigo\n * XPO Logistics\n * Yamato (EN)\n * Yamato (JA)\n * YiFan Express\n * YunExpress\n\nThe following tracking companies are displayed for shops located in specific countries:\n\n * **Australia**: Australia Post, Sendle, Aramex Australia, TNT Australia, Hunter Express, Couriers Please, Bonds, Allied Express, Direct Couriers, Northline, GO Logistics\n * **Austria**: Österreichische Post\n * **Bulgaria**: Speedy\n * **Canada**: Intelcom, BoxKnight, Loomis, GLS\n * **China**: China Post, DHL eCommerce Asia, WanbExpress, YunExpress, Anjun Logistics, SFC Fulfillment, FSC\n * **Czechia**: Zásilkovna\n * **Germany**: Deutsche Post (DE), Deutsche Post (EN), DHL, DHL Express, Swiship, Hermes, GLS\n * **Spain**: SEUR\n * **France**: Colissimo, Mondial Relay, Colis Privé, GLS\n * **United Kingdom**: Evri, DPD UK, Parcelforce, Yodel, DHL Parcel, Tuffnells\n * **Greece**: ACS Courier\n * **Hong Kong SAR**: SF Express\n * **Ireland**: Fastway, DPD Ireland\n * **India**: DTDC, India Post, Delhivery, Gati KWE, Professional Couriers, XpressBees, Ecom Express, Ekart, Shadowfax, Bluedart\n * **Italy**: BRT, GLS Italy\n * **Japan**: エコ配, 西濃運輸, 西濃スーパーエキスプレス, 福山通運, 日本通運, 名鉄運輸, 第一貨物\n * **Netherlands**: DHL Parcel, DPD\n * **Norway**: Bring\n * **Poland**: Inpost\n * **Turkey**: PTT, Yurtiçi Kargo, Aras Kargo, Sürat Kargo\n * **United States**: GLS, Alliance Air Freight, Pilot Freight, LSO, Old Dominion, Pandion, R+L Carriers, Southwest Air Cargo\n * **South Africa**: Fastway, Skynet.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "number", + "description": "The tracking number of the fulfillment.\n\nThe tracking number is clickable in the interface if one of the following applies\n(the highest in the list has the highest priority):\n\n* Tracking url provided in the `url` field.\n* [Shopify-known tracking company name](#supported-tracking-companies) specified in the `company` field.\n Shopify will build the tracking URL automatically based on the tracking number specified.\n* The tracking number has a Shopify-known format.\n Shopify will guess the tracking provider and build the tracking url based on the tracking number format.\n Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers.\n This can result in an invalid tracking URL.\n It is highly recommended that you send the tracking company and the tracking URL.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URLs to track the fulfillment.\n\nThe tracking URL is displayed in the merchant's admin on the order page.\nThe tracking URL is displayed in the shipping confirmation email, which can optionally be sent to the customer.\nWhen accounts are enabled, it's also displayed in the customer's order history.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentTrackingInfoUpdatePayload", + "description": "Return type for `fulfillmentTrackingInfoUpdate` mutation.", + "fields": [ + { + "name": "fulfillment", + "description": "The updated fulfillment with tracking information.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentTrackingInfoUpdateV2Payload", + "description": "Return type for `fulfillmentTrackingInfoUpdateV2` mutation.", + "fields": [ + { + "name": "fulfillment", + "description": "The updated fulfillment with tracking information.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentTrackingInput", + "description": "The input fields that specify all possible fields for tracking information.\n\n> Note:\n> If you provide the `url` field, you should not provide the `urls` field.\n>\n> If you provide the `number` field, you should not provide the `numbers` field.\n>\n> If you provide the `url` field, you should provide the `number` field.\n>\n> If you provide the `urls` field, you should provide the `numbers` field.", + "fields": null, + "inputFields": [ + { + "name": "company", + "description": "The name of the tracking company.\n\nIf you specify a tracking company name from\n[the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies),\nShopify will automatically build tracking URLs for all provided tracking numbers,\nwhich will make the tracking numbers clickable in the interface.\nThe same tracking company will be applied to all tracking numbers specified.\n\nAdditionally, for the tracking companies listed on the\n[Shipping Carriers help page](https://help.shopify.com/manual/shipping/understanding-shipping/shipping-carriers#integrated-shipping-carriers)\nShopify will automatically update the fulfillment's `shipment_status` field during the fulfillment process.\n\n> Note:\n> Send the tracking company name exactly as written in\n> [the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies)\n> (capitalization matters).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "number", + "description": "The tracking number of the fulfillment.\n\nThe tracking number will be clickable in the interface if one of the following applies\n(the highest in the list has the highest priority):\n\n* Tracking url provided in the `url` field.\n* [Shopify-known tracking company name](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies)\n specified in the `company` field.\n Shopify will build the tracking URL automatically based on the tracking number specified.\n* The tracking number has a Shopify-known format.\n Shopify will guess the tracking provider and build the tracking url based on the tracking number format.\n Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers.\n This can result in an invalid tracking URL.\n It is highly recommended that you send the tracking company and the tracking URL.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "numbers", + "description": "The tracking numbers of the fulfillment, one or many.\n\nWith multiple tracking numbers, you can provide tracking information\nfor all shipments associated with the fulfillment, if there are more than one.\nFor example, if you're shipping assembly parts of one furniture item in several boxes.\n\nTracking numbers will be clickable in the interface if one of the following applies\n(the highest in the list has the highest priority):\n\n* Tracking URLs provided in the `urls` field.\n The tracking URLs will be matched to the tracking numbers based on their positions in the arrays.\n* [Shopify-known tracking company name](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies)\n specified in the `company` field.\n Shopify will build tracking URLs automatically for all tracking numbers specified.\n The same tracking company will be applied to all tracking numbers.\n* Tracking numbers have a Shopify-known format.\n Shopify will guess tracking providers and build tracking URLs based on the tracking number formats.\n Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers.\n This can result in an invalid tracking URL.\n It is highly recommended that you send the tracking company and the tracking URLs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL to track the fulfillment.\n\nThe tracking URL is displayed in the merchant's admin on the order page.\nThe tracking URL is displayed in the shipping confirmation email, which can optionally be sent to the customer.\nWhen accounts are enabled, it's also displayed in the customer's order history.\n\nThe URL must be an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\nFor example, `\"https://www.myshipping.com/track/?tracknumbers=TRACKING_NUMBER\"` is a valid URL.\nIt includes a scheme (`https`) and a host (`myshipping.com`).", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urls", + "description": "The URLs to track the fulfillment, one or many.\n\nThe tracking URLs are displayed in the merchant's admin on the order page.\nThe tracking URLs are displayed in the shipping confirmation email, which can optionally be sent to the customer.\nWhen accounts are enabled, the tracking URLs are also displayed in the customer's order history.\n\nIf you're not specifying a\n[Shopify-known](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies)\ntracking company name in the `company` field,\nthen provide tracking URLs for all tracking numbers from the `numbers` field.\n\nTracking URLs from the `urls` array field are being matched with the tracking numbers from the `numbers` array\nfield correspondingly their positions in the arrays.\n\nEach URL must be an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\nFor example, `\"https://www.myshipping.com/track/?tracknumbers=TRACKING_NUMBER\"` is a valid URL.\nIt includes a scheme (`https`) and a host (`myshipping.com`).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "FulfillmentV2Input", + "description": "The input fields used to create a fulfillment from fulfillment orders.", + "fields": null, + "inputFields": [ + { + "name": "lineItemsByFulfillmentOrder", + "description": "Pairs of `fulfillment_order_id` and `fulfillment_order_line_items` that represent the fulfillment\norder line items that have to be fulfilled for each fulfillment order. For any given pair, if the\nfulfillment order line items are left blank then all the fulfillment order line items of the\nassociated fulfillment order ID will be fulfilled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemsInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Whether the customer is notified.\nIf `true`, then a notification is sent when the fulfillment is created. The default value is `false`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originAddress", + "description": "Address information about the location from which the order was fulfilled.", + "type": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOriginAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingInfo", + "description": "The fulfillment's tracking information, including a tracking URL, a tracking number,\nand the company associated with the fulfillment.", + "type": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentTrackingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FunctionsAppBridge", + "description": "The App Bridge information for a Shopify Function.", + "fields": [ + { + "name": "createPath", + "description": "The relative path for creating a customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "detailsPath", + "description": "The relative path for viewing a customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FunctionsErrorHistory", + "description": "The error history from running a Shopify Function.", + "fields": [ + { + "name": "errorsFirstOccurredAt", + "description": "The date and time that the first error occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstOccurredAt", + "description": "The date and time that the first error occurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasBeenSharedSinceLastError", + "description": "Whether the merchant has shared all the recent errors with the developer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasSharedRecentErrors", + "description": "Whether the merchant has shared all the recent errors with the developer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GenericFile", + "description": "Represents any file other than HTML.", + "fields": [ + { + "name": "alt", + "description": "A word or phrase to describe the contents or the function of a file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileErrors", + "description": "Any errors that have occurred on the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileStatus", + "description": "The status of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FileStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mimeType", + "description": "The generic file's MIME type.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalFileSize", + "description": "The generic file's size in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": "The preview image for the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The generic file's URL.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "File", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCard", + "description": "Represents an issued gift card.", + "fields": [ + { + "name": "balance", + "description": "The gift card's remaining balance.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time at which the gift card was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer who will receive the gift card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deactivatedAt", + "description": "The date and time at which the gift card was deactivated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Whether the gift card is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresOn", + "description": "The date at which the gift card will expire.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "initialValue", + "description": "The initial value of the gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastCharacters", + "description": "The final four characters of the gift card code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maskedCode", + "description": "The gift card code. Everything but the final four characters is masked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note associated with the gift card, which isn't visible to the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order associated with the gift card. This value is `null` if the gift card was issued manually.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipientAttributes", + "description": "The recipient who will receive the gift card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCardRecipient", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The theme template used to render the gift card online.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "The transaction history of the gift card.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardTransactionConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time at which the gift card was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardConnection", + "description": "An auto-generated type for paginating through multiple GiftCards.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in GiftCardEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GiftCardCreateInput", + "description": "The input fields to issue a gift card.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "The gift card's code. It must be 8-20 characters long and contain only letters(a-z) and numbers(0-9).\nIt isn't case sensitive. If not provided, then a random code will be generated.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer who will receive the gift card. Requires `write_customers` access_scope.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresOn", + "description": "The date at which the gift card will expire. If not provided, then the gift card will never expire.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "initialValue", + "description": "The initial value of the gift card.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note associated with the gift card, which isn't visible to the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipientAttributes", + "description": "The recipient attributes of the gift card.", + "type": { + "kind": "INPUT_OBJECT", + "name": "GiftCardRecipientInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The suffix of the Liquid template that's used to render the gift card online.\nFor example, if the value is `birthday`, then the gift card is rendered using the template `gift_card.birthday.liquid`.\nIf not provided, then the default `gift_card.liquid` template is used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardCreatePayload", + "description": "Return type for `giftCardCreate` mutation.", + "fields": [ + { + "name": "giftCard", + "description": "The created gift card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardCode", + "description": "The created gift card's code.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GiftCardCreditInput", + "description": "The input fields for a gift card credit transaction.", + "fields": null, + "inputFields": [ + { + "name": "creditAmount", + "description": "The amount to credit the gift card.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the credit.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedAt", + "description": "The date and time the credit was processed. Defaults to current date and time.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardCreditPayload", + "description": "Return type for `giftCardCredit` mutation.", + "fields": [ + { + "name": "giftCardCreditTransaction", + "description": "The gift card credit transaction that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCardCreditTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardTransactionUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardCreditTransaction", + "description": "A credit transaction which increases the gift card balance.", + "fields": [ + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "The gift card that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "processedAt", + "description": "The date and time when the transaction was processed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "GiftCardTransaction", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDeactivatePayload", + "description": "Return type for `giftCardDeactivate` mutation.", + "fields": [ + { + "name": "giftCard", + "description": "The deactivated gift card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardDeactivateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDeactivateUserError", + "description": "An error that occurs during the execution of `GiftCardDeactivate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "GiftCardDeactivateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GiftCardDeactivateUserErrorCode", + "description": "Possible error codes that can be returned by `GiftCardDeactivateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GIFT_CARD_NOT_FOUND", + "description": "The gift card could not be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GiftCardDebitInput", + "description": "The input fields for a gift card debit transaction.", + "fields": null, + "inputFields": [ + { + "name": "debitAmount", + "description": "The amount to debit the gift card.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the debit.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedAt", + "description": "The date and time the debit was processed. Defaults to current date and time.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDebitPayload", + "description": "Return type for `giftCardDebit` mutation.", + "fields": [ + { + "name": "giftCardDebitTransaction", + "description": "The gift card debit transaction that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCardDebitTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardTransactionUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDebitTransaction", + "description": "A debit transaction which decreases the gift card balance.", + "fields": [ + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "The gift card that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "processedAt", + "description": "The date and time when the transaction was processed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "GiftCardTransaction", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardEdge", + "description": "An auto-generated type which holds one GiftCard and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of GiftCardEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GiftCardErrorCode", + "description": "Possible error codes that can be returned by `GiftCardUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_NOT_FOUND", + "description": "The customer could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The input value should be greater than the minimum allowed value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "Unexpected internal error happened.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_ARGUMENT", + "description": "Missing a required argument.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECIPIENT_NOT_FOUND", + "description": "The recipient could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardRecipient", + "description": "Represents a recipient who will receive the issued gift card.", + "fields": [ + { + "name": "message", + "description": "The message sent with the gift card.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferredName", + "description": "The preferred name of the recipient who will receive the gift card.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipient", + "description": "The recipient who will receive the gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sendNotificationAt", + "description": "The scheduled datetime on which the gift card will be sent to the recipient. The gift card will be sent within an hour of the specified datetime.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GiftCardRecipientInput", + "description": "The input fields to add a recipient to a gift card.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the customer who will be the recipient of the gift card. Requires `write_customers` access_scope.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The personalized message intended for the recipient.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferredName", + "description": "The preferred name of the recipient.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sendNotificationAt", + "description": "The scheduled datetime on which the gift card will be sent to the recipient. The gift card will be sent within an hour of the specified datetime.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSale", + "description": "A sale associated with a gift card.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The line item for the associated sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToCustomerPayload", + "description": "Return type for `giftCardSendNotificationToCustomer` mutation.", + "fields": [ + { + "name": "giftCard", + "description": "The gift card that was sent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToCustomerUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToCustomerUserError", + "description": "An error that occurs during the execution of `GiftCardSendNotificationToCustomer`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "GiftCardSendNotificationToCustomerUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GiftCardSendNotificationToCustomerUserErrorCode", + "description": "Possible error codes that can be returned by `GiftCardSendNotificationToCustomerUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_NOT_FOUND", + "description": "The customer could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIFT_CARD_NOT_FOUND", + "description": "The gift card could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToRecipientPayload", + "description": "Return type for `giftCardSendNotificationToRecipient` mutation.", + "fields": [ + { + "name": "giftCard", + "description": "The gift card that was sent.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToRecipientUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToRecipientUserError", + "description": "An error that occurs during the execution of `GiftCardSendNotificationToRecipient`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "GiftCardSendNotificationToRecipientUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GiftCardSendNotificationToRecipientUserErrorCode", + "description": "Possible error codes that can be returned by `GiftCardSendNotificationToRecipientUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GIFT_CARD_NOT_FOUND", + "description": "The gift card could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECIPIENT_NOT_FOUND", + "description": "The recipient could not be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GiftCardSortKeys", + "description": "The set of valid sort keys for the GiftCard query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AMOUNT_SPENT", + "description": "Sort by the `amount_spent` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BALANCE", + "description": "Sort by the `balance` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CODE", + "description": "Sort by the `code` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_NAME", + "description": "Sort by the `customer_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISABLED_AT", + "description": "Sort by the `disabled_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRES_ON", + "description": "Sort by the `expires_on` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INITIAL_VALUE", + "description": "Sort by the `initial_value` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "GiftCardTransaction", + "description": "Represents information about the metafields associated to the specified resource.", + "fields": [ + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "The gift card that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "A note about the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "processedAt", + "description": "The date and time when the transaction was processed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "GiftCardCreditTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDebitTransaction", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "GiftCardTransactionConnection", + "description": "An auto-generated type for paginating through multiple GiftCardTransactions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardTransactionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in GiftCardTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "GiftCardTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardTransactionEdge", + "description": "An auto-generated type which holds one GiftCardTransaction and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of GiftCardTransactionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "GiftCardTransaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardTransactionUserError", + "description": "Represents an error that happens during the execution of a gift card transaction mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "GiftCardTransactionUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "GiftCardTransactionUserErrorCode", + "description": "Possible error codes that can be returned by `GiftCardTransactionUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GIFT_CARD_LIMIT_EXCEEDED", + "description": "The gift card's value exceeds the allowed limits.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIFT_CARD_NOT_FOUND", + "description": "The gift card could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSUFFICIENT_FUNDS", + "description": "The gift card does not have sufficient funds to satisfy the request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "Unexpected internal error happened.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISMATCHING_CURRENCY", + "description": "The currency provided does not match the currency of the gift card.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEGATIVE_OR_ZERO_AMOUNT", + "description": "A positive amount must be used.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "GiftCardUpdateInput", + "description": "The input fields to update a gift card.", + "fields": null, + "inputFields": [ + { + "name": "customerId", + "description": "The ID of the customer who will receive the gift card. The ID can't be changed if the gift card already has an assigned customer ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresOn", + "description": "The date at which the gift card will expire. If set to `null`, then the gift card will never expire.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note associated with the gift card, which isn't visible to the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recipientAttributes", + "description": "The recipient attributes of the gift card.", + "type": { + "kind": "INPUT_OBJECT", + "name": "GiftCardRecipientInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The suffix of the Liquid template that's used to render the gift card online.\nFor example, if the value is `birthday`, then the gift card is rendered using the template `gift_card.birthday.liquid`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardUpdatePayload", + "description": "Return type for `giftCardUpdate` mutation.", + "fields": [ + { + "name": "giftCard", + "description": "The updated gift card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GiftCardUserError", + "description": "Represents an error that happens during the execution of a gift card mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "GiftCardErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "HTML", + "description": "A string containing HTML code. Refer to the [HTML spec](https://html.spec.whatwg.org/#elements-3) for a\ncomplete list of HTML elements.\n\nExample value: `\"

Grey cotton knit sweater.

\"`\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "HasCompareDigest", + "description": "Represents a summary of the current version of data in a resource.\n\nThe `compare_digest` field can be used as input for mutations that implement a compare-and-swap mechanism.", + "fields": [ + { + "name": "compareDigest", + "description": "The data stored in the resource, represented as a digest.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasEvents", + "description": "Represents an object that has a list of events.", + "fields": [ + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceRule", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasLocalizationExtensions", + "description": "Localization extensions associated with the specified resource. For example, the tax id for government invoice.", + "fields": [ + { + "name": "localizationExtensions", + "description": "List of localization extensions for the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCodes", + "description": "The country codes of the extensions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purposes", + "description": "The purpose of the extensions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LocalizationExtensionPurpose", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocalizationExtensionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "description": "Resources that metafield definitions can be applied to.", + "fields": [ + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlan", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "description": "Represents information about the metafields associated to the specified resource.", + "fields": [ + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CartTransform", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMember", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRule", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardCreditTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDebitTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MediaImage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlan", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "description": "Published translations associated with the resource.", + "fields": [ + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Link", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Menu", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOption", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionValue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlan", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopPolicy", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "HasStoreCreditAccounts", + "description": "Represents information about the store credit accounts associated to the specified owner.", + "fields": [ + { + "name": "storeCreditAccounts", + "description": "Returns a list of store credit accounts that belong to the owner resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| currency_code | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + ] + }, + { + "kind": "SCALAR", + "name": "ID", + "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Image", + "description": "Represents an image resource.", + "fields": [ + { + "name": "altText", + "description": "A word or phrase to share the nature or contents of an image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height", + "description": "The original height of the image in pixels. Returns `null` if the image isn't hosted by Shopify.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A unique ID for the image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSrc", + "description": "The location of the original image as a URL.\n\nIf there are any existing transformations in the original source URL, they will remain and not be stripped.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `url` instead." + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "src", + "description": "The location of the image as a URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `url` instead." + }, + { + "name": "transformedSrc", + "description": "The location of the transformed image as a URL.\n\nAll transformation arguments are considered \"best-effort\". If they can be applied to an image, they will be.\nOtherwise any transformations which an image type doesn't support will be ignored.", + "args": [ + { + "name": "crop", + "description": "Crops the image according to the specified region.", + "type": { + "kind": "ENUM", + "name": "CropRegion", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxHeight", + "description": "Image height in pixels between 1 and 5760.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxWidth", + "description": "Image width in pixels between 1 and 5760.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferredContentType", + "description": "Best effort conversion of image into content type (SVG -> PNG, Anything -> JPG, Anything -> WEBP are supported).", + "type": { + "kind": "ENUM", + "name": "ImageContentType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scale", + "description": "Image size multiplier for high-resolution retina displays. Must be between 1 and 3.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `url(transform:)` instead" + }, + { + "name": "url", + "description": "The location of the image as a URL.\n\nIf no transform options are specified, then the original image will be preserved including any pre-applied transforms.\n\nAll transformation options are considered \"best-effort\". Any transformation that the original image type doesn't support will be ignored.\n\nIf you need multiple variations of the same image, then you can use [GraphQL aliases](https://graphql.org/learn/queries/#aliases).", + "args": [ + { + "name": "transform", + "description": "A set of options to transform the original image.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ImageTransformInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "The original width of the image in pixels. Returns `null` if the image isn't hosted by Shopify.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ImageConnection", + "description": "An auto-generated type for paginating through multiple Images.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ImageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ImageContentType", + "description": "List of supported image content types.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "JPG", + "description": "A JPG image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PNG", + "description": "A PNG image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEBP", + "description": "A WEBP image.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ImageEdge", + "description": "An auto-generated type which holds one Image and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ImageEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ImageInput", + "description": "The input fields for an image.", + "fields": null, + "inputFields": [ + { + "name": "altText", + "description": "A word or phrase to share the nature or contents of an image.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "src", + "description": "The URL of the image. May be a staged upload URL.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ImageTransformInput", + "description": "The available options for transforming an image.\n\nAll transformation options are considered best effort. Any transformation that the original image type doesn't support will be ignored.", + "fields": null, + "inputFields": [ + { + "name": "crop", + "description": "The region of the image to remain after cropping.\nMust be used in conjunction with the `maxWidth` and/or `maxHeight` fields, where the `maxWidth` and `maxHeight` aren't equal.\nThe `crop` argument should coincide with the smaller value. A smaller `maxWidth` indicates a `LEFT` or `RIGHT` crop, while\na smaller `maxHeight` indicates a `TOP` or `BOTTOM` crop. For example, `{ maxWidth: 5, maxHeight: 10, crop: LEFT }` will result\nin an image with a width of 5 and height of 10, where the right side of the image is removed.", + "type": { + "kind": "ENUM", + "name": "CropRegion", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxHeight", + "description": "Image height in pixels between 1 and 5760.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxWidth", + "description": "Image width in pixels between 1 and 5760.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preferredContentType", + "description": "Convert the source image into the preferred content type.\nSupported conversions: `.svg` to `.png`, any file type to `.jpg`, and any file type to `.webp`.", + "type": { + "kind": "ENUM", + "name": "ImageContentType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scale", + "description": "Image size multiplier for high-resolution retina displays. Must be within 1..3.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "1", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ImageUploadParameter", + "description": "A parameter to upload an image.\n\nDeprecated in favor of\n[StagedUploadParameter](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadParameter),\nwhich is used in\n[StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget)\nand returned by the\n[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate).", + "fields": [ + { + "name": "name", + "description": "The parameter name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The parameter value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "IncomingRequestLineItemInput", + "description": "The input fields for the incoming line item.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentOrderLineItemId", + "description": "The ID of the rejected line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The rejection message of the line item.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryActivatePayload", + "description": "Return type for `inventoryActivate` mutation.", + "fields": [ + { + "name": "inventoryLevel", + "description": "The inventory level that was activated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryAdjustQuantitiesInput", + "description": "The input fields required to adjust inventory quantities.", + "fields": null, + "inputFields": [ + { + "name": "changes", + "description": "The quantity changes of items at locations to be made.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryChangeInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The quantity [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states)\nto be adjusted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the quantity changes. The value must be one of the [possible \nreasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceDocumentUri", + "description": "A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory\nquantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a\ndraft order might have been previously reserved, and a merchant later creates an order from the draft order.\nIn this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryAdjustQuantitiesPayload", + "description": "Return type for `inventoryAdjustQuantities` mutation.", + "fields": [ + { + "name": "inventoryAdjustmentGroup", + "description": "The group of changes made by the operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryAdjustmentGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryAdjustQuantitiesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryAdjustQuantitiesUserError", + "description": "An error that occurs during the execution of `InventoryAdjustQuantities`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "InventoryAdjustQuantitiesUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "InventoryAdjustQuantitiesUserErrorCode", + "description": "Possible error codes that can be returned by `InventoryAdjustQuantitiesUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADJUST_QUANTITIES_FAILED", + "description": "The quantities couldn't be adjusted. Try again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_LEDGER_DOCUMENT", + "description": "Internal (gid://shopify/) ledger documents are not allowed to be adjusted via API.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_AVAILABLE_DOCUMENT", + "description": "A ledger document URI is not allowed when adjusting available.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INVENTORY_ITEM", + "description": "The specified inventory item could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LEDGER_DOCUMENT", + "description": "The specified ledger document is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LOCATION", + "description": "The specified location could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_DOCUMENT", + "description": "A ledger document URI is required except when adjusting available.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_NAME", + "description": "The specified quantity name is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_TOO_HIGH", + "description": "The quantity can't be higher than 2,000,000,000.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_TOO_LOW", + "description": "The quantity can't be lower than -2,000,000,000.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REASON", + "description": "The specified reason is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REFERENCE_DOCUMENT", + "description": "The specified reference document is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_NOT_STOCKED_AT_LOCATION", + "description": "The inventory item is not stocked at the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAX_ONE_LEDGER_DOCUMENT", + "description": "All changes must have the same ledger document URI or, in the case of adjusting available, no ledger document URI.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_MUTABLE_INVENTORY_ITEM", + "description": "The specified inventory item is not allowed to be adjusted via API. Example: if the inventory item is a parent bundle.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryAdjustmentGroup", + "description": "Represents a group of adjustments made as part of the same operation.", + "fields": [ + { + "name": "app", + "description": "The app that triggered the inventory event, if one exists.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "changes", + "description": "The set of inventory quantity changes that occurred in the inventory event.", + "args": [ + { + "name": "inventoryItemIds", + "description": "The IDs of the inventory items to filter changes by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationIds", + "description": "The IDs of the locations to filter changes by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityNames", + "description": "The [names](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states)\nof the requested inventory quantities.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryChange", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time the inventory adjustment group was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the group of adjustments.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceDocumentUri", + "description": "A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory\nquantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a\ndraft order might have been previously reserved, and a merchant later creates an order from the draft order.\nIn this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "The staff member associated with the inventory event.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryBulkToggleActivationInput", + "description": "The input fields to specify whether the inventory item should be activated or not at the specified location.", + "fields": null, + "inputFields": [ + { + "name": "activate", + "description": "Whether the inventory item can be stocked at the specified location. To deactivate, set the value to false which removes an inventory item's quantities from that location, and turns off inventory at that location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the location to modify the inventory item's stocked status.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryBulkToggleActivationPayload", + "description": "Return type for `inventoryBulkToggleActivation` mutation.", + "fields": [ + { + "name": "inventoryItem", + "description": "The inventory item that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryLevels", + "description": "The activated inventory levels.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryBulkToggleActivationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryBulkToggleActivationUserError", + "description": "An error that occurred while setting the activation status of an inventory item.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "InventoryBulkToggleActivationUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "InventoryBulkToggleActivationUserErrorCode", + "description": "Possible error codes that can be returned by `InventoryBulkToggleActivationUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_DEACTIVATE_FROM_ONLY_LOCATION", + "description": "Cannot unstock an inventory item from the only location at which it is stocked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMITTED_AND_INCOMING_INVENTORY_AT_LOCATION", + "description": "Cannot unstock this inventory item from this location because it has committed and incoming quantities.", + "isDeprecated": true, + "deprecationReason": "This error code is deprecated. Both INCOMING_INVENTORY_AT_LOCATION and COMMITTED_INVENTORY_AT_LOCATION codes will be returned as individual errors instead." + }, + { + "name": "COMMITTED_INVENTORY_AT_LOCATION", + "description": "Cannot unstock this inventory item from this location because it has committed quantities.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_STOCK_AT_LOCATION", + "description": "Failed to stock this inventory item at this location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_UNSTOCK_FROM_LOCATION", + "description": "Failed to unstock this inventory item from this location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "An error occurred while setting the activation status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCOMING_INVENTORY_AT_LOCATION", + "description": "Cannot unstock this inventory item from this location because it has incoming quantities.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_ITEM_NOT_FOUND", + "description": "The inventory item was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_MANAGED_BY_3RD_PARTY", + "description": "Cannot stock this inventory item at this location because it is managed by a third-party fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_MANAGED_BY_SHOPIFY", + "description": "Cannot stock this inventory item at this location because it is managed by Shopify.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_NOT_FOUND", + "description": "The location was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_SKU", + "description": "Cannot stock this inventory item at this location because the variant is missing a SKU.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESERVED_INVENTORY_AT_LOCATION", + "description": "Cannot unstock this inventory item from this location because it has unavailable quantities.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryChange", + "description": "Represents a change in an inventory quantity of an inventory item at a location.", + "fields": [ + { + "name": "delta", + "description": "The amount by which the inventory quantity was changed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "item", + "description": "The inventory item associated with this inventory change.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ledgerDocumentUri", + "description": "A URI that represents what the inventory quantity change was applied to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location associated with this inventory change.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states)\nof the inventory quantity that was changed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityAfterChange", + "description": "The quantity of named inventory after the change.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryChangeInput", + "description": "The input fields for the change to be made to an inventory item at a location.", + "fields": null, + "inputFields": [ + { + "name": "delta", + "description": "The amount by which the inventory quantity will be changed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItemId", + "description": "Specifies the inventory item to which the change will be applied.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ledgerDocumentUri", + "description": "A freeform URI that represents what changed the inventory quantities. A Shopify global ID isn't an accepted\nvalue. For example, specifying \"gid://shopify/Order/123\" would return an error. This field is required for all\nquantity names except `available`. The field `ledgerDocumentUri` isn't supported for use with an `available`\nquantity name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "Specifies the location at which the change will be applied.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryDeactivatePayload", + "description": "Return type for `inventoryDeactivate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryItem", + "description": "Represents the goods available to be shipped to a customer.\nIt holds essential information about the goods, including SKU and whether it is tracked.\nLearn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships).", + "fields": [ + { + "name": "countryCodeOfOrigin", + "description": "The ISO 3166-1 alpha-2 country code of where the item originated from.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryHarmonizedSystemCodes", + "description": "A list of country specific harmonized system codes.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CountryHarmonizedSystemCodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the inventory item was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duplicateSkuCount", + "description": "The number of inventory items that share the same SKU with this item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harmonizedSystemCode", + "description": "The harmonized system code of the item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryHistoryUrl", + "description": "The URL that points to the inventory history for the item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryLevel", + "description": "The inventory item's quantities at the specified location.", + "args": [ + { + "name": "locationId", + "description": "ID of the location for which the inventory level is requested.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryLevels", + "description": "A list of the inventory item's quantities for each location that the inventory item can be stocked at.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_group_id | id |\n| inventory_item_id | id |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryLevelConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsCount", + "description": "The number of locations where this inventory item is stocked.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "measurement", + "description": "The packaging dimensions of the inventory item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItemMeasurement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCodeOfOrigin", + "description": "The ISO 3166-2 alpha-2 province code of where the item originated from.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether the inventory item requires shipping.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "Inventory item SKU. Case-sensitive string.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tracked", + "description": "Whether inventory levels are tracked for the item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackedEditable", + "description": "Whether the value of the `tracked` field for the inventory item can be changed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EditableProperty", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unitCost", + "description": "Unit cost associated with the inventory item. Note: the user must have \"View product costs\" permission granted in order to access this field once product granular permissions are enabled.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the inventory item was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The variant that owns this inventory item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryItemConnection", + "description": "An auto-generated type for paginating through multiple InventoryItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in InventoryItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryItemEdge", + "description": "An auto-generated type which holds one InventoryItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of InventoryItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryItemInput", + "description": "The input fields for an inventory item.", + "fields": null, + "inputFields": [ + { + "name": "cost", + "description": "Unit cost associated with the inventory item, the currency is the shop's default currency.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCodeOfOrigin", + "description": "The ISO 3166-1 alpha-2 country code of where the item originated from.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryHarmonizedSystemCodes", + "description": "List of country-specific harmonized system codes.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CountryHarmonizedSystemCodeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harmonizedSystemCode", + "description": "The harmonized system code of the inventory item.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "measurement", + "description": "The measurements of an inventory item.", + "type": { + "kind": "INPUT_OBJECT", + "name": "InventoryItemMeasurementInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCodeOfOrigin", + "description": "The ISO 3166-2 alpha-2 province code of where the item originated from.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The SKU (stock keeping unit) of the inventory item.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tracked", + "description": "Whether the inventory item is tracked.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryItemMeasurement", + "description": "Represents the packaged dimension for an inventory item.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weight", + "description": "The weight of the inventory item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Weight", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryItemMeasurementInput", + "description": "The input fields for an inventory item measurement.", + "fields": null, + "inputFields": [ + { + "name": "weight", + "description": "The weight of the inventory item.", + "type": { + "kind": "INPUT_OBJECT", + "name": "WeightInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryItemUpdatePayload", + "description": "Return type for `inventoryItemUpdate` mutation.", + "fields": [ + { + "name": "inventoryItem", + "description": "The inventory item that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryLevel", + "description": "The quantities of an inventory item that are related to a specific location.\nLearn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships).", + "fields": [ + { + "name": "canDeactivate", + "description": "Whether the inventory items associated with the inventory level can be deactivated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the inventory level was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deactivationAlert", + "description": "Describes either the impact of deactivating the inventory level, or why the inventory level can't be deactivated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "item", + "description": "Inventory item associated with the inventory level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location associated with the inventory level.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantities", + "description": "Quantities for the requested names.", + "args": [ + { + "name": "names", + "description": "The\n[names](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states)\nof the requested inventory quantities.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryQuantity", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledChanges", + "description": "Scheduled changes for the requested quantity names.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| expected_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| quantity_names | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ScheduledChangeSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryScheduledChangeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the inventory level was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryLevelConnection", + "description": "An auto-generated type for paginating through multiple InventoryLevels.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryLevelEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in InventoryLevelEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryLevelEdge", + "description": "An auto-generated type which holds one InventoryLevel and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of InventoryLevelEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryLevelInput", + "description": "The input fields for an inventory level.", + "fields": null, + "inputFields": [ + { + "name": "availableQuantity", + "description": "The available quantity of an inventory item at a location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of a location associated with the inventory level.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryMoveQuantitiesInput", + "description": "The input fields required to move inventory quantities.", + "fields": null, + "inputFields": [ + { + "name": "changes", + "description": "The quantity changes of items at locations to be made.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryMoveQuantityChange", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the quantity changes. The value must be one of the [possible \nreasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceDocumentUri", + "description": "A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory\nquantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a\ndraft order might have been previously reserved, and a merchant later creates an order from the draft order.\nIn this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryMoveQuantitiesPayload", + "description": "Return type for `inventoryMoveQuantities` mutation.", + "fields": [ + { + "name": "inventoryAdjustmentGroup", + "description": "The group of changes made by the operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryAdjustmentGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryMoveQuantitiesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryMoveQuantitiesUserError", + "description": "An error that occurs during the execution of `InventoryMoveQuantities`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "InventoryMoveQuantitiesUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "InventoryMoveQuantitiesUserErrorCode", + "description": "Possible error codes that can be returned by `InventoryMoveQuantitiesUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DIFFERENT_LOCATIONS", + "description": "The quantities can't be moved between different locations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_LEDGER_DOCUMENT", + "description": "Internal (gid://shopify/) ledger documents are not allowed to be adjusted via API.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_AVAILABLE_DOCUMENT", + "description": "A ledger document URI is not allowed when adjusting available.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INVENTORY_ITEM", + "description": "The specified inventory item could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LEDGER_DOCUMENT", + "description": "The specified ledger document is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LOCATION", + "description": "The specified location could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_DOCUMENT", + "description": "A ledger document URI is required except when adjusting available.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_NAME", + "description": "The specified quantity name is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_NEGATIVE", + "description": "The quantity can't be negative.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_TOO_HIGH", + "description": "The quantity can't be higher than 2,000,000,000.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REASON", + "description": "The specified reason is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REFERENCE_DOCUMENT", + "description": "The specified reference document is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_NOT_STOCKED_AT_LOCATION", + "description": "The inventory item is not stocked at the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_LEDGER_DOCUMENT_URIS", + "description": "Only a maximum of 2 ledger document URIs across all changes is allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MOVE_QUANTITIES_FAILED", + "description": "The quantities couldn't be moved. Try again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_MUTABLE_INVENTORY_ITEM", + "description": "The specified inventory item is not allowed to be adjusted via API. Example: if the inventory item is a parent bundle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAME_QUANTITY_NAME", + "description": "The quantity names for each change can't be the same.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryMoveQuantityChange", + "description": "Represents the change to be made to an inventory item at a location.\nThe change can either involve the same quantity name between different locations,\nor involve different quantity names between the same location.", + "fields": null, + "inputFields": [ + { + "name": "from", + "description": "Details about where the move will be made from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryMoveQuantityTerminalInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItemId", + "description": "Specifies the inventory item to which the change will be applied.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The amount by which the inventory quantity will be changed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "to", + "description": "Details about where the move will be made to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryMoveQuantityTerminalInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryMoveQuantityTerminalInput", + "description": "The input fields representing the change to be made to an inventory item at a location.", + "fields": null, + "inputFields": [ + { + "name": "ledgerDocumentUri", + "description": "A freeform URI that represents what changed the inventory quantities. A Shopify global ID isn't an accepted\nvalue. For example, specifying \"gid://shopify/Order/123\" would return an error. This field is required for a move of\nall quantity names except `available`. The field `ledgerDocumentUri` isn't supported for use with an\n`available` quantity name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "Specifies the location at which the change will be applied.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The quantity\n[name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states) to be\nmoved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryProperties", + "description": "General inventory properties for the shop.", + "fields": [ + { + "name": "quantityNames", + "description": "All the quantity names.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryQuantityName", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryQuantity", + "description": "Represents a quantity of an inventory item at a specific location, for a specific name.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states)\nthat identifies the inventory quantity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity for the quantity name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the quantity was last updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryQuantityInput", + "description": "The input fields for the quantity to be set for an inventory item at a location.", + "fields": null, + "inputFields": [ + { + "name": "compareQuantity", + "description": "The current quantity to be compared against the persisted quantity.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItemId", + "description": "Specifies the inventory item to which the quantity will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "Specifies the location at which the quantity will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity to which the inventory quantity will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryQuantityName", + "description": "Details about an individual quantity name.", + "fields": [ + { + "name": "belongsTo", + "description": "List of quantity names that this quantity name belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comprises", + "description": "List of quantity names that comprise this quantity name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "The display name for quantity names translated into applicable language.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isInUse", + "description": "Whether the quantity name has been used by the merchant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states) of\nthe inventory quantity. Used by\n[inventory queries and mutations](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#graphql-queries-and-mutations).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryScheduledChange", + "description": "Returns the scheduled changes to inventory states related to the ledger document.", + "fields": [ + { + "name": "expectedAt", + "description": "The date and time that the scheduled change is expected to happen.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fromName", + "description": "The quantity\n[name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states)\nto transition from.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryLevel", + "description": "The quantities of an inventory item that are related to a specific location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ledgerDocumentUri", + "description": "A freeform URI that represents what changed the inventory quantities.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the scheduled change associated with the ledger document in the `fromName` state.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toName", + "description": "The quantity\n[name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states)\nto transition to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryScheduledChangeConnection", + "description": "An auto-generated type for paginating through multiple InventoryScheduledChanges.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryScheduledChangeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in InventoryScheduledChangeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryScheduledChange", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventoryScheduledChangeEdge", + "description": "An auto-generated type which holds one InventoryScheduledChange and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of InventoryScheduledChangeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryScheduledChange", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryScheduledChangeInput", + "description": "The input fields for a scheduled change of an inventory item.", + "fields": null, + "inputFields": [ + { + "name": "expectedAt", + "description": "The date and time that the scheduled change is expected to happen.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fromName", + "description": "The quantity\n[name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states)\nto transition from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toName", + "description": "The quantity\n[name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states)\nto transition to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventoryScheduledChangeItemInput", + "description": "The input fields for the inventory item associated with the scheduled changes that need to be applied.", + "fields": null, + "inputFields": [ + { + "name": "inventoryItemId", + "description": "The ID of the inventory item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ledgerDocumentUri", + "description": "A freeform URI that represents what changed the inventory quantities.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledChanges", + "description": "An array of all the scheduled changes for the item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryScheduledChangeInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventorySetOnHandQuantitiesInput", + "description": "The input fields required to set inventory on hand quantities.", + "fields": null, + "inputFields": [ + { + "name": "reason", + "description": "The reason for the quantity changes. The value must be one of the [possible\nreasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceDocumentUri", + "description": "A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory\nquantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a\ndraft order might have been previously reserved, and a merchant later creates an order from the draft order.\nIn this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setQuantities", + "description": "The value to which the on hand quantity will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventorySetQuantityInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventorySetOnHandQuantitiesPayload", + "description": "Return type for `inventorySetOnHandQuantities` mutation.", + "fields": [ + { + "name": "inventoryAdjustmentGroup", + "description": "The group of changes made by the operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryAdjustmentGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventorySetOnHandQuantitiesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventorySetOnHandQuantitiesUserError", + "description": "An error that occurs during the execution of `InventorySetOnHandQuantities`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "InventorySetOnHandQuantitiesUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "InventorySetOnHandQuantitiesUserErrorCode", + "description": "Possible error codes that can be returned by `InventorySetOnHandQuantitiesUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_INVENTORY_ITEM", + "description": "The specified inventory item could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LOCATION", + "description": "The specified location could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_NEGATIVE", + "description": "The quantity can't be negative.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_TOO_HIGH", + "description": "The total quantity can't be higher than 1,000,000,000.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REASON", + "description": "The specified reason is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REFERENCE_DOCUMENT", + "description": "The specified reference document is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_NOT_STOCKED_AT_LOCATION", + "description": "The inventory item is not stocked at the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_MUTABLE_INVENTORY_ITEM", + "description": "The specified inventory item is not allowed to be adjusted via API. Example: if the inventory item is a parent bundle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SET_ON_HAND_QUANTITIES_FAILED", + "description": "The on-hand quantities couldn't be set. Try again.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventorySetQuantitiesInput", + "description": "The input fields required to set inventory quantities.", + "fields": null, + "inputFields": [ + { + "name": "ignoreCompareQuantity", + "description": "Skip the compare quantity check in the quantities field.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of quantities to be changed. The only accepted values are: `available` or `on_hand`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantities", + "description": "The values to which each quantities will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryQuantityInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the quantity changes. The value must be one of the [possible\nreasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceDocumentUri", + "description": "A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory\nquantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a\ndraft order might have been previously reserved, and a merchant later creates an order from the draft order.\nIn this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventorySetQuantitiesPayload", + "description": "Return type for `inventorySetQuantities` mutation.", + "fields": [ + { + "name": "inventoryAdjustmentGroup", + "description": "The group of changes made by the operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "InventoryAdjustmentGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventorySetQuantitiesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventorySetQuantitiesUserError", + "description": "An error that occurs during the execution of `InventorySetQuantities`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "InventorySetQuantitiesUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "InventorySetQuantitiesUserErrorCode", + "description": "Possible error codes that can be returned by `InventorySetQuantitiesUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPARE_QUANTITY_REQUIRED", + "description": "The compareQuantity argument must be given to each quantity or ignored using ignoreCompareQuantity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPARE_QUANTITY_STALE", + "description": "The compareQuantity value does not match persisted value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INVENTORY_ITEM", + "description": "The specified inventory item could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LOCATION", + "description": "The specified location could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_NAME", + "description": "The quantity name must be either 'available' or 'on_hand'.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_NEGATIVE", + "description": "The quantity can't be negative.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_TOO_HIGH", + "description": "The total quantity can't be higher than 1,000,000,000.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY_TOO_LOW", + "description": "The total quantity can't be lower than -1,000,000,000.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REASON", + "description": "The specified reason is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REFERENCE_DOCUMENT", + "description": "The specified reference document is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEM_NOT_STOCKED_AT_LOCATION", + "description": "The specified inventory item is not stocked at the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_DUPLICATE_INVENTORY_ITEM_ID_GROUP_ID_PAIR", + "description": "The combination of inventoryItemId and locationId must be unique.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventorySetQuantityInput", + "description": "The input fields for the quantity to be set for an inventory item at a location.", + "fields": null, + "inputFields": [ + { + "name": "inventoryItemId", + "description": "Specifies the inventory item to which the quantity will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "Specifies the location at which the quantity will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity to which the inventory quantity will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "InventorySetScheduledChangesInput", + "description": "The input fields for setting up scheduled changes of inventory items.", + "fields": null, + "inputFields": [ + { + "name": "items", + "description": "The list of all the items on which the scheduled changes need to be applied.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryScheduledChangeItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for setting up the scheduled changes.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceDocumentUri", + "description": "A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory\nquantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a\ndraft order might have been previously reserved, and a merchant later creates an order from the draft order.\nIn this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventorySetScheduledChangesPayload", + "description": "Return type for `inventorySetScheduledChanges` mutation.", + "fields": [ + { + "name": "scheduledChanges", + "description": "The scheduled changes that were created.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryScheduledChange", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventorySetScheduledChangesUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "InventorySetScheduledChangesUserError", + "description": "An error that occurs during the execution of `InventorySetScheduledChanges`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "InventorySetScheduledChangesUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "InventorySetScheduledChangesUserErrorCode", + "description": "Possible error codes that can be returned by `InventorySetScheduledChangesUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUPLICATE_FROM_NAME", + "description": "The item can only have one scheduled change for quantity name as the fromName.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_TO_NAME", + "description": "The item can only have one scheduled change for quantity name as the toName.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR_UPDATING_SCHEDULED", + "description": "There was an error updating the scheduled changes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The specified field is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_FROM_NAME", + "description": "The specified fromName is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REASON", + "description": "The specified reason is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TO_NAME", + "description": "The specified toName is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_ITEM_NOT_FOUND", + "description": "The inventory item was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_STATE_NOT_FOUND", + "description": "The inventory item was not found at the location specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ITEMS_EMPTY", + "description": "At least 1 item must be provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEDGER_DOCUMENT_INVALID", + "description": "The ledger document URI is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_NOT_FOUND", + "description": "The location couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAME_FROM_TO_NAMES", + "description": "The from_name and to_name can't be the same.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "JSON", + "description": "A [JSON](https://www.json.org/json-en.html) object.\n\nExample value:\n`{\n \"product\": {\n \"id\": \"gid://shopify/Product/1346443542550\",\n \"title\": \"White T-shirt\",\n \"options\": [{\n \"name\": \"Size\",\n \"values\": [\"M\", \"L\"]\n }]\n }\n}`\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Job", + "description": "A job corresponds to some long running task that the client should poll for status.", + "fields": [ + { + "name": "done", + "description": "This indicates if the job is still queued or has been run.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID that's returned when running an asynchronous mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "This field will only resolve once the job is done. Can be used to ask for object(s) that have been changed by the job.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "QueryRoot", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "JobResult", + "description": "A job corresponds to some long running task that the client should poll for status.", + "fields": [ + { + "name": "done", + "description": "This indicates if the job is still queued or has been run.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID that's returned when running an asynchronous mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQuery", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "LanguageCode", + "description": "Language codes supported by Shopify.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AF", + "description": "Afrikaans.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AK", + "description": "Akan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AM", + "description": "Amharic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AR", + "description": "Arabic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AS", + "description": "Assamese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AZ", + "description": "Azerbaijani.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BE", + "description": "Belarusian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BG", + "description": "Bulgarian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BM", + "description": "Bambara.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BN", + "description": "Bangla.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BO", + "description": "Tibetan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BR", + "description": "Breton.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BS", + "description": "Bosnian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA", + "description": "Catalan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CE", + "description": "Chechen.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CKB", + "description": "Central Kurdish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CS", + "description": "Czech.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CU", + "description": "Church Slavic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CY", + "description": "Welsh.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DA", + "description": "Danish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DE", + "description": "German.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DZ", + "description": "Dzongkha.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EE", + "description": "Ewe.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EL", + "description": "Greek.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EN", + "description": "English.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EO", + "description": "Esperanto.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ES", + "description": "Spanish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ET", + "description": "Estonian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EU", + "description": "Basque.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FA", + "description": "Persian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FF", + "description": "Fulah.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FI", + "description": "Finnish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIL", + "description": "Filipino.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FO", + "description": "Faroese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FR", + "description": "French.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FY", + "description": "Western Frisian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GA", + "description": "Irish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GD", + "description": "Scottish Gaelic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GL", + "description": "Galician.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GU", + "description": "Gujarati.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GV", + "description": "Manx.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HA", + "description": "Hausa.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HE", + "description": "Hebrew.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HI", + "description": "Hindi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HR", + "description": "Croatian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HU", + "description": "Hungarian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HY", + "description": "Armenian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IA", + "description": "Interlingua.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Indonesian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IG", + "description": "Igbo.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "II", + "description": "Sichuan Yi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IS", + "description": "Icelandic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IT", + "description": "Italian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JA", + "description": "Japanese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JV", + "description": "Javanese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KA", + "description": "Georgian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KI", + "description": "Kikuyu.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KK", + "description": "Kazakh.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KL", + "description": "Kalaallisut.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KM", + "description": "Khmer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KN", + "description": "Kannada.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KO", + "description": "Korean.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KS", + "description": "Kashmiri.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KU", + "description": "Kurdish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KW", + "description": "Cornish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KY", + "description": "Kyrgyz.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LB", + "description": "Luxembourgish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LG", + "description": "Ganda.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LN", + "description": "Lingala.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LO", + "description": "Lao.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LT", + "description": "Lithuanian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LU", + "description": "Luba-Katanga.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LV", + "description": "Latvian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MG", + "description": "Malagasy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MI", + "description": "Māori.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MK", + "description": "Macedonian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ML", + "description": "Malayalam.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MN", + "description": "Mongolian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MR", + "description": "Marathi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MS", + "description": "Malay.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MT", + "description": "Maltese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MY", + "description": "Burmese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NB", + "description": "Norwegian (Bokmål).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ND", + "description": "North Ndebele.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NE", + "description": "Nepali.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NL", + "description": "Dutch.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NN", + "description": "Norwegian Nynorsk.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO", + "description": "Norwegian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OM", + "description": "Oromo.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OR", + "description": "Odia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OS", + "description": "Ossetic.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PA", + "description": "Punjabi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PL", + "description": "Polish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PS", + "description": "Pashto.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PT", + "description": "Portuguese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PT_BR", + "description": "Portuguese (Brazil).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PT_PT", + "description": "Portuguese (Portugal).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QU", + "description": "Quechua.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RM", + "description": "Romansh.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RN", + "description": "Rundi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RO", + "description": "Romanian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RU", + "description": "Russian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RW", + "description": "Kinyarwanda.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SA", + "description": "Sanskrit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SC", + "description": "Sardinian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SD", + "description": "Sindhi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SE", + "description": "Northern Sami.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SG", + "description": "Sango.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SI", + "description": "Sinhala.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SK", + "description": "Slovak.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SL", + "description": "Slovenian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SN", + "description": "Shona.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SO", + "description": "Somali.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SQ", + "description": "Albanian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SR", + "description": "Serbian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SU", + "description": "Sundanese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SV", + "description": "Swedish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SW", + "description": "Swahili.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TA", + "description": "Tamil.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TE", + "description": "Telugu.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TG", + "description": "Tajik.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TH", + "description": "Thai.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TI", + "description": "Tigrinya.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TK", + "description": "Turkmen.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TO", + "description": "Tongan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TR", + "description": "Turkish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TT", + "description": "Tatar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UG", + "description": "Uyghur.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UK", + "description": "Ukrainian.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UR", + "description": "Urdu.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UZ", + "description": "Uzbek.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VI", + "description": "Vietnamese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VO", + "description": "Volapük.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WO", + "description": "Wolof.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XH", + "description": "Xhosa.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YI", + "description": "Yiddish.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YO", + "description": "Yoruba.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZH", + "description": "Chinese.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZH_CN", + "description": "Chinese (Simplified).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZH_TW", + "description": "Chinese (Traditional).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZU", + "description": "Zulu.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "description": "Interoperability metadata for types that directly correspond to a REST Admin API resource.\nFor example, on the Product type, LegacyInteroperability returns metadata for the corresponding [Product object](https://shopify.dev/api/admin-graphql/latest/objects/product) in the REST Admin API.", + "fields": [ + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketingEvent", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibility", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceRule", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SavedSearch", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ScriptTag", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDispute", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayout", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "LengthUnit", + "description": "Units of measurement for length.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CENTIMETERS", + "description": "100 centimeters equals 1 meter.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FEET", + "description": "Imperial system unit of length.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCHES", + "description": "12 inches equals 1 foot.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METERS", + "description": "Metric system unit of length.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MILLIMETERS", + "description": "1000 millimeters equals 1 meter.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YARDS", + "description": "1 yard equals 3 feet.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LimitedPendingOrderCount", + "description": "The total number of pending orders on a shop if less then a maximum, or that maximum.\nThe atMax field indicates when this maximum has been reached.", + "fields": [ + { + "name": "atMax", + "description": "This is set when the number of pending orders has reached the maximum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "count", + "description": "The number of pendings orders on the shop.\nLimited to a maximum of 10000.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LineItem", + "description": "Represents individual products and quantities purchased in the associated order.", + "fields": [ + { + "name": "canRestock", + "description": "Whether the line item can be restocked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `restockable` instead." + }, + { + "name": "contract", + "description": "The subscription contract associated with this line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentQuantity", + "description": "The number of units ordered, excluding refunded and removed units.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of attributes that represent custom features or special requests.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAllocations", + "description": "The discounts that have been allocated to the line item by discount applications, including discounts allocated to refunded and removed quantities.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedTotal", + "description": "The total discounted price of the line item in shop currency, including refunded and removed quantities. This value doesn't include order-level discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `discountedTotalSet` instead." + }, + { + "name": "discountedTotalSet", + "description": "The total discounted price of the line item in shop and presentment currencies, including refunded and removed quantities. This value doesn't include order-level discounts. Code-based discounts aren't included by default.", + "args": [ + { + "name": "withCodeDiscounts", + "description": "Whether to include code-based discounts in the total.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPrice", + "description": "The approximate unit price of the line item in shop currency. This value includes line-level discounts and discounts applied to refunded and removed quantities. It doesn't include order-level or code-based discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `discountedUnitPriceSet` instead." + }, + { + "name": "discountedUnitPriceAfterAllDiscountsSet", + "description": "The approximate unit price of the line item in shop and presentment currencies. This value includes discounts applied to refunded and removed quantities.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedUnitPriceSet", + "description": "The approximate unit price of the line item in shop and presentment currencies. This value includes line-level discounts and discounts applied to refunded and removed quantities. It doesn't include order-level or code-based discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duties", + "description": "The duties associated with the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Duty", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillableQuantity", + "description": "The total number of units to fulfill.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use [FulfillmentOrderLineItem#remainingQuantity](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderLineItem#field-fulfillmentorderlineitem-remainingquantity) instead." + }, + { + "name": "fulfillmentService", + "description": "The fulfillment service that stocks the product variant belonging to a line item.\n\nThis is a third-party fulfillment service in the following scenarios:\n\n**Scenario 1**\n- The product variant is stocked by a single fulfillment service.\n- The [FulfillmentService](/api/admin-graphql/latest/objects/FulfillmentService) is a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`.\n\n**Scenario 2**\n- Multiple fulfillment services stock the product variant.\n- The last time that the line item was unfulfilled, it was awaiting fulfillment by a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`.\n\nIf none of the above conditions are met, then the fulfillment service has the `manual` handle.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "\nThe [relationship between a product variant and a fulfillment service was changed in the `2022-07` API version](/changelog/fulfillment-service-sku-sharing). A [ProductVariant](/api/admin-graphql/latest/objects/ProductVariant) can be stocked by multiple fulfillment services. As a result, we recommend that you use the [inventoryItem field](/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-inventoryitem) if you need to determine where a product variant is stocked.\n\nIf you need to determine whether a product is a gift card, then you should continue to use this field until an alternative is available.\n\nAltering the locations which stock a product variant won't change the value of this field for existing orders.\n\nLearn about [managing inventory quantities and states](/apps/fulfillment/inventory-management-apps/quantities-states).\n" + }, + { + "name": "fulfillmentStatus", + "description": "The line item's fulfillment status. Returns 'fulfilled' if fulfillableQuantity >= quantity,\n'partial' if fulfillableQuantity > 0, and 'unfulfilled' otherwise.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use [FulfillmentOrderLineItem#remainingQuantity](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderLineItem#field-fulfillmentorderlineitem-remainingquantity) instead" + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image associated to the line item's variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isGiftCard", + "description": "Whether the line item represents the purchase of a gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItemGroup", + "description": "The line item group associated to the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LineItemGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantEditable", + "description": "Whether the line item can be edited or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The title of the product, optionally appended with the title of the variant (if applicable).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nonFulfillableQuantity", + "description": "The total number of units that can't be fulfilled. For example, if items have been refunded, or the item is not something that can be fulfilled, like a tip. Please see the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object for more fulfillment details.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotal", + "description": "In shop currency, the total price of the line item when the order was created.\nThis value doesn't include discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originalTotalSet` instead." + }, + { + "name": "originalTotalSet", + "description": "In shop and presentment currencies, the total price of the line item when the order was created.\nThis value doesn't include discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalUnitPrice", + "description": "In shop currency, the unit price of the line item when the order was created. This value doesn't include discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originalUnitPriceSet` instead." + }, + { + "name": "originalUnitPriceSet", + "description": "In shop and presentment currencies, the unit price of the line item when the order was created. This value doesn't include discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The Product object associated with this line item's variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units ordered, including refunded and removed units.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundableQuantity", + "description": "The number of units ordered, excluding refunded units.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether physical shipping is required for the variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockable", + "description": "Whether the line item can be restocked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlan", + "description": "The selling plan details associated with the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LineItemSellingPlan", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The variant SKU number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "Staff attributed to the line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "The taxes charged for the line item, including taxes charged for refunded and removed quantities.", + "args": [ + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the variant is taxable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product at time of order creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscount", + "description": "The total discount allocated to the line item in shop currency, including the total allocated to refunded and removed quantities. This value doesn't include order-level discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalDiscountSet` instead." + }, + { + "name": "totalDiscountSet", + "description": "The total discount allocated to the line item in shop and presentment currencies, including the total allocated to refunded and removed quantities. This value doesn't include order-level discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unfulfilledDiscountedTotal", + "description": "In shop currency, the total discounted price of the unfulfilled quantity for the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `unfulfilledDiscountedTotalSet` instead." + }, + { + "name": "unfulfilledDiscountedTotalSet", + "description": "In shop and presentment currencies, the total discounted price of the unfulfilled quantity for the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unfulfilledOriginalTotal", + "description": "In shop currency, the total price of the unfulfilled quantity for the line item. This value doesn't include discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `unfulfilledOriginalTotalSet` instead." + }, + { + "name": "unfulfilledOriginalTotalSet", + "description": "In shop and presentment currencies, the total price of the unfulfilled quantity for the line item. This value doesn't include discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unfulfilledQuantity", + "description": "The number of units not yet fulfilled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The Variant object associated with this line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "The title of the variant at time of order creation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the vendor who made the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LineItemConnection", + "description": "An auto-generated type for paginating through multiple LineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in LineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LineItemEdge", + "description": "An auto-generated type which holds one LineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of LineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LineItemGroup", + "description": "A line item group (bundle) to which a line item belongs to.", + "fields": [ + { + "name": "customAttributes", + "description": "A list of attributes that represent custom features or special requests.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "Quantity of the line item group on the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the line item group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "ID of the variant of the line item group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantSku", + "description": "SKU of the variant of the line item group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LineItemSellingPlan", + "description": "Represents the selling plan for a line item.", + "fields": [ + { + "name": "name", + "description": "The name of the selling plan for display purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanId", + "description": "The ID of the selling plan associated with the line item.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Link", + "description": "A link to direct users to.", + "fields": [ + { + "name": "label", + "description": "A context-sensitive label for the link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL that the link visits.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LinkedMetafield", + "description": "The identifier for the metafield linked to this option.\n\nThis API is currently in early access. See [Metafield-linked product options](https://shopify.dev/docs/api/admin/migrate/new-product-model/metafield-linked) for more details.", + "fields": [ + { + "name": "key", + "description": "Key of the metafield the option is linked to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Namespace of the metafield the option is linked to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LinkedMetafieldCreateInput", + "description": "The input fields required to link a product option to a metafield.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the metafield this option is linked to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the metafield this option is linked to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "Values associated with the option.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LinkedMetafieldInput", + "description": "The input fields for linking a combined listing option to a metafield.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the linked metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the linked metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "The values of the linked metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LinkedMetafieldUpdateInput", + "description": "The input fields required to link a product option to a metafield.\n\nThis API is currently in early access. See [Metafield-linked product options](https://shopify.dev/docs/api/admin/migrate/new-product-model/metafield-linked) for more details.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the metafield this option is linked to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the metafield this option is linked to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocalPaymentMethodsPaymentDetails", + "description": "Local payment methods payment details related to a transaction.", + "fields": [ + { + "name": "paymentDescriptor", + "description": "The descriptor by the payment provider. Only available for Amazon Pay and Buy with Prime.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethodName", + "description": "The name of payment method used by the buyer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "BasePaymentDetails", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Locale", + "description": "A locale.", + "fields": [ + { + "name": "isoCode", + "description": "Locale ISO code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Human-readable locale name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocalizableContentType", + "description": "Specifies the type of the underlying localizable content. This can be used to conditionally render different UI elements such as input fields.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FILE_REFERENCE", + "description": "A file reference.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HTML", + "description": "An HTML.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_RICH_TEXT", + "description": "An inline rich text.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JSON", + "description": "A JSON.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JSON_STRING", + "description": "A JSON string.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINK", + "description": "A link.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST_FILE_REFERENCE", + "description": "A list of file references.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST_LINK", + "description": "A list of links.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST_MULTI_LINE_TEXT_FIELD", + "description": "A list of multi-line texts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST_SINGLE_LINE_TEXT_FIELD", + "description": "A list of single-line texts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST_URL", + "description": "A list of URLs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MULTI_LINE_TEXT_FIELD", + "description": "A multi-line text.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RICH_TEXT_FIELD", + "description": "A rich text.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SINGLE_LINE_TEXT_FIELD", + "description": "A single-line text.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRING", + "description": "A string.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URI", + "description": "A URI.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL", + "description": "A URL.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocalizationExtension", + "description": "Represents the value captured by a localization extension. Localization extensions are additional fields required by certain countries on international orders. For example, some countries require additional fields for customs information or tax identification numbers.", + "fields": [ + { + "name": "countryCode", + "description": "Country ISO 3166-1 alpha-2 code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The localized extension keys that are allowed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LocalizationExtensionKey", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purpose", + "description": "The purpose of this localization extension.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LocalizationExtensionPurpose", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The localized extension title.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocalizationExtensionConnection", + "description": "An auto-generated type for paginating through multiple LocalizationExtensions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocalizationExtensionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in LocalizationExtensionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocalizationExtension", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocalizationExtensionEdge", + "description": "An auto-generated type which holds one LocalizationExtension and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of LocalizationExtensionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocalizationExtension", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LocalizationExtensionInput", + "description": "The input fields for a LocalizationExtensionInput.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key for the localization extension.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LocalizationExtensionKey", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The localization extension value.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocalizationExtensionKey", + "description": "The key of a localization extension.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SHIPPING_CREDENTIAL_BR", + "description": "Extension key 'shipping_credential_br' for country BR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_CL", + "description": "Extension key 'shipping_credential_cl' for country CL.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_CN", + "description": "Extension key 'shipping_credential_cn' for country CN.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_CO", + "description": "Extension key 'shipping_credential_co' for country CO.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_CR", + "description": "Extension key 'shipping_credential_cr' for country CR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_EC", + "description": "Extension key 'shipping_credential_ec' for country EC.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_ES", + "description": "Extension key 'shipping_credential_es' for country ES.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_GT", + "description": "Extension key 'shipping_credential_gt' for country GT.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_ID", + "description": "Extension key 'shipping_credential_id' for country ID.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_KR", + "description": "Extension key 'shipping_credential_kr' for country KR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_MY", + "description": "Extension key 'shipping_credential_my' for country MY.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_PE", + "description": "Extension key 'shipping_credential_pe' for country PE.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_PT", + "description": "Extension key 'shipping_credential_pt' for country PT.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_PY", + "description": "Extension key 'shipping_credential_py' for country PY.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_TR", + "description": "Extension key 'shipping_credential_tr' for country TR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_TW", + "description": "Extension key 'shipping_credential_tw' for country TW.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_CREDENTIAL_TYPE_CO", + "description": "Extension key 'shipping_credential_type_co' for country CO.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_BR", + "description": "Extension key 'tax_credential_br' for country BR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_CL", + "description": "Extension key 'tax_credential_cl' for country CL.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_CO", + "description": "Extension key 'tax_credential_co' for country CO.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_CR", + "description": "Extension key 'tax_credential_cr' for country CR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_EC", + "description": "Extension key 'tax_credential_ec' for country EC.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_ES", + "description": "Extension key 'tax_credential_es' for country ES.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_GT", + "description": "Extension key 'tax_credential_gt' for country GT.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_ID", + "description": "Extension key 'tax_credential_id' for country ID.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_IT", + "description": "Extension key 'tax_credential_it' for country IT.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_MX", + "description": "Extension key 'tax_credential_mx' for country MX.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_MY", + "description": "Extension key 'tax_credential_my' for country MY.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_PE", + "description": "Extension key 'tax_credential_pe' for country PE.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_PT", + "description": "Extension key 'tax_credential_pt' for country PT.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_PY", + "description": "Extension key 'tax_credential_py' for country PY.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_TR", + "description": "Extension key 'tax_credential_tr' for country TR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_TYPE_CO", + "description": "Extension key 'tax_credential_type_co' for country CO.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_TYPE_MX", + "description": "Extension key 'tax_credential_type_mx' for country MX.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_CREDENTIAL_USE_MX", + "description": "Extension key 'tax_credential_use_mx' for country MX.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_EMAIL_IT", + "description": "Extension key 'tax_email_it' for country IT.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocalizationExtensionPurpose", + "description": "The purpose of a localization extension.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SHIPPING", + "description": "Extensions that are used for shipping purposes, for example, customs clearance.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX", + "description": "Extensions that are used for taxes purposes, for example, invoicing.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Location", + "description": "Represents the location where the physical good resides. You can stock inventory at active locations. Active\nlocations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or\nlocal delivery will be able to sell from their storefront.", + "fields": [ + { + "name": "activatable", + "description": "Whether the location can be reactivated. If `false`, then trying to activate the location with the\n[`LocationActivate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/locationActivate)\nmutation will return an error that describes why the location can't be activated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address", + "description": "The address of this location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationAddress", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "addressVerified", + "description": "Whether the location address has been verified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) that the location was added to a shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deactivatable", + "description": "Whether this location can be deactivated. If `true`, then the location can be deactivated by calling the\n[`LocationDeactivate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/locationDeactivate)\nmutation. If `false`, then calling the mutation to deactivate it will return an error that describes why the\nlocation can't be deactivated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deactivatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) that the location was deactivated at. For example, 3:30 pm on September 7, 2019 in the time zone of UTC (Universal Time Coordinated) is represented as `\"2019-09-07T15:50:00Z`\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletable", + "description": "Whether this location can be deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentService", + "description": "Name of the service provider that fulfills from this location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillsOnlineOrders", + "description": "Whether this location can fulfill online orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasActiveInventory", + "description": "Whether this location has active inventory.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasUnfulfilledOrders", + "description": "Whether this location has orders that need to be fulfilled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryLevel", + "description": "The quantities of an inventory item at this location.", + "args": [ + { + "name": "inventoryItemId", + "description": "The ID of the inventory item to obtain the inventory level for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryLevels", + "description": "A list of the quantities of the inventory items that can be stocked at this location.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_group_id | id |\n| inventory_item_id | id |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryLevelConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isActive", + "description": "Whether the location is active. A deactivated location can be activated (change `isActive: true`) if it has\n`activatable` set to `true` by calling the\n[`locationActivate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/locationActivate)\nmutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isFulfillmentService", + "description": "Whether this location is a fulfillment service.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPrimary", + "description": "Whether the location is your primary location for shipping inventory.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "The concept of a primary location is deprecated, shipsInventory can be used to get a fallback location" + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localPickupSettingsV2", + "description": "Local pickup settings for the location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryLocalPickupSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "shipsInventory", + "description": "Whether this location is used for calculating shipping rates. In multi-origin shipping mode, this flag is ignored.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestedAddresses", + "description": "List of suggested addresses for this location (empty if none).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationSuggestedAddress", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the location was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationActivatePayload", + "description": "Return type for `locationActivate` mutation.", + "fields": [ + { + "name": "location", + "description": "The location that was activated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationActivateUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationActivateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationActivateUserError", + "description": "An error that occurs while activating a location.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "LocationActivateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocationActivateUserErrorCode", + "description": "Possible error codes that can be returned by `LocationActivateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GENERIC_ERROR", + "description": "An error occurred while activating the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_NON_UNIQUE_NAME", + "description": "There is already an active location with this name.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_ONGOING_RELOCATION", + "description": "This location currently cannot be activated as inventory, pending orders or transfers are being relocated from this location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_LIMIT", + "description": "Shop has reached its location limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_NOT_FOUND", + "description": "Location not found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LocationAddAddressInput", + "description": "The input fields to use to specify the address while adding a location.", + "fields": null, + "inputFields": [ + { + "name": "address1", + "description": "The first line of the address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code of country for the address.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The code for the region of the address, such as the state, province, or district.\nFor example CA for California, United States.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The ZIP code or postal code of the address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LocationAddInput", + "description": "The input fields to use to add a location.", + "fields": null, + "inputFields": [ + { + "name": "address", + "description": "The address of the location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LocationAddAddressInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillsOnlineOrders", + "description": "Whether inventory at this location is available for sale online.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional customizable information to associate with the location.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationAddPayload", + "description": "Return type for `locationAdd` mutation.", + "fields": [ + { + "name": "location", + "description": "The location that was added.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationAddUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationAddUserError", + "description": "An error that occurs while adding a location.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "LocationAddUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocationAddUserErrorCode", + "description": "Possible error codes that can be returned by `LocationAddUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_NOT_AUTHORIZED", + "description": "ApiPermission metafields can only be created or updated by the app owner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPABILITY_VIOLATION", + "description": "The metafield violates a capability restriction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISALLOWED_OWNER_TYPE", + "description": "Owner type can't be used in this mutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "An error occurred while adding the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_US_ZIPCODE", + "description": "The ZIP code is not a valid US ZIP code.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or for the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSTRUCTURED_RESERVED_NAMESPACE", + "description": "Unstructured reserved namespace.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationAddress", + "description": "Represents the address of a location.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address for the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address for the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The country of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The country code of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formatted", + "description": "A formatted version of the address for the location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latitude", + "description": "The approximate latitude coordinates of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longitude", + "description": "The approximate longitude coordinates of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The province of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The code for the province, state, or district of the address of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The ZIP code of the location.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationConnection", + "description": "An auto-generated type for paginating through multiple Locations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in LocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationDeactivatePayload", + "description": "Return type for `locationDeactivate` mutation.", + "fields": [ + { + "name": "location", + "description": "The location that was deactivated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationDeactivateUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationDeactivateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationDeactivateUserError", + "description": "The possible errors that can be returned when executing the `locationDeactivate` mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "LocationDeactivateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocationDeactivateUserErrorCode", + "description": "Possible error codes that can be returned by `LocationDeactivateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_DISABLE_ONLINE_ORDER_FULFILLMENT", + "description": "At least one location must fulfill online orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESTINATION_LOCATION_IS_THE_SAME_LOCATION", + "description": "Destination location is the same as the location to be deactivated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESTINATION_LOCATION_NOT_FOUND_OR_INACTIVE", + "description": "Destination location is not found or inactive.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_RELOCATE_ACTIVE_INVENTORIES", + "description": "Failed to relocate active inventories to the destination location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_RELOCATE_INCOMING_MOVEMENTS", + "description": "Failed to relocate incoming movements to the destination location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_RELOCATE_OPEN_PURCHASE_ORDERS", + "description": "Failed to relocate open purchase orders to the destination location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_ACTIVE_INVENTORY_ERROR", + "description": "Location could not be deactivated without specifying where to relocate inventory at the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_ACTIVE_RETAIL_SUBSCRIPTIONS", + "description": "Location needs to be removed from Shopify POS for Retail subscription in Point of Sale channel.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_FULFILLMENT_ORDERS_ERROR", + "description": "Location could not be deactivated because it has pending orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_INCOMING_MOVEMENTS_ERROR", + "description": "Location could not be deactivated because it has open Shopify Fulfillment Network transfers.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_OPEN_PURCHASE_ORDERS_ERROR", + "description": "Location could not be deactivated because it has open purchase orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_NOT_FOUND", + "description": "Location not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERMANENTLY_BLOCKED_FROM_DEACTIVATION_ERROR", + "description": "Location either has a fulfillment service or is the only location with a shipping address.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEMPORARILY_BLOCKED_FROM_DEACTIVATION_ERROR", + "description": "Location has incoming inventory. The location can be deactivated after the inventory has been received.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationDeletePayload", + "description": "Return type for `locationDelete` mutation.", + "fields": [ + { + "name": "deletedLocationId", + "description": "The ID of the location that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationDeleteUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationDeleteUserError", + "description": "An error that occurs while deleting a location.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "LocationDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocationDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `LocationDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GENERIC_ERROR", + "description": "An error occurred while deleting the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_HAS_ACTIVE_RETAIL_SUBSCRIPTION", + "description": "The location cannot be deleted while it has any active Retail subscriptions in the Point of Sale channel.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_HAS_INVENTORY", + "description": "The location cannot be deleted while it has inventory.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_HAS_PENDING_ORDERS", + "description": "The location cannot be deleted while it has pending orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_IS_ACTIVE", + "description": "The location cannot be deleted while it is active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION_NOT_FOUND", + "description": "Location not found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationEdge", + "description": "An auto-generated type which holds one Location and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of LocationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LocationEditAddressInput", + "description": "The input fields to use to edit the address of a location.", + "fields": null, + "inputFields": [ + { + "name": "address1", + "description": "The first line of the address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code of country for the address.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number of the location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The code for the region of the address, such as the state, province, or district.\nFor example CA for California, United States.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The ZIP code or postal code of the location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "LocationEditInput", + "description": "The input fields to use to edit a location.", + "fields": null, + "inputFields": [ + { + "name": "address", + "description": "The address of the location.", + "type": { + "kind": "INPUT_OBJECT", + "name": "LocationEditAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillsOnlineOrders", + "description": "Whether inventory at this location is available for sale online.\n\n**Note:** This can't be disabled for fulfillment service locations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional customizable information to associate with the location.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationEditPayload", + "description": "Return type for `locationEdit` mutation.", + "fields": [ + { + "name": "location", + "description": "The location that was edited.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationEditUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationEditUserError", + "description": "An error that occurs while editing a location.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "LocationEditUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocationEditUserErrorCode", + "description": "Possible error codes that can be returned by `LocationEditUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_NOT_AUTHORIZED", + "description": "ApiPermission metafields can only be created or updated by the app owner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DISABLE_ONLINE_ORDER_FULFILLMENT", + "description": "At least one location must fulfill online orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MODIFY_ONLINE_ORDER_FULFILLMENT_FOR_FS_LOCATION", + "description": "Cannot modify the online order fulfillment preference for fulfillment service locations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPABILITY_VIOLATION", + "description": "The metafield violates a capability restriction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISALLOWED_OWNER_TYPE", + "description": "Owner type can't be used in this mutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "An error occurred while editing the location.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_US_ZIPCODE", + "description": "The ZIP code is not a valid US ZIP code.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or for the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSTRUCTURED_RESERVED_NAMESPACE", + "description": "Unstructured reserved namespace.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationLocalPickupDisablePayload", + "description": "Return type for `locationLocalPickupDisable` mutation.", + "fields": [ + { + "name": "locationId", + "description": "The ID of the location for which local pickup was disabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLocationLocalPickupSettingsError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationLocalPickupEnablePayload", + "description": "Return type for `locationLocalPickupEnable` mutation.", + "fields": [ + { + "name": "localPickupSettings", + "description": "The local pickup settings that were enabled.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryLocalPickupSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryLocationLocalPickupSettingsError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "LocationSortKeys", + "description": "The set of valid sort keys for the Location query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocationSuggestedAddress", + "description": "Represents a suggested address for a location.", + "fields": [ + { + "name": "address1", + "description": "The first line of the suggested address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the suggested address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The city of the suggested address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The country of the suggested address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The country code of the suggested address.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formatted", + "description": "A formatted version of the suggested address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The province of the suggested address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The code for the province, state, or district of the suggested address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The ZIP code of the suggested address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MailingAddress", + "description": "Represents a customer mailing address.\n\nFor example, a customer's default address and an order's billing address are both mailling addresses.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "The name of the customer's company or organization.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coordinatesValidated", + "description": "Whether the address coordinates are valid.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The name of the country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code for the country of the address.\n\nFor example, US.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `countryCodeV2` instead." + }, + { + "name": "countryCodeV2", + "description": "The two-letter code for the country of the address.\n\nFor example, US.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name of the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formatted", + "description": "A formatted version of the address, customized by the provided arguments.", + "args": [ + { + "name": "withCompany", + "description": "Whether to include the customer's company in the formatted address.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "withName", + "description": "Whether to include the customer's name in the formatted address.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formattedArea", + "description": "A comma-separated list of the values for city, province, and country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name of the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "latitude", + "description": "The latitude coordinate of the customer address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longitude", + "description": "The longitude coordinate of the customer address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The full name of the customer, based on firstName and lastName.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "A unique phone number for the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The region of the address, such as the province, state, or district.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The alphanumeric code for the region.\n\nFor example, ON.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeZone", + "description": "The time zone of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationResultSummary", + "description": "Represents the state of validation of a mailing address. For more information, refer to [Validating shipping addresses on your orders](https://help.shopify.com/manual/orders/manage-orders/shipping-address-validation).", + "args": [], + "type": { + "kind": "ENUM", + "name": "MailingAddressValidationResult", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MailingAddressConnection", + "description": "An auto-generated type for paginating through multiple MailingAddresses.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MailingAddressEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MailingAddressEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MailingAddressEdge", + "description": "An auto-generated type which holds one MailingAddress and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MailingAddressEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "description": "The input fields to create or update a mailing address.", + "fields": null, + "inputFields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "The name of the customer's company or organization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code for the country of the address.", + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name of the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name of the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "A unique phone number for the customer.\n\nFormatted using E.164 standard. For example, _+16135551111_.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The code for the region of the address, such as the province, state, or district.\nFor example QC for Quebec, Canada.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MailingAddressValidationResult", + "description": "Highest level of validation concerns identified for the address.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ERROR", + "description": "Indicates that the address has been validated and is very likely to contain invalid information.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_ISSUES", + "description": "Indicates that the address has been validated and no issues were found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARNING", + "description": "Indicates that the address has been validated and might contain invalid information.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ManualDiscountApplication", + "description": "Manual discount applications capture the intentions of a discount that was manually created for an order.\n\nDiscount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is applied to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the discount application.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "index", + "description": "An ordered index that can be used to identify the discount application and indicate the precedence\nof the discount application for calculations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Market", + "description": "A market is a group of one or more regions that you want to target for international sales.\nBy creating a market, you can configure a distinct, localized shopping experience for\ncustomers from a specific area of the world. For example, you can\n[change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate),\n[configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists),\nor [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence).", + "fields": [ + { + "name": "catalogs", + "description": "The catalogs that belong to the market.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketCatalogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogsCount", + "description": "The number of catalogs that belong to the market.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencySettings", + "description": "The market’s currency settings.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketCurrencySettings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Whether the market is enabled to receive visitors and sales. **Note**: Regions in inactive\nmarkets can't be selected on the storefront or in checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A short, human-readable unique identifier for the market. This is changeable by the merchant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the market. Not shown to customers.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "The market’s price list, which specifies a percentage-based price adjustment as well as\nfixed price overrides for specific variants.\n\nMarkets with multiple catalogs can have multiple price lists. To query which price lists are connected to\na market, please query for price lists through the catalogs connection.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `catalogs` instead." + }, + { + "name": "primary", + "description": "Whether the market is the shop’s primary market.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "regions", + "description": "The regions that comprise the market.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketRegionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPresence", + "description": "The market’s web presence, which defines its SEO strategy. This can be a different domain,\nsubdomain, or subfolders of the primary domain. Each web presence comprises one or more\nlanguage variants. If a market doesn't have its own web presence, then the market is accessible on the\nprimary market's domains using [country\nselectors](https://shopify.dev/themes/internationalization/multiple-currencies-languages#the-country-selector).\nIf it's the primary market and it has multiple web presences, then this field will return the primary domain web presence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketWebPresence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPresences", + "description": "The market’s web presences, which defines its SEO strategy. This can be a different domain,\nsubdomain, or subfolders of the primary domain. Each web presence comprises one or more\nlanguage variants. If a market doesn't have any web presences, then the market is accessible on the\nprimary market's domains using [country\nselectors](https://shopify.dev/themes/internationalization/multiple-currencies-languages#the-country-selector).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketWebPresenceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketCatalog", + "description": "A list of products with publishing and pricing information associated with markets.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "markets", + "description": "The markets associated with the catalog.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "operations", + "description": "Most recent catalog operations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "The price list associated with the catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "A group of products and collections that's published to a catalog.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CatalogStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the catalog.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketCatalogConnection", + "description": "An auto-generated type for paginating through multiple MarketCatalogs.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketCatalogEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MarketCatalogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketCatalog", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketCatalogEdge", + "description": "An auto-generated type which holds one MarketCatalog and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MarketCatalogEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketCatalog", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketConnection", + "description": "An auto-generated type for paginating through multiple Markets.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MarketEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketCreateInput", + "description": "The input fields required to create a market.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "Whether the market is enabled to receive visitors and sales. If a\nvalue isn't provided, then the market is enabled by default if all\nincluded regions have shipping rates, and disabled if any regions don't\nhave shipping rates.\n\n**Note**: Regions in inactive markets can't be selected on the\nstorefront or in checkout.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique identifier for the market. For example `\"ca\"`.\nIf the handle isn't provided, then the handle is auto-generated based on the country or name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the market. Not shown to customers.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "regions", + "description": "The regions to be included in the market. Each region can only be included in one market at\na time.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketRegionCreateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketCreatePayload", + "description": "Return type for `marketCreate` mutation.", + "fields": [ + { + "name": "market", + "description": "The market object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketCurrencySettings", + "description": "A market's currency settings.", + "fields": [ + { + "name": "baseCurrency", + "description": "The currency which this market's prices are defined in, and the\ncurrency which its customers must use if local currencies are disabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CurrencySetting", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localCurrencies", + "description": "Whether or not local currencies are enabled. If enabled, then prices will\nbe converted to give each customer the best experience based on their\nregion. If disabled, then all customers in this market will see prices\nin the market's base currency. For single country markets this will be true when\nthe market's base currency is the same as the default currency for the region.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketCurrencySettingsUpdateInput", + "description": "The input fields used to update the currency settings of a market.", + "fields": null, + "inputFields": [ + { + "name": "baseCurrency", + "description": "The currency which this market’s prices are defined in, and the\ncurrency which its customers must use if local currencies are disabled.", + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localCurrencies", + "description": "Whether or not local currencies are enabled. If enabled, then prices will\nbe converted to give each customer the best experience based on their\nregion. If disabled, then all customers in this market will see prices\nin the market's base currency.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketCurrencySettingsUpdatePayload", + "description": "Return type for `marketCurrencySettingsUpdate` mutation.", + "fields": [ + { + "name": "market", + "description": "The market object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketCurrencySettingsUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketCurrencySettingsUserError", + "description": "Error codes for failed market multi-currency operations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketCurrencySettingsUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketCurrencySettingsUserErrorCode", + "description": "Possible error codes that can be returned by `MarketCurrencySettingsUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MANAGED_MARKET", + "description": "The currency settings of the given market cannot be changed because the market manager has exclusive control of pricing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_NOT_FOUND", + "description": "The specified market wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MULTIPLE_CURRENCIES_NOT_SUPPORTED", + "description": "The shop's payment gateway does not support enabling more than one currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_LOCAL_CURRENCIES_ON_SINGLE_COUNTRY_MARKET", + "description": "Can't enable or disable local currencies on a single country market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIMARY_MARKET_USES_SHOP_CURRENCY", + "description": "The primary market must use the shop currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_CURRENCY", + "description": "The specified currency is not supported.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketDeletePayload", + "description": "Return type for `marketDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted market.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketEdge", + "description": "An auto-generated type which holds one Market and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MarketEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketLocalizableContent", + "description": "The market localizable content of a resource's field.", + "fields": [ + { + "name": "digest", + "description": "The hash digest representation of the content value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The resource field that's being localized.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The content value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketLocalizableResource", + "description": "A resource that has market localizable fields.", + "fields": [ + { + "name": "marketLocalizableContent", + "description": "The market localizable content.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalizableContent", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizations", + "description": "Market localizations for the market localizable content.", + "args": [ + { + "name": "marketId", + "description": "Filters market localizations by market ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalization", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "The GID of the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketLocalizableResourceConnection", + "description": "An auto-generated type for paginating through multiple MarketLocalizableResources.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalizableResourceEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MarketLocalizableResourceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalizableResource", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketLocalizableResourceEdge", + "description": "An auto-generated type which holds one MarketLocalizableResource and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MarketLocalizableResourceEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalizableResource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketLocalizableResourceType", + "description": "The type of resources that are market localizable.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "METAFIELD", + "description": "A metafield. Market localizable fields: `value`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAOBJECT", + "description": "A Metaobject. Market Localizable fields are determined by the Metaobject type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketLocalization", + "description": "The market localization of a field within a resource, which is determined by the market ID.", + "fields": [ + { + "name": "key", + "description": "A reference to the value being localized on the resource that this market localization belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "The market that the localization is specific to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "outdated", + "description": "Whether the original content has changed since this market localization was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the market localization was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the market localization.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketLocalizationRegisterInput", + "description": "The input fields and values for creating or updating a market localization.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "A reference to the value being localized on the resource that this market localization belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "The ID of the market that the localization is specific to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizableContentDigest", + "description": "A hash digest representation of the content being localized.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the market localization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketLocalizationsRegisterPayload", + "description": "Return type for `marketLocalizationsRegister` mutation.", + "fields": [ + { + "name": "marketLocalizations", + "description": "The market localizations that were created or updated.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalization", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketLocalizationsRemovePayload", + "description": "Return type for `marketLocalizationsRemove` mutation.", + "fields": [ + { + "name": "marketLocalizations", + "description": "The market localizations that were deleted.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalization", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "MarketRegion", + "description": "A geographic region which comprises a market.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the region.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "MarketRegionCountry", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "MarketRegionConnection", + "description": "An auto-generated type for paginating through multiple MarketRegions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketRegionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MarketRegionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "MarketRegion", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketRegionCountry", + "description": "A country which comprises a market.", + "fields": [ + { + "name": "code", + "description": "The ISO code identifying the country.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "The currency which this country uses given its market settings.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CurrencySetting", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the region.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "MarketRegion", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketRegionCreateInput", + "description": "The input fields for creating a market region with exactly one required option.", + "fields": null, + "inputFields": [ + { + "name": "countryCode", + "description": "A country code for the region.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketRegionDeletePayload", + "description": "Return type for `marketRegionDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted market region.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "The parent market object of the deleted region.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketRegionEdge", + "description": "An auto-generated type which holds one MarketRegion and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MarketRegionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "MarketRegion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketRegionsCreatePayload", + "description": "Return type for `marketRegionsCreate` mutation.", + "fields": [ + { + "name": "market", + "description": "The market object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketRegionsDeletePayload", + "description": "Return type for `marketRegionsDelete` mutation.", + "fields": [ + { + "name": "deletedIds", + "description": "The ID of the deleted market region.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketUpdateInput", + "description": "The input fields used to update a market.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "Whether the market is enabled to receive visitors and sales. **Note**: Regions in\ninactive markets cannot be selected on the storefront or in checkout.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique identifier for the market. For example `\"ca\"`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the market. Not shown to customers.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketUpdatePayload", + "description": "Return type for `marketUpdate` mutation.", + "fields": [ + { + "name": "market", + "description": "The market object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketUserError", + "description": "Defines errors encountered while managing a Market.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketUserErrorCode", + "description": "Possible error codes that can be returned by `MarketUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_ADD_CUSTOMER_DOMAIN", + "description": "Can't add customer account domain to a market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_ADD_REGIONS_TO_PRIMARY_MARKET", + "description": "Can't add regions to the primary market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_ADD_WEB_PRESENCE_TO_PRIMARY_MARKET", + "description": "Can't add the web presence to the primary market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_ONLY_REGION", + "description": "Can't delete the only region in a market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_PRIMARY_MARKET", + "description": "Can't delete the primary market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_PRIMARY_MARKET_WEB_PRESENCE", + "description": "Can't delete the primary market's web presence.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DISABLE_PRIMARY_MARKET", + "description": "Can't disable the primary market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_HAVE_BOTH_SUBFOLDER_AND_DOMAIN_WEB_PRESENCES", + "description": "Can't have both subfolder and domain web presences.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_HAVE_MULTIPLE_SUBFOLDERS_PER_MARKET", + "description": "Can't have multiple subfolder web presences per market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_HAVE_SUBFOLDER_AND_DOMAIN", + "description": "Can't pass both `subfolderSuffix` and `domainId`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_SET_DEFAULT_LOCALE_TO_NULL", + "description": "Can't set default locale to null.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISABLED_LANGUAGE", + "description": "The language isn't enabled on the store.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOMAIN_NOT_FOUND", + "description": "Domain was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_LANGUAGES", + "description": "Duplicates found in languages.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_NOT_FOUND", + "description": "The market wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_REACHED_WEB_PRESENCE_LIMIT", + "description": "Can't add another web presence to the market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_LANGUAGES", + "description": "No languages selected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIMARY_MARKET_MUST_USE_PRIMARY_DOMAIN", + "description": "The primary market must use the primary domain.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REGION_NOT_FOUND", + "description": "The market region wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REGION_SPECIFIC_LANGUAGE", + "description": "Cannot add region-specific language.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRES_DOMAIN_OR_SUBFOLDER", + "description": "One of `subfolderSuffix` or `domainId` is required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRES_EXACTLY_ONE_OPTION", + "description": "Exactly one input option is required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_REACHED_MARKETS_LIMIT", + "description": "Can't have more than 50 markets.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBFOLDER_SUFFIX_CANNOT_BE_SCRIPT_CODE", + "description": "The subfolder suffix is invalid, please provide a different value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBFOLDER_SUFFIX_MUST_CONTAIN_ONLY_LETTERS", + "description": "The subfolder suffix must contain only letters.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNPUBLISHED_LANGUAGE", + "description": "The language isn't published to the store.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_COUNTRY_REGION", + "description": "Can't add unsupported country or region.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEB_PRESENCE_NOT_FOUND", + "description": "The market web presence wasn't found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresence", + "description": "The market’s web presence, which defines its SEO strategy. This can be a different domain\n(e.g. `example.ca`), subdomain (e.g. `ca.example.com`), or subfolders of the primary\ndomain (e.g. `example.com/en-ca`). Each web presence comprises one or more language\nvariants. If a market does not have its own web presence, it is accessible on the shop’s\nprimary domain via [country\nselectors](https://shopify.dev/themes/internationalization/multiple-currencies-languages#the-country-selector).\n\nNote: while the domain/subfolders defined by a market’s web presence are not applicable to\ncustom storefronts, which must manage their own domains and routing, the languages chosen\nhere do govern [the languages available on the Storefront\nAPI](https://shopify.dev/custom-storefronts/internationalization/multiple-languages) for the countries in\nthis market.", + "fields": [ + { + "name": "alternateLocales", + "description": "The ShopLocale object for the alternate locales. When a domain is used, these locales will be\navailable as language-specific subfolders. For example, if English is an\nalternate locale, and `example.ca` is the market’s domain, then\n`example.ca/en` will load in English.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopLocale", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultLocale", + "description": "The ShopLocale object for the default locale. When a domain is used, this is the locale that will\nbe used when the domain root is accessed. For example, if French is the default locale,\nand `example.ca` is the market’s domain, then `example.ca` will load in French.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopLocale", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "domain", + "description": "The web presence’s domain.\nThis field will be null if `subfolderSuffix` isn't null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Domain", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "The associated market.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rootUrls", + "description": "The list of root URLs for each of the web presence’s locales. As of version `2024-04` this value will no longer have a trailing slash.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketWebPresenceRootUrl", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subfolderSuffix", + "description": "The market-specific suffix of the subfolders defined by the web presence. Example: in `/en-us` the subfolder suffix is `us`. This field will be null if `domain` isn't null.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresenceConnection", + "description": "An auto-generated type for paginating through multiple MarketWebPresences.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketWebPresenceEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MarketWebPresenceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketWebPresence", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketWebPresenceCreateInput", + "description": "The input fields used to create a web presence for a market.", + "fields": null, + "inputFields": [ + { + "name": "alternateLocales", + "description": "The alternate locales for the market’s web presence.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultLocale", + "description": "The default locale for the market’s web presence.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "domainId", + "description": "The web presence's domain ID. This field must be `null` if the `subfolderSuffix` isn't `null`.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subfolderSuffix", + "description": "The market-specific suffix of the subfolders defined by the web presence.\nFor example: in `/en-us`, the subfolder suffix is `us`.\nOnly ASCII characters are allowed. This field must be `null` if the `domainId` isn't `null`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresenceCreatePayload", + "description": "Return type for `marketWebPresenceCreate` mutation.", + "fields": [ + { + "name": "market", + "description": "The market object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresenceDeletePayload", + "description": "Return type for `marketWebPresenceDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted web presence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "The market for which the web presence was deleted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresenceEdge", + "description": "An auto-generated type which holds one MarketWebPresence and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MarketWebPresenceEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketWebPresence", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresenceRootUrl", + "description": "The URL for the homepage of the online store in the context of a particular market and a\nparticular locale.", + "fields": [ + { + "name": "locale", + "description": "The locale that the storefront loads in.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketWebPresenceUpdateInput", + "description": "The input fields used to update a web presence for a market.", + "fields": null, + "inputFields": [ + { + "name": "alternateLocales", + "description": "The alternate locales for the market’s web presence.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultLocale", + "description": "The default locale for the market’s web presence.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "domainId", + "description": "The web presence's domain ID. This field must be null if `subfolderSuffix` is not null.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subfolderSuffix", + "description": "The market-specific suffix of the subfolders defined by the web presence.\nExample: in `/en-us` the subfolder suffix is `us`.\nOnly ASCII characters are allowed. This field must be null if `domainId` is not null.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresenceUpdatePayload", + "description": "Return type for `marketWebPresenceUpdate` mutation.", + "fields": [ + { + "name": "market", + "description": "The market object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivitiesDeleteAllExternalPayload", + "description": "Return type for `marketingActivitiesDeleteAllExternal` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that performs the deletion. The status of the job may be used to determine when it's safe again to create new activities.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivity", + "description": "The marketing activity resource represents marketing that a\n merchant created through an app.", + "fields": [ + { + "name": "activityListUrl", + "description": "The URL of the marketing activity listing page in the marketing section.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adSpend", + "description": "The amount spent on the marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "app", + "description": "The app which created this marketing activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appErrors", + "description": "The errors generated when an app publishes the marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivityExtensionAppErrors", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "budget", + "description": "The allocated budget for the marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingBudget", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the marketing activity was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formData", + "description": "The completed content in the marketing activity creation form.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hierarchyLevel", + "description": "The hierarchy level of the marketing activity.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketingActivityHierarchyLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inMainWorkflowVersion", + "description": "Whether the marketing activity is in the main workflow version of the marketing automation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isExternal", + "description": "The marketing activity represents an external marketing activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingChannel", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingChannel", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `marketingChannelType` instead." + }, + { + "name": "marketingChannelType", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingChannel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingEvent", + "description": "Associated marketing event of this marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentActivityId", + "description": "ID of the parent activity of this marketing activity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentRemoteId", + "description": "ID of the parent activity of this marketing activity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceAndMedium", + "description": "A contextual description of the marketing activity based on the platform and tactic used.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current state of the marketing activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingActivityStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusBadgeType", + "description": "The severity of the marketing activity's status.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketingActivityStatusBadgeType", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `statusBadgeTypeV2` instead." + }, + { + "name": "statusBadgeTypeV2", + "description": "The severity of the marketing activity's status.", + "args": [], + "type": { + "kind": "ENUM", + "name": "BadgeType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusLabel", + "description": "The rendered status of the marketing activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusTransitionedAt", + "description": "The [date and time](\n https://help.shopify.com/https://en.wikipedia.org/wiki/ISO_8601\n ) when the activity's status last changed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tactic", + "description": "The method of marketing used for this marketing activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingTactic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetStatus", + "description": "The status to which the marketing activity is currently transitioning.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketingActivityStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The marketing activity's title, which is rendered on the marketing listing page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the marketing activity was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameterValue", + "description": "The value portion of the URL query parameter used in attributing sessions to this activity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utmParameters", + "description": "The set of [Urchin Tracking Module](\n https://help.shopify.com/https://en.wikipedia.org/wiki/UTM_parameters\n ) used in the URL for tracking this marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UTMParameters", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityBudgetInput", + "description": "The input fields combining budget amount and its marketing budget type.", + "fields": null, + "inputFields": [ + { + "name": "budgetType", + "description": "Budget type for marketing activity.", + "type": { + "kind": "ENUM", + "name": "MarketingBudgetBudgetType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "Amount of budget for the marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityConnection", + "description": "An auto-generated type for paginating through multiple MarketingActivities.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MarketingActivityEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityCreateExternalInput", + "description": "The input fields for creating an externally-managed marketing activity.", + "fields": null, + "inputFields": [ + { + "name": "adSpend", + "description": "The amount spent on the marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "budget", + "description": "The budget for this marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityBudgetInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelHandle", + "description": "The unique string identifier of the channel to which this activity belongs. For the correct handle for your channel, contact your partner manager.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "end", + "description": "The date and time at which the activity ended. If omitted or set to `null`, the current time will be used if the status is set to `INACTIVE` or `DELETED_EXTERNALLY`.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hierarchyLevel", + "description": "The hierarchy level of the activity within a campaign. The hierarchy level can't be updated.", + "type": { + "kind": "ENUM", + "name": "MarketingActivityHierarchyLevel", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingChannelType", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingChannel", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentActivityId", + "description": "The ID for the parent marketing activity, if creating hierarchical activities.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentRemoteId", + "description": "The remote ID for the parent marketing activity, if creating hierarchical activities.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referringDomain", + "description": "The domain from which ad clicks are forwarded to the shop.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteId", + "description": "The ID of an activity that's hosted outside of Shopify.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remotePreviewImageUrl", + "description": "The URL for a preview image that's used for the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteUrl", + "description": "The URL for viewing and/or managing the activity outside of Shopify.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledEnd", + "description": "The date and time at which the activity is scheduled to end.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledStart", + "description": "The date and time at which the activity is scheduled to start.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "start", + "description": "The date and time at which the activity started. If omitted or set to `null`, the current time will be used.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the marketing activity. If status isn't set it will default to UNDEFINED.", + "type": { + "kind": "ENUM", + "name": "MarketingActivityExternalStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tactic", + "description": "The method of marketing used for this marketing activity. The marketing tactic determines which default fields are included in the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingTactic", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameterValue", + "description": "Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utm", + "description": "Specifies the [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) that are associated with a related marketing campaign. Either the URL parameter value or UTM can be set, but not both.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UTMInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityCreateExternalPayload", + "description": "Return type for `marketingActivityCreateExternal` mutation.", + "fields": [ + { + "name": "marketingActivity", + "description": "The external marketing activity that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityCreateInput", + "description": "The input fields required to create a marketing activity.", + "fields": null, + "inputFields": [ + { + "name": "budget", + "description": "The budget for this marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityBudgetInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "context", + "description": "Encoded context containing marketing campaign id.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formData", + "description": "The form data in JSON serialized as a string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityExtensionId", + "description": "The ID of the marketing activity extension.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityTitle", + "description": "The title of the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current state of the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingActivityStatus", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameterValue", + "description": "Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utm", + "description": "Specifies the\n[Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters)\nthat are associated with a related marketing campaign. UTMInput is required for all Marketing\ntactics except Storefront App.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UTMInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityCreatePayload", + "description": "Return type for `marketingActivityCreate` mutation.", + "fields": [ + { + "name": "marketingActivity", + "description": "The created marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectPath", + "description": "The path to return back to shopify admin from embedded editor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityDeleteExternalPayload", + "description": "Return type for `marketingActivityDeleteExternal` mutation.", + "fields": [ + { + "name": "deletedMarketingActivityId", + "description": "The ID of the marketing activity that was deleted, if one was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityEdge", + "description": "An auto-generated type which holds one MarketingActivity and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MarketingActivityEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingActivityExtensionAppErrorCode", + "description": "The error code resulted from the marketing activity extension integration.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "API_ERROR", + "description": "The app is either not responding or returning unexpected data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSTALL_REQUIRED_ERROR", + "description": "The app needs to be installed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_ONBOARDED_ERROR", + "description": "The shop/user must be onboarded to use the app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLATFORM_ERROR", + "description": "The app has returned an error when invoking the platform.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VALIDATION_ERROR", + "description": "The app has returned validation errors.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityExtensionAppErrors", + "description": "Represents errors returned from apps when using the marketing activity extension.", + "fields": [ + { + "name": "code", + "description": "The app error type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingActivityExtensionAppErrorCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors returned by the app.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingActivityExternalStatus", + "description": "Set of possible statuses for an external marketing activity.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "This marketing activity is currently running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETED_EXTERNALLY", + "description": "This marketing activity was deleted and it was triggered from outside of Shopify.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INACTIVE", + "description": "This marketing activity has completed running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAUSED", + "description": "This marketing activity is currently not running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "This marketing activity is scheduled to run.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNDEFINED", + "description": "The marketing activity's status is unknown.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingActivityHierarchyLevel", + "description": "Hierarchy levels for external marketing activities.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AD", + "description": "An advertisement activity. Must be parented by an ad group or a campaign activity, and must be assigned tracking parameters (URL or UTM).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AD_GROUP", + "description": "A group of advertisement activities. Must be parented by a campaign activity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAMPAIGN", + "description": "A campaign activity. May contain either ad groups or ads as child activities. If childless, then the campaign activity should have tracking parameters assigned (URL or UTM) otherwise it won't appear in marketing reports.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingActivitySortKeys", + "description": "The set of valid sort keys for the MarketingActivity query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingActivityStatus", + "description": "Status helps to identify if this marketing activity has been completed, queued, failed etc.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "This marketing activity is currently running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETED", + "description": "This marketing activity is permanently unavailable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETED_EXTERNALLY", + "description": "This marketing activity was deleted and it was triggered from outside of Shopify.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCONNECTED", + "description": "This marketing activity is disconnected and no longer editable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT", + "description": "This marketing activity has been edited, but it is not yet created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "This marketing activity is unable to run.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INACTIVE", + "description": "This marketing activity has completed running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAUSED", + "description": "This marketing activity is currently not running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "This marketing activity is pending creation on the app's marketing platform.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "This marketing activity is scheduled to run.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNDEFINED", + "description": "The marketing activity's status is unknown.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingActivityStatusBadgeType", + "description": "StatusBadgeType helps to identify the color of the status badge.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ATTENTION", + "description": "This status badge has type attention.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEFAULT", + "description": "This status badge has type default.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INFO", + "description": "This status badge has type info.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "This status badge has type success.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARNING", + "description": "This status badge has type warning.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityUpdateExternalInput", + "description": "The input fields required to update an externally managed marketing activity.", + "fields": null, + "inputFields": [ + { + "name": "adSpend", + "description": "The amount spent on the marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "budget", + "description": "The budget for this marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityBudgetInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "end", + "description": "The date and time at which the activity ended.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingChannelType", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "type": { + "kind": "ENUM", + "name": "MarketingChannel", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referringDomain", + "description": "The domain from which ad clicks are forwarded to the shop.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remotePreviewImageUrl", + "description": "The URL for a preview image that's used for the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteUrl", + "description": "The URL for viewing and/or managing the activity outside of Shopify.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledEnd", + "description": "The date and time at which the activity is scheduled to end.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledStart", + "description": "The date and time at which the activity is scheduled to start.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "start", + "description": "The date and time at which the activity started.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the marketing activity.", + "type": { + "kind": "ENUM", + "name": "MarketingActivityExternalStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tactic", + "description": "The method of marketing used for this marketing activity. The marketing tactic determines which default fields are included in the marketing activity.", + "type": { + "kind": "ENUM", + "name": "MarketingTactic", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityUpdateExternalPayload", + "description": "Return type for `marketingActivityUpdateExternal` mutation.", + "fields": [ + { + "name": "marketingActivity", + "description": "The updated marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityUpdateInput", + "description": "The input fields required to update a marketing activity.", + "fields": null, + "inputFields": [ + { + "name": "budget", + "description": "The budget for the marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityBudgetInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "The error messages that were generated when the app was trying to complete the activity.\nLearn more about the\n[JSON format expected for error messages](/api/marketing-activities/statuses#failed-status).", + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formData", + "description": "The form data of the marketing activity. This is only used if the marketing activity is\n integrated with the external editor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketedResources", + "description": "A list of the item IDs that were marketed in this marketing activity. Valid types for these items are:\n* `Product`\n* `Shop`", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingRecommendationId", + "description": "The ID of the recommendation that the marketing activity was created from, if one exists.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current state of the marketing activity. Learn more about\n[marketing activities statuses](/api/marketing-activities/statuses).", + "type": { + "kind": "ENUM", + "name": "MarketingActivityStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetStatus", + "description": "The target state that the marketing activity is transitioning to. Learn more about [marketing activities statuses](/api/marketing-activities/statuses).", + "type": { + "kind": "ENUM", + "name": "MarketingActivityStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameterValue", + "description": "Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utm", + "description": "Specifies the\n[Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters)\nthat are associated with a related marketing campaign. UTMInput is required for all Marketing\ntactics except Storefront App. The utm field can only be set once and never modified.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UTMInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityUpdatePayload", + "description": "Return type for `marketingActivityUpdate` mutation.", + "fields": [ + { + "name": "marketingActivity", + "description": "The updated marketing activity.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectPath", + "description": "The redirect path from the embedded editor to the Shopify admin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityUpsertExternalInput", + "description": "The input fields for creating or updating an externally-managed marketing activity.", + "fields": null, + "inputFields": [ + { + "name": "adSpend", + "description": "The amount spent on the marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "budget", + "description": "The budget for this marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityBudgetInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelHandle", + "description": "The unique string identifier of the channel to which this activity belongs. For the correct handle for your channel, contact your partner manager.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "end", + "description": "The date and time at which the activity started. On creation, if this field is omitted or set to `null`, the current time will be used if the status is set to `INACTIVE` or `DELETED_EXTERNALLY` .", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hierarchyLevel", + "description": "The hierarchy level of the activity within a campaign. The hierarchy level can't be updated.", + "type": { + "kind": "ENUM", + "name": "MarketingActivityHierarchyLevel", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingChannelType", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingChannel", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentRemoteId", + "description": "The remote ID for the parent marketing activity, if creating hierarchical activities.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referringDomain", + "description": "The domain from which ad clicks are forwarded to the shop.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteId", + "description": "The ID of an activity that's hosted outside of Shopify.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remotePreviewImageUrl", + "description": "The URL for a preview image that's used for the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteUrl", + "description": "The URL for viewing and/or managing the activity outside of Shopify.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledEnd", + "description": "The date and time at which the activity is scheduled to end.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledStart", + "description": "The date and time at which the activity is scheduled to start.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "start", + "description": "The date and time at which the activity started. On creation, if this field is omitted or set to `null`, the current time will be used.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingActivityExternalStatus", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tactic", + "description": "The method of marketing used for this marketing activity. The marketing tactic determines which default fields are included in the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingTactic", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlParameterValue", + "description": "Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utm", + "description": "Specifies the [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) that are associated with a related marketing campaign. Either the URL parameter value or UTM can be set, but not both.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UTMInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityUpsertExternalPayload", + "description": "Return type for `marketingActivityUpsertExternal` mutation.", + "fields": [ + { + "name": "marketingActivity", + "description": "The external marketing activity that was created or updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "description": "An error that occurs during the execution of marketing activity and engagement mutations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketingActivityUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingActivityUserErrorCode", + "description": "Possible error codes that can be returned by `MarketingActivityUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVITY_NOT_EXTERNAL", + "description": "The marketing activity must be an external activity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_ACTIVITY_WITH_CHILD_EVENTS", + "description": "This activity has child activities and thus cannot be deleted. Child activities must be deleted before a parent activity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_UPDATE_TACTIC_IF_ORIGINALLY_STOREFRONT_APP", + "description": "The activity's tactic can not be updated from STOREFRONT_APP.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_UPDATE_TACTIC_TO_STOREFRONT_APP", + "description": "The activity's tactic can not be updated to STOREFRONT_APP. This type of tactic can only be specified when creating a new activity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CURRENCY_CODE_MISMATCH_INPUT", + "description": "All currency codes provided in the input need to match.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE_JOB_ENQUEUED", + "description": "A mutation can not be ran because a job to delete all external activities has been enqueued, which happens either from calling the marketingActivitiesDeleteAllExternal mutation or as a result of an app uninstall.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE_JOB_FAILED_TO_ENQUEUE", + "description": "The job to delete all external activities failed to enqueue.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMMUTABLE_CHANNEL_HANDLE", + "description": "The channel handle value cannot be modified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMMUTABLE_HIERARCHY_LEVEL", + "description": "The hierarchy level cannot be modified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMMUTABLE_PARENT_ID", + "description": "The parent activity cannot be modified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMMUTABLE_URL_PARAMETER", + "description": "The URL parameter value cannot be modified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMMUTABLE_UTM_PARAMETERS", + "description": "The UTM parameters cannot be modified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CHANNEL_HANDLE", + "description": "The channel handle is not recognized.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_DELETE_ACTIVITY_EXTERNAL_ARGUMENTS", + "description": "Either the marketing activity ID or remote ID must be provided for the activity to be deleted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_DELETE_ENGAGEMENTS_ARGUMENTS", + "description": "Either the channel_handle or delete_engagements_for_all_channels must be provided when deleting a marketing engagement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_MARKETING_ACTIVITY_EXTERNAL_ARGUMENTS", + "description": "Either the marketing activity ID, remote ID, or UTM must be provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_MARKETING_ENGAGEMENT_ARGUMENTS", + "description": "For activity level engagement, either the marketing activity ID or remote ID must be provided. For channel level engagement, the channel handle must be provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_MARKETING_ENGAGEMENT_ARGUMENT_MISSING", + "description": "No identifier found. For activity level engagement, either the marketing activity ID or remote ID must be provided. For channel level engagement, the channel handle must be provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_REMOTE_ID", + "description": "The remote ID does not correspond to an existing activity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETING_ACTIVITY_CURRENCY_CODE_MISMATCH", + "description": "The currency codes provided need to match the referenced marketing activity's currency code.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETING_ACTIVITY_DOES_NOT_EXIST", + "description": "Marketing activity does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETING_EVENT_DOES_NOT_EXIST", + "description": "Marketing activity is not valid, the associated marketing event does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_HIERARCHIAL_REQUIRES_UTM_URL_PARAMETER", + "description": "Non-hierarchical marketing activities must have UTM parameters or a URL parameter value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingBudget", + "description": "This type combines budget amount and its marketing budget type.", + "fields": [ + { + "name": "budgetType", + "description": "The budget type for a marketing activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingBudgetBudgetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "total", + "description": "The amount of budget for marketing activity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingBudgetBudgetType", + "description": "The budget type for a marketing activity.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DAILY", + "description": "A daily budget.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIFETIME", + "description": "A budget for the lifetime of a marketing activity.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingChannel", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISPLAY", + "description": "Displayed ads.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL", + "description": "Email.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFERRAL", + "description": "Referral links.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEARCH", + "description": "Paid search.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SOCIAL", + "description": "Social media.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingEngagement", + "description": "Marketing engagement represents customer activity taken on a marketing activity or a marketing channel.", + "fields": [ + { + "name": "adSpend", + "description": "The total ad spend for the marketing content. Recurring weekly, monthly, or yearly spend needs to be divided into daily amounts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelHandle", + "description": "The unique string identifier of the channel to which the engagement metrics are being provided. This should be set when and only when providing channel-level engagements. This should be nil when providing activity-level engagements. For the correct handle for your channel, contact your partner manager.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clicksCount", + "description": "The total number of interactions, such as a button press or a screen touch, that occurred on the marketing content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentsCount", + "description": "The total number of comments on the marketing content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complaintsCount", + "description": "The total number of complaints on the marketing content. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were marked as spam. For social media platforms, this represents the number of dislikes or the number of times marketing content was reported.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failsCount", + "description": "The total number of fails for the marketing content. For message-based platforms such as email or SMS, this represents the number of bounced marketing emails or messages.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "favoritesCount", + "description": "The total number of favorites, likes, saves, or bookmarks on the marketing content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstTimeCustomers", + "description": "The number of customers that have placed their first order. Doesn't include adjustments such as edits, exchanges, or returns.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "impressionsCount", + "description": "The total number of times marketing content was displayed to users, whether or not an interaction occurred. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were delivered.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isCumulative", + "description": "Specifies how the provided metrics have been aggregated. Cumulative metrics are aggregated from the first day of reporting up to and including `occuredOn`. Non-cumulative metrics are aggregated over the single day indicated in `occuredOn`. Cumulative metrics will monotonically increase in time as each record includes the previous day's values, and so on. Non-cumulative is strongly preferred, and support for cumulative metrics may be deprecated in the future.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivity", + "description": "The marketing activity object related to this engagement. This corresponds to the marketingActivityId passed in on creation of the engagement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "occurredOn", + "description": "The date for which the metrics are being reported, from 0:00:00 to 23:59:59 in the time zone specified by `timeZone`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "The number of orders generated from the marketing content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returningCustomers", + "description": "The number of returning customers that have placed an order. Doesn't include adjustments such as edits, exchanges, or returns.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sales", + "description": "The amount of sales generated from the marketing content.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sendsCount", + "description": "The total number of marketing emails or messages that were sent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sessionsCount", + "description": "The number of online store sessions generated from the marketing content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharesCount", + "description": "The total number of times marketing content was distributed or reposted to either one's own network of followers through a social media platform or other digital channels. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were forwarded.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uniqueClicksCount", + "description": "The total number of unique clicks on the marketing content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uniqueViewsCount", + "description": "The total number of all users who saw marketing content since it was published. For message-based platforms such as email or SMS, this represents the number of unique users that opened a marketing email or message. For video-based content, this represents the number of unique users that played video content.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unsubscribesCount", + "description": "The total number of unsubscribes on the marketing content. For social media platforms, this represents the number of unfollows.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utcOffset", + "description": "The time difference, in hours, between UTC and the time zone used to aggregate these metrics.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UtcOffset", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewsCount", + "description": "The total number of views on the marketing content. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were opened. For video-based content, this represents the number of times videos were played.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingEngagementCreatePayload", + "description": "Return type for `marketingEngagementCreate` mutation.", + "fields": [ + { + "name": "marketingEngagement", + "description": "The marketing engagement that was created. This represents customer activity taken on a marketing activity or a marketing channel.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingEngagement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MarketingEngagementInput", + "description": "The input fields for a marketing engagement.", + "fields": null, + "inputFields": [ + { + "name": "adSpend", + "description": "The total ad spend for the marketing content. Recurring weekly, monthly, or yearly spend needs to be divided into daily amounts.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clicksCount", + "description": "The total number of interactions, such as a button press or a screen touch, that occurred on the marketing content.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentsCount", + "description": "The total number of comments on the marketing content.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "complaintsCount", + "description": "The total number of complaints on the marketing content. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were marked as spam. For social media platforms, this represents the number of dislikes or the number of times marketing content was reported.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failsCount", + "description": "The total number of fails for the marketing content. For message-based platforms such as email or SMS, this represents the number of bounced marketing emails or messages.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "favoritesCount", + "description": "The total number of favorites, likes, saves, or bookmarks on the marketing content.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstTimeCustomers", + "description": "The number of customers that have placed their first order. Doesn't include adjustments such as edits, exchanges, or returns.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "impressionsCount", + "description": "The total number of times marketing content was displayed to users, whether or not an interaction occurred. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were delivered.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isCumulative", + "description": "Specifies how the provided metrics have been aggregated. Cumulative metrics are aggregated from the first day of reporting up to and including `occuredOn`. Non-cumulative metrics are aggregated over the single day indicated in `occuredOn`. Cumulative metrics will monotonically increase in time as each record includes the previous day's values, and so on. Non-cumulative is strongly preferred, and support for cumulative metrics may be deprecated in the future.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "occurredOn", + "description": "The date for which the metrics are being reported, from 0:00:00 to 23:59:59 in the time zone specified by `timeZone`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "The number of orders generated from the marketing content.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returningCustomers", + "description": "The number of returning customers that have placed an order. Doesn't include adjustments such as edits, exchanges, or returns.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sales", + "description": "The amount of sales generated from the marketing content.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sendsCount", + "description": "The total number of marketing emails or messages that were sent.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sessionsCount", + "description": "The number of online store sessions generated from the marketing content.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharesCount", + "description": "The total number of times marketing content was distributed or reposted to either one's own network of followers through a social media platform or other digital channels. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were forwarded.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uniqueClicksCount", + "description": "The total number of unique clicks on the marketing content.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uniqueViewsCount", + "description": "The total number of all users who saw marketing content since it was published. For message-based platforms such as email or SMS, this represents the number of unique users that opened a marketing email or message. For video-based content, this represents the number of unique users that played video content.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unsubscribesCount", + "description": "The total number of unsubscribes on the marketing content. For social media platforms, this represents the number of unfollows.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utcOffset", + "description": "The time difference, in hours, between UTC and the time zone used to aggregate these metrics.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UtcOffset", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "viewsCount", + "description": "The total number of views on the marketing content. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were opened. For video-based content, this represents the number of times videos were played.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingEngagementsDeletePayload", + "description": "Return type for `marketingEngagementsDelete` mutation.", + "fields": [ + { + "name": "result", + "description": "Informational message about the engagement data that has been marked for deletion.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingEvent", + "description": "Represents actions that market a merchant's store or products.", + "fields": [ + { + "name": "app", + "description": "The app that the marketing event is attributed to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channel", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketingChannel", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `marketingChannelType` instead." + }, + { + "name": "channelHandle", + "description": "The unique string identifier of the channel to which this activity belongs. For the correct handle for your channel, contact your partner manager.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A human-readable description of the marketing event.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endedAt", + "description": "The date and time when the marketing event ended.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manageUrl", + "description": "The URL where the marketing event can be managed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingChannelType", + "description": "The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MarketingChannel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previewUrl", + "description": "The URL where the marketing event can be previewed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteId", + "description": "An optional ID that helps Shopify validate engagement data.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scheduledToEndAt", + "description": "The date and time when the marketing event is scheduled to end.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceAndMedium", + "description": "Where the `MarketingEvent` occurred and what kind of content was used.\nBecause `utmSource` and `utmMedium` are often used interchangeably, this is\nbased on a combination of `marketingChannel`, `referringDomain`, and `type` to\nprovide a consistent representation for any given piece of marketing\nregardless of the app that created it.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startedAt", + "description": "The date and time when the marketing event started.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetTypeDisplayText", + "description": "The display text for the marketing event type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `sourceAndMedium` instead." + }, + { + "name": "type", + "description": "The marketing event type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketingTactic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utmCampaign", + "description": "The name of the marketing campaign.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utmMedium", + "description": "The medium that the marketing campaign is using. Example values: `cpc`, `banner`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utmSource", + "description": "The referrer of the marketing event. Example values: `google`, `newsletter`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingEventConnection", + "description": "An auto-generated type for paginating through multiple MarketingEvents.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingEventEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MarketingEventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingEvent", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MarketingEventEdge", + "description": "An auto-generated type which holds one MarketingEvent and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MarketingEventEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingEvent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingEventSortKeys", + "description": "The set of valid sort keys for the MarketingEvent query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STARTED_AT", + "description": "Sort by the `started_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MarketingTactic", + "description": "The available types of tactics for a marketing activity.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ABANDONED_CART", + "description": "An abandoned cart recovery email.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AD", + "description": "An ad, such as a Facebook ad.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AFFILIATE", + "description": "An affiliate link.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINK", + "description": "A link.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOYALTY", + "description": "A loyalty program.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MESSAGE", + "description": "A messaging app, such as Facebook Messenger.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEWSLETTER", + "description": "A newsletter.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOTIFICATION", + "description": "A notification in the Shopify admin.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POST", + "description": "A blog post.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETARGETING", + "description": "A retargeting ad.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEO", + "description": "Search engine optimization.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STOREFRONT_APP", + "description": "A popup on the online store.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSACTIONAL", + "description": "A transactional email.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Media", + "description": "Represents a media interface.", + "fields": [ + { + "name": "alt", + "description": "A word or phrase to share the nature or contents of a media.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaContentType", + "description": "The media content type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaContentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaErrors", + "description": "Any errors which have occurred on the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaWarnings", + "description": "The warnings attached to the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": "The preview image for the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ExternalVideo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MediaImage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Model3d", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Video", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "MediaConnection", + "description": "An auto-generated type for paginating through multiple Media.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MediaEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MediaContentType", + "description": "The possible content types for a media object.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EXTERNAL_VIDEO", + "description": "An externally hosted video.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE", + "description": "A Shopify-hosted image.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL_3D", + "description": "A 3d model.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO", + "description": "A Shopify-hosted video.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MediaEdge", + "description": "An auto-generated type which holds one Media and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MediaEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MediaError", + "description": "Represents a media error. This typically occurs when there is an issue with the media itself causing it to fail validation.\nCheck the media before attempting to upload again.", + "fields": [ + { + "name": "code", + "description": "Code representing the type of error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaErrorCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "details", + "description": "Additional details regarding the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Translated error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MediaErrorCode", + "description": "Error types for media.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUPLICATE_FILENAME_ERROR", + "description": "Media could not be created because a file with the same name already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_EMBED_DISABLED", + "description": "Media could not be created because embed permissions are disabled for this video.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_EMBED_NOT_FOUND_OR_TRANSCODING", + "description": "Media could not be created because video is either not found or still transcoding.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_INVALID_ASPECT_RATIO", + "description": "Media could not be created because the external video has an invalid aspect ratio.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_NOT_FOUND", + "description": "Media could not be created because the external video could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXTERNAL_VIDEO_UNLISTED", + "description": "Media could not be created because the external video is not listed or is private.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE_STORAGE_LIMIT_EXCEEDED", + "description": "Media could not be created because the cumulative file storage limit would be exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_FILE_DOWNLOAD_FAILURE", + "description": "File could not be processed because the source could not be downloaded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_FILE_INVALID_SIZE", + "description": "File could not be created because the size is too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE_DOWNLOAD_FAILURE", + "description": "Media could not be processed because the image could not be downloaded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE_PROCESSING_FAILURE", + "description": "Media could not be processed because the image could not be processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_IMAGE_ASPECT_RATIO", + "description": "Media could not be created because the image has an invalid aspect ratio.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_IMAGE_FILE_SIZE", + "description": "Media could not be created because the image size is too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_IMAGE_RESOLUTION", + "description": "Media could not be created because the image's resolution exceeds the max limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_SIGNED_URL", + "description": "Media could not be processed because the signed URL was invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIA_TIMEOUT_ERROR", + "description": "Media timed out because it is currently being modified by another operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_GLB_OUTPUT_CREATION_ERROR", + "description": "Media could not be created because the model file failed processing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_GLB_TO_USDZ_CONVERSION_ERROR", + "description": "Media could not be created because the model can't be converted to USDZ format.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_PROCESSING_FAILURE", + "description": "Media could not be created because the model file failed processing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_THUMBNAIL_GENERATION_ERROR", + "description": "Media could not be created because the model's thumbnail generation failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_THUMBNAIL_REGENERATION_ERROR", + "description": "There was an issue while trying to generate a new thumbnail.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_VALIDATION_ERROR", + "description": "Model failed validation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Media error has occured for unknown reason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_IMAGE_FILE_TYPE", + "description": "Media could not be created because the image is an unsupported file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_INVALID_FILETYPE_ERROR", + "description": "Media could not be created because it has an invalid file type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MAX_DURATION_ERROR", + "description": "Media could not be created because it does not meet the maximum duration requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MAX_HEIGHT_ERROR", + "description": "Media could not be created because it does not meet the maximum height requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MAX_WIDTH_ERROR", + "description": "Media could not be created because it does not meet the maximum width requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_METADATA_READ_ERROR", + "description": "Media could not be created because the metadata could not be read.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MIN_DURATION_ERROR", + "description": "Media could not be created because it does not meet the minimum duration requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MIN_HEIGHT_ERROR", + "description": "Media could not be created because it does not meet the minimum height requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_MIN_WIDTH_ERROR", + "description": "Media could not be created because it does not meet the minimum width requirement.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_VALIDATION_ERROR", + "description": "Video failed validation.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MediaHost", + "description": "Host for a Media Resource.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "VIMEO", + "description": "Host for Vimeo embedded videos.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YOUTUBE", + "description": "Host for YouTube embedded videos.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MediaImage", + "description": "An image hosted on Shopify.", + "fields": [ + { + "name": "alt", + "description": "A word or phrase to share the nature or contents of a media.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileErrors", + "description": "Any errors that have occurred on the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileStatus", + "description": "The status of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FileStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The image for the media. Returns `null` until `status` is `READY`.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaContentType", + "description": "The media content type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaContentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaErrors", + "description": "Any errors which have occurred on the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaWarnings", + "description": "The warnings attached to the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mimeType", + "description": "The MIME type of the image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSource", + "description": "The original source of the image.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaImageOriginalSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": "The preview image for the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "status", + "description": "Current status of the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "File", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MediaImageOriginalSource", + "description": "The original source for an image.", + "fields": [ + { + "name": "fileSize", + "description": "The size of the original file in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL of the original image, valid only for a short period.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "description": "Represents the preview image for a media.", + "fields": [ + { + "name": "image", + "description": "The preview image for the media. Returns `null` until `status` is `READY`.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the preview image.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaPreviewImageStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MediaPreviewImageStatus", + "description": "The possible statuses for a media preview image.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "Preview image processing has failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING", + "description": "Preview image is being processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READY", + "description": "Preview image is ready to be displayed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPLOADED", + "description": "Preview image is uploaded but not yet processed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MediaStatus", + "description": "The possible statuses for a media object.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "Media processing has failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING", + "description": "Media is being processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READY", + "description": "Media is ready to be displayed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPLOADED", + "description": "Media has been uploaded but not yet processed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MediaUserError", + "description": "Represents an error that happens during execution of a Media query or mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MediaUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MediaUserErrorCode", + "description": "Possible error codes that can be returned by `MediaUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_MEDIA_TYPE", + "description": "Invalid media type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_VARIANT_MEDIA_PAIRS_EXCEEDED", + "description": "Exceeded the maximum number of 100 variant-media pairs per mutation call.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIA_CANNOT_BE_MODIFIED", + "description": "Media cannot be modified. It is currently being modified by another operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIA_DOES_NOT_EXIST", + "description": "Media does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIA_DOES_NOT_EXIST_ON_PRODUCT", + "description": "Media does not exist on the given product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIA_IS_NOT_ATTACHED_TO_VARIANT", + "description": "The specified media is not attached to the specified variant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_ARGUMENTS", + "description": "Missing arguments.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_THROTTLE_EXCEEDED", + "description": "Model3d creation throttle was exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL3D_VALIDATION_ERROR", + "description": "Model validation failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_READY_MEDIA", + "description": "Non-ready media are not supported.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_MEDIA_LIMIT_EXCEEDED", + "description": "Exceeded the limit of media per product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_ALREADY_HAS_MEDIA", + "description": "Product variant already has attached media.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_DOES_NOT_EXIST_ON_PRODUCT", + "description": "Variant does not exist on the given product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_SPECIFIED_MULTIPLE_TIMES", + "description": "Variant specified in more than one pair.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_MEDIA_LIMIT_EXCEEDED", + "description": "Exceeded the limit of media per shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_MEDIA_PER_INPUT_PAIR", + "description": "Only one mediaId is allowed per variant-media input pair.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_THROTTLE_EXCEEDED", + "description": "Video creation throttle was exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO_VALIDATION_ERROR", + "description": "Video validation failed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MediaWarning", + "description": "Represents a media warning. This occurs when there is a non-blocking concern regarding your media.\nConsider reviewing your media to ensure it is correct and its parameters are as expected.", + "fields": [ + { + "name": "code", + "description": "The code representing the type of warning.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaWarningCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "Translated warning message.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MediaWarningCode", + "description": "Warning types for media.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MODEL_LARGE_PHYSICAL_SIZE", + "description": "3D model physical size might be invalid. The dimensions of your model are very large. Consider reviewing your model to ensure they are correct.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL_SMALL_PHYSICAL_SIZE", + "description": "3D model physical size might be invalid. The dimensions of your model are very small. Consider reviewing your model to ensure they are correct.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Menu", + "description": "A menu for display on the storefront.", + "fields": [ + { + "name": "handle", + "description": "The menus's handle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDefault", + "description": "Whether the menu is a default. The handle for default menus can't be updated and default menus can't be deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "A list of items on the menu sorted by position.", + "args": [ + { + "name": "limit", + "description": "The number of menu items to be returned.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The menu's title.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuConnection", + "description": "An auto-generated type for paginating through multiple Menus.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MenuEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Menu", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuCreatePayload", + "description": "Return type for `menuCreate` mutation.", + "fields": [ + { + "name": "menu", + "description": "The created menu.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Menu", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuCreateUserError", + "description": "An error that occurs during the execution of `MenuCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MenuCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MenuCreateUserErrorCode", + "description": "Possible error codes that can be returned by `MenuCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NESTING_TOO_DEEP", + "description": "The menu cannot be nested more than 3 level deep.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuDeletePayload", + "description": "Return type for `menuDelete` mutation.", + "fields": [ + { + "name": "deletedMenuId", + "description": "The ID of the deleted menu.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuDeleteUserError", + "description": "An error that occurs during the execution of `MenuDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MenuDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MenuDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `MenuDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MENU_DOES_NOT_EXIST", + "description": "Menu does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNABLE_TO_DELETE_DEFAULT_MENU", + "description": "Default menu cannot be deleted.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuEdge", + "description": "An auto-generated type which holds one Menu and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MenuEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Menu", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuItem", + "description": "A menu item for display on the storefront.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID of the online store navigation menu item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "List of the menu items nested under this item sorted by position.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "The ID of the resource to link to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The menu item's tags to filter a collection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The menu item's title.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The menu item's type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenuItemType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The menu item's url.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MenuItemCreateInput", + "description": "The input fields required to create a valid Menu item.", + "fields": null, + "inputFields": [ + { + "name": "items", + "description": "List of the menu items nested under this item sorted by position.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MenuItemCreateInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "The menu item's association with an existing resource.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The menu item's tags to filter a collection.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The menu item's title.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The menu item's type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenuItemType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The menu item's url to be used when the item doesn't point to a resource.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MenuItemType", + "description": "A menu item type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARTICLE", + "description": "The article menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOG", + "description": "The blog menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG", + "description": "The catalog menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION", + "description": "The collection menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTIONS", + "description": "The collections menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_ACCOUNT_PAGE", + "description": "The customer_account_page menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRONTPAGE", + "description": "The frontpage menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HTTP", + "description": "The http menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAOBJECT", + "description": "The metaobject menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAGE", + "description": "The page menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "The product menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEARCH", + "description": "The search menu item type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_POLICY", + "description": "The shop_policy menu item type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MenuItemUpdateInput", + "description": "The input fields required to update a valid Menu item.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "A globally-unique ID of the online store navigation menu item.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "List of the menu items nested under this item sorted by position.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MenuItemUpdateInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "The menu item's association with an existing resource.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The menu item's tags to filter a collection.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The menu item's title.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The menu item's type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MenuItemType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The menu item's url to be used when the item doesn't point to a resource.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MenuSortKeys", + "description": "The set of valid sort keys for the Menu query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuUpdatePayload", + "description": "Return type for `menuUpdate` mutation.", + "fields": [ + { + "name": "menu", + "description": "The updated menu.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Menu", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MenuUpdateUserError", + "description": "An error that occurs during the execution of `MenuUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MenuUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MenuUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `MenuUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NESTING_TOO_DEEP", + "description": "The menu cannot be nested more than 3 level deep.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MerchandiseDiscountClass", + "description": "The class of the discount for combining purposes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ORDER", + "description": "Combined as an order discount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "Combined as a product discount.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MerchantApprovalSignals", + "description": "Merchant approval for accelerated onboarding to channel integration apps.", + "fields": [ + { + "name": "identityVerified", + "description": "Whether the shop's Shopify Payments account identity is verified. Returns `false` if the identity is unverified or if the shop doesn't have a Shopify Payments account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedByShopify", + "description": "Whether Shopify has pre-verified the merchant's business for onboarding to channel integration apps. Returns `false` if the shop isn't marked for verification.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "verifiedByShopifyTier", + "description": "Which tier of the Shopify verification was determined for the merchant's business for onboarding to channel integration apps.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Metafield", + "description": "Metafields enable you to attach additional information to a Shopify resource, such as a [Product](https://shopify.dev/api/admin-graphql/latest/objects/product) or a [Collection](https://shopify.dev/api/admin-graphql/latest/objects/collection).\nFor more information about where you can attach metafields refer to [HasMetafields](https://shopify.dev/api/admin/graphql/reference/common-objects/HasMetafields).\nSome examples of the data that metafields enable you to store are specifications, size charts, downloadable documents, release dates, images, or part numbers.\nMetafields are identified by an owner resource, namespace, and key. and store a value along with type information for that value.", + "fields": [ + { + "name": "compareDigest", + "description": "The data stored in the resource, represented as a digest.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the metafield was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "definition", + "description": "The metafield definition that the metafield belongs to, if any.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the metafield.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jsonValue", + "description": "The data stored in the metafield in JSON format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The unique identifier for the metafield within its namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container for a group of metafields that the metafield is associated with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "owner", + "description": "The resource that the metafield is attached to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "The type of resource that the metafield is attached to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Returns a reference object if the metafield definition's type is a resource reference.", + "args": [], + "type": { + "kind": "UNION", + "name": "MetafieldReference", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "references", + "description": "A list of reference objects if the metafield's type is a resource reference list.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldReferenceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of data that is stored in the metafield.\nRefer to the list of [supported types](https://shopify.dev/apps/metafields/types).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the metafield was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The data stored in the metafield. Always stored as a string, regardless of the metafield's type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasCompareDigest", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldAccess", + "description": "The access settings for this metafield definition.", + "fields": [ + { + "name": "admin", + "description": "The default admin access setting used for the metafields under this definition.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldAdminAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccount", + "description": "The customer account access setting used for the metafields under this definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldCustomerAccountAccess", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grants", + "description": "The explicit grants for this metafield definition, superseding the default admin access\nfor the specified grantees.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldAccessGrant", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Explicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields).\n" + }, + { + "name": "storefront", + "description": "The storefront access setting used for the metafields under this definition.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldStorefrontAccess", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldAccessGrant", + "description": "An explicit access grant for the metafields under this definition.\n\nExplicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields).", + "fields": [ + { + "name": "access", + "description": "The level of access the grantee has.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldGrantAccessLevel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grantee", + "description": "The grantee being granted access.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessGrantDeleteInput", + "description": "The input fields for an explicit access grant to be deleted for the metafields under this definition.", + "fields": null, + "inputFields": [ + { + "name": "grantee", + "description": "The grantee whose grant should be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessGrantInput", + "description": "The input fields for an explicit access grant to be created or updated for the metafields under this definition.\n\nExplicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields).", + "fields": null, + "inputFields": [ + { + "name": "access", + "description": "The level of access being granted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldGrantAccessLevel", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "grantee", + "description": "The grantee being granted access.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessGrantOperationInput", + "description": "The input fields for possible operations for modifying access grants. Exactly one option is required.\n\nExplicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields).", + "fields": null, + "inputFields": [ + { + "name": "create", + "description": "The input fields for an explicit access grant to be created or updated for the metafields under this definition.\n\nExplicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields).", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessGrantInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delete", + "description": "The input fields for an explicit access grant to be deleted for the metafields under this definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessGrantDeleteInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "update", + "description": "The input fields for an explicit access grant to be created or updated for the metafields under this definition.\n\nExplicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields).", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessGrantInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessInput", + "description": "The input fields for the access settings for the metafields under the definition.", + "fields": null, + "inputFields": [ + { + "name": "admin", + "description": "The admin access setting to use for the metafields under this definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldAdminAccessInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccount", + "description": "The Customer Account API access setting to use for the metafields under this definition.", + "type": { + "kind": "ENUM", + "name": "MetafieldCustomerAccountAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefront", + "description": "The storefront access setting to use for the metafields under this definition.", + "type": { + "kind": "ENUM", + "name": "MetafieldStorefrontAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessUpdateInput", + "description": "The input fields for the access settings for the metafields under the definition.", + "fields": null, + "inputFields": [ + { + "name": "admin", + "description": "The admin access setting to use for the metafields under this definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldAdminAccessInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccount", + "description": "The Customer Account API access setting to use for the metafields under this definition.", + "type": { + "kind": "ENUM", + "name": "MetafieldCustomerAccountAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefront", + "description": "The storefront access setting to use for the metafields under this definition.", + "type": { + "kind": "ENUM", + "name": "MetafieldStorefrontAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldAdminAccess", + "description": "Possible admin access settings for metafields.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERCHANT_READ", + "description": "Owner gets full access. The merchant has read-only access. No one else has access rights.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_READ_WRITE", + "description": "Owner gets full access. The merchant has read and write access. No one else has access rights.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIVATE", + "description": "Owner gets full access. No one else has access rights.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ", + "description": "Owner gets full access. All applications and the merchant have read-only access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ_WRITE", + "description": "Owner gets full access. All applications and the merchant have read and write access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldAdminAccessInput", + "description": "The possible values for setting metafield Admin API access.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERCHANT_READ", + "description": "Owner gets full access. The merchant has read-only access. No one else has access rights.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_READ_WRITE", + "description": "Owner gets full access. The merchant has read and write access. No one else has access rights.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIVATE", + "description": "Owner gets full access. No one else has access rights.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ", + "description": "Owner gets full access. All applications and the merchant have read-only access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ_WRITE", + "description": "Owner gets full access. All applications and the merchant have read and write access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldCapabilities", + "description": "Provides the capabilities of a metafield definition.", + "fields": [ + { + "name": "adminFilterable", + "description": "Indicate whether a metafield definition is configured for filtering.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldCapabilityAdminFilterable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "smartCollectionCondition", + "description": "Indicate whether a metafield definition can be used as a smart collection condition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldCapabilitySmartCollectionCondition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldCapabilityAdminFilterable", + "description": "Information about the admin filterable capability on a metafield definition.", + "fields": [ + { + "name": "eligible", + "description": "Indicates if the definition is eligible to have the capability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates if the capability is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Determines the metafield definition's filter status for use in admin filtering.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldDefinitionAdminFilterStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilityAdminFilterableInput", + "description": "The input fields for enabling and disabling the admin filterable capability.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "Indicates whether the capability should be enabled or disabled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilityCreateInput", + "description": "The input fields for creating a metafield capability.", + "fields": null, + "inputFields": [ + { + "name": "adminFilterable", + "description": "The input for updating the admin filterable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilityAdminFilterableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "smartCollectionCondition", + "description": "The input for updating the smart collection condition capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilitySmartCollectionConditionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldCapabilitySmartCollectionCondition", + "description": "Information about the smart collection condition capability on a metafield definition.", + "fields": [ + { + "name": "eligible", + "description": "Indicates if the definition is eligible to have the capability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates if the capability is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilitySmartCollectionConditionInput", + "description": "The input fields for enabling and disabling the smart collection condition capability.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "Indicates whether the capability should be enabled or disabled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilityUpdateInput", + "description": "The input fields for updating a metafield capability.", + "fields": null, + "inputFields": [ + { + "name": "adminFilterable", + "description": "The input for updating the admin filterable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilityAdminFilterableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "smartCollectionCondition", + "description": "The input for updating the smart collection condition capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilitySmartCollectionConditionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldConnection", + "description": "An auto-generated type for paginating through multiple Metafields.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetafieldEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldCustomerAccountAccess", + "description": "Defines how the metafields of a definition can be accessed in the Customer Account API.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "The Customer Account API cannot access metafields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ", + "description": "The Customer Account API can read metafields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_WRITE", + "description": "The Customer Account API can read and write metafields.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldCustomerAccountAccessInput", + "description": "The possible values for setting metafield Customer Account API access.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "The Customer Account API cannot access metafields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ", + "description": "The Customer Account API can read metafields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_WRITE", + "description": "The Customer Account API can read and write metafields.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "description": "Metafield definitions enable you to define additional validation constraints for metafields, and enable the\nmerchant to edit metafield values in context.", + "fields": [ + { + "name": "access", + "description": "The access settings associated with the metafield definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldAccess", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capabilities", + "description": "The capabilities of the metafield definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldCapabilities", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "constraints", + "description": "The constraints that determine what subtypes of resources a metafield definition applies to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraints", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the metafield definition.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The unique identifier for the metafield definition within its namespace.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The metafields that belong to the metafield definition.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationStatus", + "description": "Returns the metafields filtered by the validation status.", + "type": { + "kind": "ENUM", + "name": "MetafieldValidationStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldsCount", + "description": "The count of the metafields that belong to the metafield definition.", + "args": [ + { + "name": "validationStatus", + "description": "The current validation status.", + "type": { + "kind": "ENUM", + "name": "MetafieldValidationStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human-readable name of the metafield definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container for a group of metafields that the metafield definition is associated with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "The resource type that the metafield definition is attached to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedPosition", + "description": "The position of the metafield definition in the pinned list.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standardTemplate", + "description": "The standard metafield definition template associated with the metafield definition.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplate", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of data that each of the metafields that belong to the metafield definition will store.\nRefer to the list of [supported types](https://shopify.dev/apps/metafields/types).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useAsCollectionCondition", + "description": "Whether the metafield definition can be used as a collection condition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationStatus", + "description": "The validation status for the metafields that belong to the metafield definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldDefinitionValidationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for\nthe metafields that belong to the metafield definition. For example, for a metafield definition with the\ntype `date`, you can set a minimum date validation so that each of the metafields that belong to it can only\nstore dates after the specified minimum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionValidation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleToStorefrontApi", + "description": "Whether each of the metafields that belong to the metafield definition are visible from the Storefront API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `access.storefront` instead." + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionAdminFilterStatus", + "description": "Possible filter statuses associated with a metafield definition for use in admin filtering.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "The metafield definition has failed to be enabled for admin filtering.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILTERABLE", + "description": "The metafield definition allows admin filtering by matching metafield values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "The metafield definition's metafields are currently being processed for admin filtering.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FILTERABLE", + "description": "The metafield definition cannot be used for admin filtering.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "description": "An auto-generated type for paginating through multiple MetafieldDefinitions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetafieldDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionConstraintStatus", + "description": "Metafield definition constraint criteria to filter metafield definitions by.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONSTRAINED_AND_UNCONSTRAINED", + "description": "Returns both constrained and unconstrained metafield definitions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONSTRAINED_ONLY", + "description": "Only returns metafield definitions that are constrained to a resource subtype.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNCONSTRAINED_ONLY", + "description": "Only returns metafield definitions that are not constrained to a resource subtype.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionConstraintSubtypeIdentifier", + "description": "The input fields used to identify a subtype of a resource for the purposes of metafield definition constraints.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The category of the resource subtype.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The specific subtype value within the identified subtype category.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraintValue", + "description": "A constraint subtype value that the metafield definition applies to.", + "fields": [ + { + "name": "value", + "description": "The subtype value of the constraint.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraintValueConnection", + "description": "An auto-generated type for paginating through multiple MetafieldDefinitionConstraintValues.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraintValueEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetafieldDefinitionConstraintValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraintValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraintValueEdge", + "description": "An auto-generated type which holds one MetafieldDefinitionConstraintValue and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetafieldDefinitionConstraintValueEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraintValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraints", + "description": "The constraints that determine what subtypes of resources a metafield definition applies to.", + "fields": [ + { + "name": "key", + "description": "The category of resource subtypes that the definition applies to.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "The specific constraint subtype values that the definition applies to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConstraintValueConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionCreatePayload", + "description": "Return type for `metafieldDefinitionCreate` mutation.", + "fields": [ + { + "name": "createdDefinition", + "description": "The metafield definition that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionCreateUserError", + "description": "An error that occurs during the execution of `MetafieldDefinitionCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "elementIndex", + "description": "The index of the array element that's causing the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionCreateUserErrorCode", + "description": "Possible error codes that can be returned by `MetafieldDefinitionCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUPLICATE_OPTION", + "description": "A duplicate option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GRANT_LIMIT_EXCEEDED", + "description": "The maximum limit of grants per definition type has been exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CAPABILITY", + "description": "The metafield definition capability is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CHARACTER", + "description": "A field contains an invalid character.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT_COMBINATION", + "description": "The input combination is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_OPTION", + "description": "An invalid option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIMIT_EXCEEDED", + "description": "The maximum limit of definitions per owner type has exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER_TYPE_LIMIT_EXCEEDED_FOR_AUTOMATED_COLLECTIONS", + "description": "You have reached the maximum allowed definitions for automated collections.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PINNED_LIMIT_REACHED", + "description": "The pinned limit has been reached for the owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESERVED_NAMESPACE_KEY", + "description": "This namespace and key combination is reserved for standard definitions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOURCE_TYPE_LIMIT_EXCEEDED", + "description": "The definition limit per owner type has exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_NOT_ALLOWED_FOR_CONDITIONS", + "description": "The definition type is not eligible to be used as collection condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSTRUCTURED_ALREADY_EXISTS", + "description": "This namespace and key combination is already in use for a set of your metafields.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionDeletePayload", + "description": "Return type for `metafieldDefinitionDelete` mutation.", + "fields": [ + { + "name": "deletedDefinitionId", + "description": "The ID of the deleted metafield definition.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionDeleteUserError", + "description": "An error that occurs during the execution of `MetafieldDefinitionDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `MetafieldDefinitionDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISALLOWED_OWNER_TYPE", + "description": "Owner type can't be used in this mutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAFIELD_DEFINITION_IN_USE", + "description": "Action cannot proceed. Definition is currently in use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Definition not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFERENCE_TYPE_DELETION_ERROR", + "description": "Deleting a reference type metafield definition requires deletion of its associated metafields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESERVED_NAMESPACE_ORPHANED_METAFIELDS", + "description": "Deleting a definition in a reserved namespace requires deletion of its associated metafields.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionEdge", + "description": "An auto-generated type which holds one MetafieldDefinition and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetafieldDefinitionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionInput", + "description": "The input fields required to create a metafield definition.", + "fields": null, + "inputFields": [ + { + "name": "access", + "description": "The access settings that apply to each of the metafields that belong to the metafield definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capabilities", + "description": "The capabilities of the metafield definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilityCreateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description for the metafield definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The unique identifier for the metafield definition within its namespace.\n\nMust be 3-64 characters long and only contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human-readable name for the metafield definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container for a group of metafields that the metafield definition will be associated with. If omitted, the\napp-reserved namespace will be used.\n\nMust be 3-255 characters long and only contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "The resource type that the metafield definition is attached to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pin", + "description": "Whether to [pin](https://help.shopify.com/manual/custom-data/metafields/pinning-metafield-definitions)\nthe metafield definition.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of data that each of the metafields that belong to the metafield definition will store.\nRefer to the list of [supported types](https://shopify.dev/apps/metafields/types).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for\nthe metafields that belong to the metafield definition. For example, for a metafield definition with the\ntype `date`, you can set a minimum date validation so that each of the metafields that belong to it can only\nstore dates after the specified minimum.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionValidationInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionPinPayload", + "description": "Return type for `metafieldDefinitionPin` mutation.", + "fields": [ + { + "name": "pinnedDefinition", + "description": "The metafield definition that was pinned.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionPinUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionPinUserError", + "description": "An error that occurs during the execution of `MetafieldDefinitionPin`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionPinUserErrorCode", + "description": "Possible error codes that can be returned by `MetafieldDefinitionPinUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALREADY_PINNED", + "description": "The metafield definition is already pinned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISALLOWED_OWNER_TYPE", + "description": "Owner type can't be used in this mutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The metafield definition was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PINNED_LIMIT_REACHED", + "description": "The pinned limit has been reached for owner type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "description": "Possible metafield definition pinned statuses.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANY", + "description": "All metafield definitions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PINNED", + "description": "Only metafield definitions that are pinned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNPINNED", + "description": "Only metafield definitions that are not pinned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "description": "The set of valid sort keys for the MetafieldDefinition query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PINNED_POSITION", + "description": "Sort by the `pinned_position` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionSupportedValidation", + "description": "The type and name for the optional validation configuration of a metafield.\n\nFor example, a supported validation might consist of a `max` name and a `number_integer` type.\nThis validation can then be used to enforce a maximum character length for a `single_line_text_field` metafield.", + "fields": [ + { + "name": "name", + "description": "The name of the metafield definition validation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of input for the validation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionType", + "description": "A metafield definition type provides basic foundation and validation for a metafield.", + "fields": [ + { + "name": "category", + "description": "The category associated with the metafield definition type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the type for the metafield definition.\nSee the list of [supported types](https://shopify.dev/apps/metafields/types).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportedValidations", + "description": "The supported validations for a metafield definition type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionSupportedValidation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportsDefinitionMigrations", + "description": "Whether metafields without a definition can be migrated to a definition of this type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueType", + "description": "The value type for a metafield created with this definition type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldValueType", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "`valueType` is deprecated and `name` should be used for type information." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionUnpinPayload", + "description": "Return type for `metafieldDefinitionUnpin` mutation.", + "fields": [ + { + "name": "unpinnedDefinition", + "description": "The metafield definition that was unpinned.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionUnpinUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionUnpinUserError", + "description": "An error that occurs during the execution of `MetafieldDefinitionUnpin`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionUnpinUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionUnpinUserErrorCode", + "description": "Possible error codes that can be returned by `MetafieldDefinitionUnpinUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISALLOWED_OWNER_TYPE", + "description": "Owner type can't be used in this mutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The metafield definition was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_PINNED", + "description": "The metafield definition isn't pinned.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionUpdateInput", + "description": "The input fields required to update a metafield definition.", + "fields": null, + "inputFields": [ + { + "name": "access", + "description": "The access settings that apply to each of the metafields that belong to the metafield definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldAccessUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capabilities", + "description": "The capabilities of the metafield definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldCapabilityUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description for the metafield definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The unique identifier for the metafield definition within its namespace. Used to help identify the metafield\ndefinition, but can't be updated itself.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human-readable name for the metafield definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container for a group of metafields that the metafield definition is associated with. Used to help identify\nthe metafield definition, but cannot be updated itself. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "The resource type that the metafield definition is attached to. Used to help identify the metafield definition,\nbut can't be updated itself.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pin", + "description": "Whether to pin the metafield definition.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for\nthe metafields that belong to the metafield definition. For example, for a metafield definition with the\ntype `date`, you can set a minimum date validation so that each of the metafields that belong to it can only\nstore dates after the specified minimum.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionValidationInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionUpdatePayload", + "description": "Return type for `metafieldDefinitionUpdate` mutation.", + "fields": [ + { + "name": "updatedDefinition", + "description": "The metafield definition that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationJob", + "description": "The asynchronous job updating the metafield definition's validation_status.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionUpdateUserError", + "description": "An error that occurs during the execution of `MetafieldDefinitionUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "elementIndex", + "description": "The index of the array element that's causing the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `MetafieldDefinitionUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CAPABILITY_CANNOT_BE_DISABLED", + "description": "The metafield definition capability cannot be disabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GRANT_LIMIT_EXCEEDED", + "description": "The maximum limit of grants per definition type has been exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CAPABILITY", + "description": "The metafield definition capability is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT", + "description": "An invalid input.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT_COMBINATION", + "description": "The input combination is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAFIELD_DEFINITION_IN_USE", + "description": "Action cannot proceed. Definition is currently in use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAOBJECT_DEFINITION_CHANGED", + "description": "You cannot change the metaobject definition pointed to by a metaobject reference metafield definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The metafield definition wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER_TYPE_LIMIT_EXCEEDED_FOR_AUTOMATED_COLLECTIONS", + "description": "You have reached the maximum allowed definitions for automated collections.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PINNED_LIMIT_REACHED", + "description": "The pinned limit has been reached for the owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_NOT_ALLOWED_FOR_CONDITIONS", + "description": "The definition type is not eligible to be used as collection condition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinitionValidation", + "description": "A configured metafield definition validation.\n\nFor example, for a metafield definition of `number_integer` type, you can set a validation with the name `max`\nand a value of `15`. This validation will ensure that the value of the metafield is a number less than or equal to 15.\n\nRefer to the [list of supported validations](https://shopify.dev/api/admin/graphql/reference/common-objects/metafieldDefinitionTypes#examples-Fetch_all_metafield_definition_types).", + "fields": [ + { + "name": "name", + "description": "The validation name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The name for the metafield type of this validation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The validation value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionValidationInput", + "description": "The name and value for a metafield definition validation.\n\nFor example, for a metafield definition of `single_line_text_field` type, you can set a validation with the name `min` and a value of `10`.\nThis validation will ensure that the value of the metafield is at least 10 characters.\n\nRefer to the [list of supported validations](https://shopify.dev/api/admin/graphql/reference/common-objects/metafieldDefinitionTypes#examples-Fetch_all_metafield_definition_types).", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "The name for the metafield definition validation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value for the metafield definition validation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldDefinitionValidationStatus", + "description": "Possible metafield definition validation statuses.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL_VALID", + "description": "All of this definition's metafields are valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "Asynchronous validation of this definition's metafields is in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SOME_INVALID", + "description": "Some of this definition's metafields are invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldDeleteInput", + "description": "The input fields to delete a metafield.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the metafield to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDeletePayload", + "description": "Return type for `metafieldDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted metafield.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldEdge", + "description": "An auto-generated type which holds one Metafield and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetafieldEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldGrantAccessLevel", + "description": "Possible access levels for explicit metafield access grants.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "READ", + "description": "Read metafield access.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READ_WRITE", + "description": "Read and write metafield access.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldIdentifier", + "description": "Identifies a metafield by its owner resource, namespace, and key.", + "fields": [ + { + "name": "key", + "description": "The key of the metafield.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the metafield.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerId", + "description": "GID of the owner resource that the metafield belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldIdentifierInput", + "description": "The input fields that identify metafields.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerId", + "description": "The unique ID of the resource that the metafield is attached to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "description": "The input fields to use to create or update a metafield through a mutation on the owning resource.\nAn alternative way to create or update a metafield is by using the\n[metafieldsSet](https://shopify.dev/api/admin-graphql/latest/mutations/metafieldsSet) mutation.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The unique ID of the metafield.\n\nRequired when updating a metafield, but shouldn't be included when creating as it's created automatically.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The unique identifier for a metafield within its namespace.\n\nRequired when creating a metafield, but optional when updating. Used to help identify the metafield when\nupdating, but can't be updated itself.\n\nMust be 3-64 characters long and can contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container for a group of metafields that the metafield is or will be associated with. Used in tandem with\n`key` to lookup a metafield on a resource, preventing conflicts with other metafields with the same `key`.\n\nRequired when creating a metafield, but optional when updating. Used to help identify the metafield when\nupdating, but can't be updated itself.\n\nMust be 3-255 characters long and can contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of data that is stored in the metafield.\nRefer to the list of [supported types](https://shopify.dev/apps/metafields/types).\n\nRequired when creating a metafield, but optional when updating.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The data stored in the metafield. Always stored as a string, regardless of the metafield's type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "description": "Possible types of a metafield's owner resource.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "API_PERMISSION", + "description": "The Api Permission metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARTICLE", + "description": "The Article metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOG", + "description": "The Blog metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CARTTRANSFORM", + "description": "The Cart Transform metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION", + "description": "The Collection metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY", + "description": "The Company metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATION", + "description": "The Company Location metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER", + "description": "The Customer metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_CUSTOMIZATION", + "description": "The Delivery Customization metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNT", + "description": "The Discount metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFTORDER", + "description": "The draft order metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_CONSTRAINT_RULE", + "description": "The Fulfillment Constraint Rule metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIFT_CARD_TRANSACTION", + "description": "The GiftCardTransaction metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATION", + "description": "The Location metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET", + "description": "The Market metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIA_IMAGE", + "description": "The Media Image metafield owner type.", + "isDeprecated": true, + "deprecationReason": "`MEDIA_IMAGE` is deprecated." + }, + { + "name": "ORDER", + "description": "The Order metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_ROUTING_LOCATION_RULE", + "description": "The Order Routing Location Rule metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAGE", + "description": "The Page metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_CUSTOMIZATION", + "description": "The Payment Customization metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "The Product metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCTVARIANT", + "description": "The Product Variant metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN", + "description": "The Selling Plan metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP", + "description": "The Shop metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VALIDATION", + "description": "The Validation metafield owner type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "MetafieldReference", + "description": "The resource referenced by the metafield value.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GenericFile", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MediaImage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Model3d", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyValue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Video", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "MetafieldReferenceConnection", + "description": "An auto-generated type for paginating through multiple MetafieldReferences.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldReferenceEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetafieldReferenceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "UNION", + "name": "MetafieldReference", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldReferenceEdge", + "description": "An auto-generated type which holds one MetafieldReference and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetafieldReferenceEdge.", + "args": [], + "type": { + "kind": "UNION", + "name": "MetafieldReference", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "MetafieldReferencer", + "description": "Types of resources that may use metafields to reference other resources.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "MetafieldRelation", + "description": "Defines a relation between two resources via a reference metafield.\nThe referencer owns the joining field with a given namespace and key,\nwhile the target is referenced by the field.", + "fields": [ + { + "name": "key", + "description": "The key of the field making the reference.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the field making the reference.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the metafield making the reference, or type of the metaobject.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referencer", + "description": "The resource making the reference.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "MetafieldReferencer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "The referenced resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "MetafieldReference", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldRelationConnection", + "description": "An auto-generated type for paginating through multiple MetafieldRelations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldRelationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetafieldRelationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldRelation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldRelationEdge", + "description": "An auto-generated type which holds one MetafieldRelation and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetafieldRelationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldRelation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldStorefrontAccess", + "description": "Defines how the metafields of a definition can be accessed in Storefront API surface areas, including Liquid and the GraphQL Storefront API.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LEGACY_LIQUID_ONLY", + "description": "Metafields are accessible in online store Liquid templates but not in the GraphQL Storefront API. This access level is deprecated and can not be set.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "Metafields are not accessible in any Storefront API surface area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ", + "description": "Metafields are accessible in the GraphQL Storefront API and online store Liquid templates.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldStorefrontAccessInput", + "description": "The possible values for setting metafield storefront access.\nStorefront accesss governs both Liquid and the GraphQL Storefront API.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "Metafields are not accessible in any Storefront API surface area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ", + "description": "Metafields are accessible in the GraphQL Storefront API and online store Liquid templates.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibility", + "description": "By default, the Storefront API can't read metafields. To make specific metafields visible in the Storefront API,\nyou need to create a `MetafieldStorefrontVisibility` record. A `MetafieldStorefrontVisibility` record is a list\nof the metafields, defined by the `owner_type`, `namespace`, and `key`, to make visible in the Storefront API.\n\nLearn about [exposing metafields in the Storefront API]\n(https://shopify.dev/custom-storefronts/products-collections/metafields)\nfor more details.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the metafield was set to visible in the Storefront API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The key of a metafield to make visible in the Storefront API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of a metafield to make visible in the Storefront API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "The owner type of a metafield to make visible in the Storefront API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the `MetafieldStorefrontVisilibty` record was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityConnection", + "description": "An auto-generated type for paginating through multiple MetafieldStorefrontVisibilities.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetafieldStorefrontVisibilityEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibility", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityCreatePayload", + "description": "Return type for `metafieldStorefrontVisibilityCreate` mutation.", + "fields": [ + { + "name": "metafieldStorefrontVisibility", + "description": "The `MetafieldStorefrontVisibility` that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibility", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityDeletePayload", + "description": "Return type for `metafieldStorefrontVisibilityDelete` mutation.", + "fields": [ + { + "name": "deletedMetafieldStorefrontVisibilityId", + "description": "The ID of the deleted `MetafieldStorefrontVisibility` record.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityEdge", + "description": "An auto-generated type which holds one MetafieldStorefrontVisibility and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetafieldStorefrontVisibilityEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibility", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldStorefrontVisibilityInput", + "description": "The input fields to create a MetafieldStorefrontVisibility record.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of a metafield to make visible in the Storefront API.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of a metafield to make visible in the Storefront API. If omitted the app reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "The owner type of a metafield to make visible in the Storefront API.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldValidationStatus", + "description": "Possible metafield validation statuses.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANY", + "description": "Any validation status (valid or invalid).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "Invalid (according to definition).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VALID", + "description": "Valid (according to definition).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldValueType", + "description": "Legacy type information for the stored value.\nReplaced by `type`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BOOLEAN", + "description": "A `true` or `false` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTEGER", + "description": "A whole number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JSON_STRING", + "description": "A JSON string.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRING", + "description": "A text field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldsDeletePayload", + "description": "Return type for `metafieldsDelete` mutation.", + "fields": [ + { + "name": "deletedMetafields", + "description": "List of metafield identifiers that were deleted, null if the corresponding metafield isn't found.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldIdentifier", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetafieldsSetInput", + "description": "The input fields for a metafield value to set.", + "fields": null, + "inputFields": [ + { + "name": "compareDigest", + "description": "The `compareDigest` value obtained from a previous query. Provide this with updates to ensure the metafield is modified safely.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The unique identifier for a metafield within its namespace.\n\nMust be 3-64 characters long and can contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container for a group of metafields that the metafield is or will be associated with. Used in tandem\nwith `key` to lookup a metafield on a resource, preventing conflicts with other metafields with the\nsame `key`. If omitted the app-reserved namespace will be used.\n\nMust be 3-255 characters long and can contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerId", + "description": "The unique ID of the resource that the metafield is attached to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of data that is stored in the metafield.\nThe type must be one of the [supported types](https://shopify.dev/apps/metafields/types).\n\nRequired when there is no corresponding definition for the given `namespace`, `key`, and\nowner resource type (derived from `ownerId`).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The data stored in the metafield. Always stored as a string, regardless of the metafield's type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldsSetPayload", + "description": "Return type for `metafieldsSet` mutation.", + "fields": [ + { + "name": "metafields", + "description": "The list of metafields that were set.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldsSetUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetafieldsSetUserError", + "description": "An error that occurs during the execution of `MetafieldsSet`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetafieldsSetUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "elementIndex", + "description": "The index of the array element that's causing the error.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetafieldsSetUserErrorCode", + "description": "Possible error codes that can be returned by `MetafieldsSetUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_NOT_AUTHORIZED", + "description": "ApiPermission metafields can only be created or updated by the app owner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPABILITY_VIOLATION", + "description": "The metafield violates a capability restriction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_COMPARE_DIGEST", + "description": "The compareDigest is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or for the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The input value should be less than or equal to the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STALE_OBJECT", + "description": "The metafield has been modified since it was loaded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Metaobject", + "description": "Provides an object instance represented by a MetaobjectDefinition.", + "fields": [ + { + "name": "capabilities", + "description": "Metaobject capabilities for this Metaobject.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectCapabilityData", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdBy", + "description": "The app used to create the object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByApp", + "description": "The app used to create the object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByStaff", + "description": "The staff member who created the metaobject.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "definition", + "description": "The MetaobjectDefinition that models this object type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "The preferred display name field value of the metaobject.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The field for an object key, or null if the key has no field definition.", + "args": [ + { + "name": "key", + "description": "The metaobject key to access.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectField", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": "All ordered fields of the metaobject with their definitions and values.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectField", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "The unique handle of the object, useful as a custom ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referencedBy", + "description": "List of back references metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldRelationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "The staff member who created the metaobject.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `createdByStaff` instead." + }, + { + "name": "thumbnailField", + "description": "The recommended field to visually represent this metaobject. May be a file reference or color field.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectField", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the metaobject.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "When the object was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectAccess", + "description": "Provides metaobject definition's access configuration.", + "fields": [ + { + "name": "admin", + "description": "Access configuration for Admin API surface areas, including the GraphQL Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetaobjectAdminAccess", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefront", + "description": "Access configuration for Storefront surface areas, including the GraphQL Storefront API and Liquid.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetaobjectStorefrontAccess", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectAccessInput", + "description": "The input fields for configuring metaobject access controls.", + "fields": null, + "inputFields": [ + { + "name": "admin", + "description": "Access configuration for Admin API surface areas, including the GraphQL Admin API.", + "type": { + "kind": "ENUM", + "name": "MetaobjectAdminAccess", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefront", + "description": "Access configuration for Storefront API surface areas, including the GraphQL Storefront API and Liquid.", + "type": { + "kind": "ENUM", + "name": "MetaobjectStorefrontAccess", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetaobjectAdminAccess", + "description": "Defines how the metaobjects of a definition can be accessed in admin API surface areas.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MERCHANT_READ", + "description": "Applications that act on behalf of merchants can read metaobjects.\nOnly the owning application can write metaobjects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_READ_WRITE", + "description": "The owning application, as well as applications that act on behalf of merchants can read and write metaobjects.\nNo other applications can read or write metaobjects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIVATE", + "description": "Only the application that owns a metaobject can read and write to it.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ", + "description": "All applications with the `metaobjects` access scope can read metaobjects.\nOnly the owning application can write metaobjects.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ_WRITE", + "description": "All applications with the `metaobjects` access scope can read and write metaobjects.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectBulkDeletePayload", + "description": "Return type for `metaobjectBulkDelete` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that deletes the metaobjects.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectBulkDeleteWhereCondition", + "description": "Specifies the condition by which metaobjects are deleted.\nExactly one field of input is required.", + "fields": null, + "inputFields": [ + { + "name": "ids", + "description": "A list of metaobjects IDs to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Deletes all metaobjects with the specified `type`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilities", + "description": "Provides the capabilities of a metaobject definition.", + "fields": [ + { + "name": "onlineStore", + "description": "Indicates whether a metaobject definition can be displayed as a page on the Online Store.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesOnlineStore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishable", + "description": "Indicate whether a metaobject definition is publishable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesPublishable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renderable", + "description": "Indicate whether a metaobject definition is renderable and exposes SEO data.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesRenderable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatable", + "description": "Indicate whether a metaobject definition is translatable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesTranslatable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesOnlineStore", + "description": "The Online Store capability of a metaobject definition.", + "fields": [ + { + "name": "data", + "description": "The data associated with the Online Store capability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDefinitionDataOnlineStore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates if the capability is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesPublishable", + "description": "The publishable capability of a metaobject definition.", + "fields": [ + { + "name": "enabled", + "description": "Indicates if the capability is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesRenderable", + "description": "The renderable capability of a metaobject definition.", + "fields": [ + { + "name": "data", + "description": "The data associated with the renderable capability.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDefinitionDataRenderable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates if the capability is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilitiesTranslatable", + "description": "The translatable capability of a metaobject definition.", + "fields": [ + { + "name": "enabled", + "description": "Indicates if the capability is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityCreateInput", + "description": "The input fields for creating a metaobject capability.", + "fields": null, + "inputFields": [ + { + "name": "onlineStore", + "description": "The input for enabling the Online Store capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityOnlineStoreInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishable", + "description": "The input for enabling the publishable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityPublishableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renderable", + "description": "The input for enabling the renderable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityRenderableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatable", + "description": "The input for enabling the translatable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityTranslatableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilityData", + "description": "Provides the capabilities of a metaobject.", + "fields": [ + { + "name": "onlineStore", + "description": "The Online Store capability for this metaobject.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDataOnlineStore", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishable", + "description": "The publishable capability for this metaobject.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDataPublishable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataInput", + "description": "The input fields for metaobject capabilities.", + "fields": null, + "inputFields": [ + { + "name": "onlineStore", + "description": "Online Store capability input.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataOnlineStoreInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishable", + "description": "Publishable capability input.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataPublishableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDataOnlineStore", + "description": "The Online Store capability for the parent metaobject.", + "fields": [ + { + "name": "templateSuffix", + "description": "The theme template used when viewing the metaobject in a store.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataOnlineStoreInput", + "description": "The input fields for the Online Store capability to control renderability on the Online Store.", + "fields": null, + "inputFields": [ + { + "name": "templateSuffix", + "description": "The theme template used when viewing the metaobject in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDataPublishable", + "description": "The publishable capability for the parent metaobject.", + "fields": [ + { + "name": "status", + "description": "The visibility status of this metaobject across all channels.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetaobjectStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataPublishableInput", + "description": "The input fields for publishable capability to adjust visibility on channels.", + "fields": null, + "inputFields": [ + { + "name": "status", + "description": "The visibility status of this metaobject across all channels.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetaobjectStatus", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDefinitionDataOnlineStore", + "description": "The Online Store capability data for the metaobject definition.", + "fields": [ + { + "name": "canCreateRedirects", + "description": "Flag indicating if a sufficient number of redirects are available to redirect all published entries.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlHandle", + "description": "The URL handle for accessing pages of this metaobject type in the Online Store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDefinitionDataOnlineStoreInput", + "description": "The input fields of the Online Store capability.", + "fields": null, + "inputFields": [ + { + "name": "createRedirects", + "description": "Whether to redirect published metaobjects automatically when the URL handle changes.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlHandle", + "description": "The URL handle for accessing pages of this metaobject type in the Online Store.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCapabilityDefinitionDataRenderable", + "description": "The renderable capability data for the metaobject definition.", + "fields": [ + { + "name": "metaDescriptionKey", + "description": "The metaobject field used as an alias for the SEO page description.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaTitleKey", + "description": "The metaobject field used as an alias for the SEO page title.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDefinitionDataRenderableInput", + "description": "The input fields of the renderable capability for SEO aliases.", + "fields": null, + "inputFields": [ + { + "name": "metaDescriptionKey", + "description": "The metaobject field used as an alias for the SEO page description.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaTitleKey", + "description": "The metaobject field used as an alias for the SEO page title.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityOnlineStoreInput", + "description": "The input fields for enabling and disabling the Online Store capability.", + "fields": null, + "inputFields": [ + { + "name": "data", + "description": "The data associated with the Online Store capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDefinitionDataOnlineStoreInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the capability should be enabled or disabled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityPublishableInput", + "description": "The input fields for enabling and disabling the publishable capability.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "Indicates whether the capability should be enabled or disabled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityRenderableInput", + "description": "The input fields for enabling and disabling the renderable capability.", + "fields": null, + "inputFields": [ + { + "name": "data", + "description": "The data associated with the renderable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDefinitionDataRenderableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Indicates whether the capability should be enabled or disabled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityTranslatableInput", + "description": "The input fields for enabling and disabling the translatable capability.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "Indicates whether the capability should be enabled or disabled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityUpdateInput", + "description": "The input fields for updating a metaobject capability.", + "fields": null, + "inputFields": [ + { + "name": "onlineStore", + "description": "The input for enabling the Online Store capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityOnlineStoreInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishable", + "description": "The input for updating the publishable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityPublishableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "renderable", + "description": "The input for enabling the renderable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityRenderableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatable", + "description": "The input for updating the translatable capability.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityTranslatableInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectConnection", + "description": "An auto-generated type for paginating through multiple Metaobjects.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetaobjectEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCreateInput", + "description": "The input fields for creating a metaobject.", + "fields": null, + "inputFields": [ + { + "name": "capabilities", + "description": "Capabilities for the metaobject.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": "Values for fields. These are mapped by key to fields of the metaobject definition.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique handle for the metaobject. This value is auto-generated when omitted.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the metaobject. Must match an existing metaobject definition type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectCreatePayload", + "description": "Return type for `metaobjectCreate` mutation.", + "fields": [ + { + "name": "metaobject", + "description": "The created metaobject.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "description": "Provides the definition of a generic object structure composed of metafields.", + "fields": [ + { + "name": "access", + "description": "Access configuration for the metaobject definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectAccess", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capabilities", + "description": "The capabilities of the metaobject definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectCapabilities", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByApp", + "description": "The app used to create the metaobject definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdByStaff", + "description": "The staff member who created the metaobject definition.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The administrative description.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayNameKey", + "description": "The key of a field to reference as the display name for each object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldDefinitions", + "description": "The fields defined for this object type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectFieldDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasThumbnailField", + "description": "Whether this metaobject definition has field whose type can visually represent a metaobject with the `thumbnailField`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjects", + "description": "A paginated connection to the metaobjects associated with the definition.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectsCount", + "description": "The count of metaobjects created for the definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human-readable name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the object definition. Defines the namespace of associated metafields.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDefinitionConnection", + "description": "An auto-generated type for paginating through multiple MetaobjectDefinitions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectDefinitionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MetaobjectDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectDefinitionCreateInput", + "description": "The input fields for creating a metaobject definition.", + "fields": null, + "inputFields": [ + { + "name": "access", + "description": "Access configuration for the metaobjects created with this definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capabilities", + "description": "The capabilities of the metaobject definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityCreateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "An administrative description of the definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayNameKey", + "description": "The key of a field to reference as the display name for metaobjects of this type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldDefinitions", + "description": "A set of field definitions to create on this metaobject definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionCreateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A human-readable name for the definition. This can be changed at any time.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the metaobject definition. This can't be changed.\n\nMust be 3-255 characters long and only contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDefinitionCreatePayload", + "description": "Return type for `metaobjectDefinitionCreate` mutation.", + "fields": [ + { + "name": "metaobjectDefinition", + "description": "The created metaobject definition.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDefinitionDeletePayload", + "description": "Return type for `metaobjectDefinitionDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted metaobjects definition.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDefinitionEdge", + "description": "An auto-generated type which holds one MetaobjectDefinition and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetaobjectDefinitionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectDefinitionUpdateInput", + "description": "The input fields for updating a metaobject definition.", + "fields": null, + "inputFields": [ + { + "name": "access", + "description": "Access configuration for the metaobjects created with this definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capabilities", + "description": "The capabilities of the metaobject definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "An administrative description of the definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayNameKey", + "description": "The key of a metafield to reference as the display name for objects of this type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fieldDefinitions", + "description": "A set of operations for modifying field definitions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionOperationInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A human-readable name for the definition.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resetFieldOrder", + "description": "Whether the field order should be reset while updating.\nIf `true`, then the order is assigned based on submitted fields followed by alphabetized field omissions.\nIf `false`, then no changes are made to the existing field order and new fields are appended at the end.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDefinitionUpdatePayload", + "description": "Return type for `metaobjectDefinitionUpdate` mutation.", + "fields": [ + { + "name": "metaobjectDefinition", + "description": "The updated metaobject definition.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDeletePayload", + "description": "Return type for `metaobjectDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted metaobject.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectEdge", + "description": "An auto-generated type which holds one Metaobject and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MetaobjectEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectField", + "description": "Provides a field definition and the data value assigned to it.", + "fields": [ + { + "name": "definition", + "description": "The field definition for this object key.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectFieldDefinition", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jsonValue", + "description": "The assigned field value in JSON format.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The object key of this field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "For resource reference fields, provides the referenced object.", + "args": [], + "type": { + "kind": "UNION", + "name": "MetafieldReference", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "references", + "description": "For resource reference list fields, provides the list of referenced objects.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldReferenceConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "thumbnail", + "description": "For file reference or color fields, provides visual attributes for this field.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectThumbnail", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the field.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The assigned field value, always stored as a string regardless of the field type.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectFieldDefinition", + "description": "Defines a field for a MetaobjectDefinition with properties\nsuch as the field's data type and validations.", + "fields": [ + { + "name": "description", + "description": "The administrative description.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "A key name used to identify the field within the metaobject composition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human-readable name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Required status of the field within the metaobject composition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of data that the field stores.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for\nthe field. For example, a field with the type `date` can set a minimum date requirement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionValidation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionCreateInput", + "description": "The input fields for creating a metaobject field definition.", + "fields": null, + "inputFields": [ + { + "name": "description", + "description": "An administrative description of the field.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The key of the new field definition. This can't be changed.\n\nMust be 3-64 characters long and only contain alphanumeric, hyphen, and underscore characters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A human-readable name for the field. This can be changed at any time.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Whether metaobjects require a saved value for the field.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The metafield type applied to values of the field.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "Custom validations that apply to values assigned to the field.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionValidationInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionDeleteInput", + "description": "The input fields for deleting a metaobject field definition.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the field definition to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionOperationInput", + "description": "The input fields for possible operations for modifying field definitions. Exactly one option is required.", + "fields": null, + "inputFields": [ + { + "name": "create", + "description": "The input fields for creating a metaobject field definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionCreateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delete", + "description": "The input fields for deleting a metaobject field definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionDeleteInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "update", + "description": "The input fields for updating a metaobject field definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldDefinitionUpdateInput", + "description": "The input fields for updating a metaobject field definition.", + "fields": null, + "inputFields": [ + { + "name": "description", + "description": "An administrative description of the field.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The key of the field definition to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A human-readable name for the field.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "required", + "description": "Whether metaobjects require a saved value for the field.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "Custom validations that apply to values assigned to the field.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionValidationInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldInput", + "description": "The input fields for a metaobject field value.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the field.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the field.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectHandleInput", + "description": "The input fields for retrieving a metaobject by handle.", + "fields": null, + "inputFields": [ + { + "name": "handle", + "description": "The handle of the metaobject to create or update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the metaobject. Must match an existing metaobject definition type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetaobjectStatus", + "description": "Defines visibility status for metaobjects.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The metaobjects is active for public use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT", + "description": "The metaobjects is an internal record.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetaobjectStorefrontAccess", + "description": "Defines how the metaobjects of a definition can be accessed in Storefront API surface areas, including Liquid and the GraphQL Storefront API.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "Metaobjects are not accessible in any Storefront API surface area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_READ", + "description": "Metaobjects are accessible in the GraphQL Storefront API by any application with the `unauthenticated_read_metaobjects` access scope.\nMetaobjects are accessible in online store Liquid templates.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectThumbnail", + "description": "Provides attributes for visual representation.", + "fields": [ + { + "name": "file", + "description": "The file to be used for visual representation of this metaobject.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "File", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hex", + "description": "The hexadecimal color code to be used for respresenting this metaobject.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectUpdateInput", + "description": "The input fields for updating a metaobject.", + "fields": null, + "inputFields": [ + { + "name": "capabilities", + "description": "Capabilities for the metaobject.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": "Values for fields. These are mapped by key to fields of the metaobject definition.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique handle for the metaobject.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Whether to create a redirect for the metaobject.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectUpdatePayload", + "description": "Return type for `metaobjectUpdate` mutation.", + "fields": [ + { + "name": "metaobject", + "description": "The updated metaobject.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MetaobjectUpsertInput", + "description": "The input fields for upserting a metaobject.", + "fields": null, + "inputFields": [ + { + "name": "capabilities", + "description": "Capabilities for the metaobject.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCapabilityDataInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": "Values for fields. These are mapped by key to fields of the metaobject definition.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectFieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "The handle of the metaobject.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectUpsertPayload", + "description": "Return type for `metaobjectUpsert` mutation.", + "fields": [ + { + "name": "metaobject", + "description": "The created or updated metaobject.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "description": "Defines errors encountered while managing metaobject resources.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MetaobjectUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "elementIndex", + "description": "The index of the failing list element in an array.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "elementKey", + "description": "The key of the failing object element.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MetaobjectUserErrorCode", + "description": "Possible error codes that can be returned by `MetaobjectUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPABILITY_NOT_ENABLED", + "description": "The capability you are using is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISPLAY_NAME_CONFLICT", + "description": "The display name cannot be the same when using the metaobject as a product option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_FIELD_INPUT", + "description": "Duplicate inputs were provided for this field key.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_TYPE_INVALID", + "description": "Renderable data input is referencing an invalid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMMUTABLE", + "description": "The targeted object cannot be modified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An unexpected error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_OPTION", + "description": "The value for the metafield definition option was invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The metafield type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAX_DEFINITIONS_EXCEEDED", + "description": "The maximum number of metaobjects definitions has been exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAX_OBJECTS_EXCEEDED", + "description": "The maximum number of metaobjects per shop has been exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_REQUIRED_KEYS", + "description": "The input is missing required keys.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_AUTHORIZED", + "description": "Not authorized.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT_FIELD_REQUIRED", + "description": "Missing required fields were found for this object.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT_FIELD_TAKEN", + "description": "The specified field key is already in use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECORD_NOT_FOUND", + "description": "The requested record couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESERVED_NAME", + "description": "The provided name is reserved for system use.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNDEFINED_OBJECT_FIELD", + "description": "No field definition found for this key.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNDEFINED_OBJECT_TYPE", + "description": "No metaobject definition found for this type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL_HANDLE_BLANK", + "description": "The Online Store URL handle cannot be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL_HANDLE_INVALID", + "description": "The Online Store URL handle is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL_HANDLE_TAKEN", + "description": "The Online Store URL handle is already taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MethodDefinitionSortKeys", + "description": "The set of valid sort keys for the MethodDefinition query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RATE_PROVIDER_TYPE", + "description": "Sort by the `rate_provider_type` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "MobilePlatformApplication", + "description": "You can use the `MobilePlatformApplication` resource to enable\n[shared web credentials](https://developer.apple.com/documentation/security/shared_web_credentials) for Shopify iOS apps,\nas well as to create [iOS universal link](https://developer.apple.com/ios/universal-links/)\nor [Android app link](https://developer.android.com/training/app-links/) verification endpoints for merchant Shopify iOS or Android apps.\nShared web credentials let iOS users access a native app after logging into the respective website in Safari without re-entering\ntheir username and password. If a user changes their credentials in the app, then those changes are reflected in Safari.\nYou must use a custom domain to integrate shared web credentials with Shopify. With each platform's link system,\nusers can tap a link to a shop's website and get seamlessly redirected to a merchant's installed app without going\nthrough a browser or manually selecting an app.\n\nFor full configuration instructions on iOS shared web credentials,\nsee the [associated domains setup](https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains) technical documentation.\n\nFor full configuration instructions on iOS universal links or Android App Links,\nsee the respective [iOS universal link](https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content)\nor [Android app link](https://developer.android.com/training/app-links) technical documentation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AndroidApplication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppleApplication", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "MobilePlatformApplicationConnection", + "description": "An auto-generated type for paginating through multiple MobilePlatformApplications.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in MobilePlatformApplicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "MobilePlatformApplication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationCreateAndroidInput", + "description": "The input fields for an Android based mobile platform application.", + "fields": null, + "inputFields": [ + { + "name": "appLinksEnabled", + "description": "Whether Android App Links are supported by this app.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "applicationId", + "description": "Android application ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha256CertFingerprints", + "description": "The SHA256 fingerprints of the app’s signing certificate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationCreateAppleInput", + "description": "The input fields for an Apple based mobile platform application.", + "fields": null, + "inputFields": [ + { + "name": "appClipApplicationId", + "description": "The Apple app clip application ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appClipsEnabled", + "description": "Whether Apple app clips are enabled for this app.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appId", + "description": "Apple application ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedWebCredentialsEnabled", + "description": "Whether Apple shared web credentials are enabled for this app.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "universalLinksEnabled", + "description": "Whether Apple Universal Links are supported by this app.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationCreateInput", + "description": "The input fields for a mobile application platform type.", + "fields": null, + "inputFields": [ + { + "name": "android", + "description": "Android based mobile platform application.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationCreateAndroidInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apple", + "description": "Apple based mobile platform application.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationCreateAppleInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MobilePlatformApplicationCreatePayload", + "description": "Return type for `mobilePlatformApplicationCreate` mutation.", + "fields": [ + { + "name": "mobilePlatformApplication", + "description": "Created mobile platform application.", + "args": [], + "type": { + "kind": "UNION", + "name": "MobilePlatformApplication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MobilePlatformApplicationDeletePayload", + "description": "Return type for `mobilePlatformApplicationDelete` mutation.", + "fields": [ + { + "name": "deletedMobilePlatformApplicationId", + "description": "The ID of the mobile platform application that was just deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MobilePlatformApplicationEdge", + "description": "An auto-generated type which holds one MobilePlatformApplication and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of MobilePlatformApplicationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "MobilePlatformApplication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationUpdateAndroidInput", + "description": "The input fields for an Android based mobile platform application.", + "fields": null, + "inputFields": [ + { + "name": "appLinksEnabled", + "description": "Whether Android App Links are supported by this app.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "applicationId", + "description": "Android application ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sha256CertFingerprints", + "description": "The SHA256 fingerprints of the app’s signing certificate.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationUpdateAppleInput", + "description": "The input fields for an Apple based mobile platform application.", + "fields": null, + "inputFields": [ + { + "name": "appClipApplicationId", + "description": "The Apple App Clip application ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appClipsEnabled", + "description": "Whether Apple App Clips are enabled for this app.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appId", + "description": "Apple application ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sharedWebCredentialsEnabled", + "description": "Whether Apple shared web credentials are enabled for this app.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "universalLinksEnabled", + "description": "Whether Apple Universal Links are supported by this app.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationUpdateInput", + "description": "The input fields for the mobile platform application platform type.", + "fields": null, + "inputFields": [ + { + "name": "android", + "description": "Android based Mobile Platform Application.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationUpdateAndroidInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apple", + "description": "Apple based Mobile Platform Application.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationUpdateAppleInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MobilePlatformApplicationUpdatePayload", + "description": "Return type for `mobilePlatformApplicationUpdate` mutation.", + "fields": [ + { + "name": "mobilePlatformApplication", + "description": "Created mobile platform application.", + "args": [], + "type": { + "kind": "UNION", + "name": "MobilePlatformApplication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MobilePlatformApplicationUserError", + "description": "Represents an error in the input of a mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "MobilePlatformApplicationUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MobilePlatformApplicationUserErrorCode", + "description": "Possible error codes that can be returned by `MobilePlatformApplicationUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Model3d", + "description": "Represents a Shopify hosted 3D model.", + "fields": [ + { + "name": "alt", + "description": "A word or phrase to describe the contents or the function of a file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "boundingBox", + "description": "The 3d model's bounding box information.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Model3dBoundingBox", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileErrors", + "description": "Any errors that have occurred on the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileStatus", + "description": "The status of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FileStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The 3d model's filename.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaContentType", + "description": "The media content type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaContentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaErrors", + "description": "Any errors which have occurred on the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaWarnings", + "description": "The warnings attached to the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSource", + "description": "The 3d model's original source.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Model3dSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": "The preview image for the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": "The 3d model's sources.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Model3dSource", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "File", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Model3dBoundingBox", + "description": "Bounding box information of a 3d model.", + "fields": [ + { + "name": "size", + "description": "Size in meters of the smallest volume which contains the 3d model.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Vector3", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Model3dSource", + "description": "A source for a Shopify-hosted 3d model.\n\nTypes of sources include GLB and USDZ formatted 3d models, where the former\nis an original 3d model and the latter has been converted from the original.\n\nIf the original source is in GLB format and over 15 MBs in size, then both the\noriginal and the USDZ formatted source are optimized to reduce the file size.", + "fields": [ + { + "name": "filesize", + "description": "The 3d model source's filesize.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "The 3d model source's format.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mimeType", + "description": "The 3d model source's MIME type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The 3d model source's URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Money", + "description": "A monetary value string without a currency symbol or code. Example value: `\"100.57\"`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MoneyBag", + "description": "A collection of monetary values in their respective currencies. Typically used in the context of multi-currency pricing and transactions,\nwhen an amount in the shop's currency is converted to the customer's currency of choice (the presentment currency).", + "fields": [ + { + "name": "presentmentMoney", + "description": "Amount in presentment currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopMoney", + "description": "Amount in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MoneyBagInput", + "description": "An input collection of monetary values in their respective currencies.\nRepresents an amount in the shop's currency and the amount as converted to the customer's currency of choice (the presentment currency).", + "fields": null, + "inputFields": [ + { + "name": "presentmentMoney", + "description": "Amount in presentment currency. If this isn't given then we assume that the presentment currency is the same as the shop's currency.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopMoney", + "description": "Amount in shop currency.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "description": "The input fields for a monetary value with currency.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "Decimal money amount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "Currency of the money.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MoneyV2", + "description": "A monetary value with currency.", + "fields": [ + { + "name": "amount", + "description": "Decimal money amount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "Currency of the money.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "MoveInput", + "description": "The input fields for a single move of an object to a specific position in a set, using a zero-based index.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the object to be moved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newPosition", + "description": "The new position of the object in the set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Mutation", + "description": "The schema's entry point for all mutation operations.", + "fields": [ + { + "name": "abandonmentEmailStateUpdate", + "description": "Updates the email state value for an abandonment.", + "args": [ + { + "name": "emailSentAt", + "description": "The date and time for when the email was sent, if that is the case.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailState", + "description": "The new email state of the abandonment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AbandonmentEmailState", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "emailStateChangeReason", + "description": "The reason why the email was or was not sent.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the abandonment that needs to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AbandonmentEmailStateUpdatePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `abandonmentUpdateActivitiesDeliveryStatuses` instead." + }, + { + "name": "abandonmentUpdateActivitiesDeliveryStatuses", + "description": "Updates the marketing activities delivery statuses for an abandonment.", + "args": [ + { + "name": "abandonmentId", + "description": "The ID of the abandonment that needs to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveredAt", + "description": "The delivery timestamp if the activity delivered.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryStatus", + "description": "The new delivery status of the marketing activity for this abandonment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "AbandonmentDeliveryState", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryStatusChangeReason", + "description": "The reason why the activity was or was not delivered.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityId", + "description": "The ID of the marketing activity that needs to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AbandonmentUpdateActivitiesDeliveryStatusesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appPurchaseOneTimeCreate", + "description": "Charges a shop for features or services one time.\nThis type of charge is recommended for apps that aren't billed on a recurring basis.\nTest and demo shops aren't charged.", + "args": [ + { + "name": "name", + "description": "The name of the one-time purchase from the app.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The amount to be charged to the store for the app one-time purchase.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnUrl", + "description": "The URL where the merchant is redirected after approving the app one-time purchase.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the app one-time purchase is a test transaction.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppPurchaseOneTimeCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appRevokeAccessScopes", + "description": "Revokes access scopes previously granted for an app installation.", + "args": [ + { + "name": "scopes", + "description": "The list of scope handles to revoke.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppRevokeAccessScopesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appSubscriptionCancel", + "description": "Cancels an app subscription on a store.", + "args": [ + { + "name": "id", + "description": "The ID of the app subscription to be cancelled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prorate", + "description": "Whether to issue prorated credits for the unused portion of the app subscription. There will\nbe a corresponding deduction (based on revenue share) to your Partner account.\nFor example, if a $10.00 app subscription (with 0% revenue share) is cancelled and prorated half way\nthrough the billing cycle, then the merchant will be credited $5.00 and that amount will be deducted\nfrom your Partner account.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppSubscriptionCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appSubscriptionCreate", + "description": "Allows an app to charge a store for features or services on a recurring basis.", + "args": [ + { + "name": "lineItems", + "description": "Attaches one or more pricing plans to an app subscription. Only one pricing plan can be defined for each available type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AppSubscriptionLineItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A descriptive name for the app subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replacementBehavior", + "description": "The replacement behavior when creating an app subscription for a merchant with an already existing app subscription.", + "type": { + "kind": "ENUM", + "name": "AppSubscriptionReplacementBehavior", + "ofType": null + }, + "defaultValue": "STANDARD", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnUrl", + "description": "The URL pointing to the page where the merchant is redirected after approving the app subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the app subscription is a test transaction.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trialDays", + "description": "The number of days of the free trial period, beginning on the day that the merchant approves the app charges.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppSubscriptionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appSubscriptionLineItemUpdate", + "description": "Updates the capped amount on the usage pricing plan of an app subscription line item.", + "args": [ + { + "name": "cappedAmount", + "description": "The new maximum amount of usage charges that can be incurred within a subscription billing interval.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the app subscription line item to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppSubscriptionLineItemUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appSubscriptionTrialExtend", + "description": "Extends the trial of an app subscription.", + "args": [ + { + "name": "days", + "description": "The number of days to extend the trial. The value must be greater than 0 and less than or equal to 1000.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the app subscription to extend the trial for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppSubscriptionTrialExtendPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appUsageRecordCreate", + "description": "Enables an app to charge a store for features or services on a per-use basis.\nThe usage charge value is counted towards the `cappedAmount` limit that was specified in the `appUsagePricingDetails` field when the app subscription was created.\nIf you create an app usage charge that causes the total usage charges in a billing interval to exceed the capped amount, then a `Total price exceeds balance remaining` error is returned.", + "args": [ + { + "name": "description", + "description": "The description of the app usage record.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "idempotencyKey", + "description": "A unique key generated by the client to avoid duplicate charges. Maximum length of 255 characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the app usage record.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionLineItemId", + "description": "The ID of the app subscription line item to create the usage record under. This app subscription line item must have a usage pricing plan.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppUsageRecordCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "articleCreate", + "description": "Creates an article.", + "args": [ + { + "name": "article", + "description": "The properties of the new article.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ArticleCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blog", + "description": "The properties of the new blog.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ArticleBlogInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ArticleCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "articleDelete", + "description": "Deletes an article.", + "args": [ + { + "name": "id", + "description": "The ID of the article to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ArticleDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "articleUpdate", + "description": "Updates an article.", + "args": [ + { + "name": "article", + "description": "The properties of the article to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ArticleUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blog", + "description": "The properties of the blog to be created.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ArticleBlogInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the article to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ArticleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blogCreate", + "description": "Creates a blog.", + "args": [ + { + "name": "blog", + "description": "The properties of the new blog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BlogCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BlogCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blogDelete", + "description": "Deletes a blog.", + "args": [ + { + "name": "id", + "description": "The ID of the blog to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BlogDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blogUpdate", + "description": "Updates a blog.", + "args": [ + { + "name": "blog", + "description": "The properties of the blog to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BlogUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the blog to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BlogUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bulkOperationCancel", + "description": "Starts the cancelation process of a running bulk operation.\n\nThere may be a short delay from when a cancelation starts until the operation is actually canceled.", + "args": [ + { + "name": "id", + "description": "The ID of the bulk operation to cancel.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BulkOperationCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bulkOperationRunMutation", + "description": "Creates and runs a bulk operation mutation.\n\nTo learn how to bulk import large volumes of data asynchronously, refer to the\n[bulk import data guide](https://shopify.dev/api/usage/bulk-operations/imports).", + "args": [ + { + "name": "clientIdentifier", + "description": "An optional identifier which may be used for querying.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutation", + "description": "The mutation to be executed in bulk.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stagedUploadPath", + "description": "The staged upload path of the file containing mutation variables.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BulkOperationRunMutationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bulkOperationRunQuery", + "description": "Creates and runs a bulk operation query.\n\nSee the [bulk operations guide](https://shopify.dev/api/usage/bulk-operations/queries) for more details.", + "args": [ + { + "name": "query", + "description": "The query to be executed in bulk.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BulkOperationRunQueryPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bulkProductResourceFeedbackCreate", + "description": "Creates product feedback for multiple products.", + "args": [ + { + "name": "feedbackInput", + "description": "An array of inputs to create the feedback. Limited to 50.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductResourceFeedbackInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BulkProductResourceFeedbackCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "carrierServiceCreate", + "description": "Creates a new carrier service.", + "args": [ + { + "name": "input", + "description": "The input fields used to create a carrier service.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryCarrierServiceCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CarrierServiceCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "carrierServiceDelete", + "description": "Removes an existing carrier service.", + "args": [ + { + "name": "id", + "description": "The global ID of the carrier service to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CarrierServiceDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "carrierServiceUpdate", + "description": "Updates a carrier service. Only the app that creates a carrier service can update it.", + "args": [ + { + "name": "input", + "description": "The input fields used to update a carrier service.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryCarrierServiceUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CarrierServiceUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartTransformCreate", + "description": "Create a CartTransform function to the Shop.", + "args": [ + { + "name": "blockOnFailure", + "description": "Whether a run failure should block cart and checkout operations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The identifier of the Function providing the cart transform.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the cart transform.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CartTransformCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartTransformDelete", + "description": "Destroy a cart transform function from the Shop.", + "args": [ + { + "name": "id", + "description": "A globally-unique identifier for the cart transform.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CartTransformDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogContextUpdate", + "description": "Updates the context of a catalog.", + "args": [ + { + "name": "catalogId", + "description": "The ID of the catalog for which to update the context.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contextsToAdd", + "description": "The contexts to add to the catalog.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CatalogContextInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contextsToRemove", + "description": "The contexts to remove from the catalog.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CatalogContextInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CatalogContextUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogCreate", + "description": "Creates a new catalog.", + "args": [ + { + "name": "input", + "description": "The properties of the new catalog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CatalogCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CatalogCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogDelete", + "description": "Delete a catalog.", + "args": [ + { + "name": "deleteDependentResources", + "description": "Whether to also delete the price list and the publication owned by the catalog.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the catalog to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CatalogDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogUpdate", + "description": "Updates an existing catalog.", + "args": [ + { + "name": "id", + "description": "The ID of the catalog to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties of the updated catalog.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CatalogUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CatalogUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checkoutBrandingUpsert", + "description": "Updates the checkout branding settings for a\n[checkout profile](https://shopify.dev/api/admin-graphql/unstable/queries/checkoutProfile).\n\nIf the settings don't exist, then new settings are created. The checkout branding settings applied to a\npublished checkout profile will be immediately visible within the store's checkout. The checkout branding\nsettings applied to a draft checkout profile could be previewed within the admin checkout editor.\n\nTo learn more about updating checkout branding settings, refer to the checkout branding\n[tutorial](https://shopify.dev/docs/apps/checkout/styling).", + "args": [ + { + "name": "checkoutBrandingInput", + "description": "The input fields to use to upsert the checkout branding settings (pass null to reset them to default).", + "type": { + "kind": "INPUT_OBJECT", + "name": "CheckoutBrandingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checkoutProfileId", + "description": "A globally-unique identifier.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CheckoutBrandingUpsertPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionAddProducts", + "description": "Adds products to a collection.", + "args": [ + { + "name": "id", + "description": "The ID of the collection that's being updated. This can't be a smart collection.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productIds", + "description": "The IDs of the products that are being added to the collection.\nIf any of the products is already present in the input collection,\nthen an error is raised and no products are added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionAddProductsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionAddProductsV2", + "description": "Asynchronously adds a set of products to a given collection. It can take a long time to run. Instead of returning a collection, it returns a job which should be polled.", + "args": [ + { + "name": "id", + "description": "The ID of the collection that's being updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productIds", + "description": "The IDs of the products that are being added to the collection. If the collection's sort order is manual, the products will be added in the order in which they are provided.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionAddProductsV2Payload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionCreate", + "description": "Creates a collection.", + "args": [ + { + "name": "input", + "description": "The properties to use when creating the collection.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionDelete", + "description": "Deletes a collection.", + "args": [ + { + "name": "input", + "description": "The collection to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionPublish", + "description": "Publishes a collection to a channel.", + "args": [ + { + "name": "input", + "description": "Specify a collection to publish and the sales channels to publish it to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionPublishInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionPublishPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `publishablePublish` instead." + }, + { + "name": "collectionRemoveProducts", + "description": "Removes a set of products from a given collection. The mutation can take a long time to run. Instead of returning an updated collection the mutation returns a job, which should be [polled](https://shopify.dev/api/admin-graphql/latest/queries/job). For use with manual collections only.", + "args": [ + { + "name": "id", + "description": "The ID of the collection to remove products from. The ID must reference an existing manual collection.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productIds", + "description": "The IDs of products to remove from the collection. The mutation doesn't validate that the products belong to the collection or whether the products exist.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionRemoveProductsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionReorderProducts", + "description": "Asynchronously reorders a set of products within a specified collection. Instead of returning an updated collection, this mutation returns a job, which should be [polled](https://shopify.dev/api/admin-graphql/latest/queries/job). The [`Collection.sortOrder`](https://shopify.dev/api/admin-graphql/latest/objects/Collection#field-collection-sortorder) must be `MANUAL`. Displaced products will have their position altered in a consistent manner, with no gaps.", + "args": [ + { + "name": "id", + "description": "The ID of the collection on which to reorder products.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moves", + "description": "A list of moves to perform, which will be evaluated in order. Up to 250 moves are supported, the `newPosition` does not have to be unique.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoveInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionReorderProductsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionUnpublish", + "description": "Unpublishes a collection.", + "args": [ + { + "name": "input", + "description": "Specify a collection to unpublish and the sales channels to remove it from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionUnpublishInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionUnpublishPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `publishableUnpublish` instead." + }, + { + "name": "collectionUpdate", + "description": "Updates a collection.", + "args": [ + { + "name": "input", + "description": "The updated properties for the collection.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CollectionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CollectionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinedListingUpdate", + "description": "Add, remove and update `CombinedListing`s of a given Product.\n\n`CombinedListing`s are comprised of multiple products to create a single listing. There are two kinds of products used in a `CombinedListing`:\n\n1. Parent products\n2. Child products\n\nThe parent product is created with a `productCreate` with a `CombinedListingRole` of `PARENT`. Once created, you can associate child products with the parent product using this mutation. Parent products represent the idea of a product (e.g. Shoe).\n\nChild products represent a particular option value (or combination of option values) of a parent product. For instance, with your Shoe parent product, you may have several child products representing specific colors of the shoe (e.g. Shoe - Blue). You could also have child products representing more than a single option (e.g. Shoe - Blue/Canvas, Shoe - Blue/Leather, etc...).\n\nThe combined listing is the association of parent product to one or more child products.\n\nLearn more about [Combined Listings](https://shopify.dev/apps/selling-strategies/combined-listings).", + "args": [ + { + "name": "optionsAndValues", + "description": "The ordered options and values to be used by the combined listing. Options and values will be reordered to match the order specified here.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionAndValueInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentProductId", + "description": "The ID of the parent product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsAdded", + "description": "The child products to add and their assigned options and option values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildProductRelationInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsEdited", + "description": "The child products to edit and their assigned options and option values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ChildProductRelationInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsRemovedIds", + "description": "The IDs of products to be removed from the combined listing.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The updated title for the combined listing.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CombinedListingUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentApprove", + "description": "Approves a comment.", + "args": [ + { + "name": "id", + "description": "The ID of the comment to be approved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentApprovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentDelete", + "description": "Deletes a comment.", + "args": [ + { + "name": "id", + "description": "The ID of the comment to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentNotSpam", + "description": "Marks a comment as not spam.", + "args": [ + { + "name": "id", + "description": "The ID of the comment to be marked as not spam.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentNotSpamPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentSpam", + "description": "Marks a comment as spam.", + "args": [ + { + "name": "id", + "description": "The ID of the comment to be marked as spam.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentSpamPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companiesDelete", + "description": "Deletes a list of companies.", + "args": [ + { + "name": "companyIds", + "description": "A list of IDs of companies to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompaniesDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyAddressDelete", + "description": "Deletes a company address.", + "args": [ + { + "name": "addressId", + "description": "The ID of the address to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyAddressDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyAssignCustomerAsContact", + "description": "Assigns the customer as a company contact.", + "args": [ + { + "name": "companyId", + "description": "The ID of the company to assign the contact to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer to assign as the contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyAssignCustomerAsContactPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyAssignMainContact", + "description": "Assigns the main contact for the company.", + "args": [ + { + "name": "companyContactId", + "description": "The ID of the company contact to be assigned as the main contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyId", + "description": "The ID of the company to assign the main contact to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyAssignMainContactPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactAssignRole", + "description": "Assigns a role to a contact for a location.", + "args": [ + { + "name": "companyContactId", + "description": "The ID of the contact to assign a role to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactRoleId", + "description": "The ID of the role to assign to a contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationId", + "description": "The ID of the location to assign a role to a contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactAssignRolePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactAssignRoles", + "description": "Assigns roles on a company contact.", + "args": [ + { + "name": "companyContactId", + "description": "The contact whose roles are being assigned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rolesToAssign", + "description": "The new roles to assign.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyContactRoleAssign", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactAssignRolesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactCreate", + "description": "Creates a company contact.", + "args": [ + { + "name": "companyId", + "description": "The ID of the company that the company contact belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The fields to use to create the company contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyContactInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactDelete", + "description": "Deletes a company contact.", + "args": [ + { + "name": "companyContactId", + "description": "The ID of the company contact to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactRemoveFromCompany", + "description": "Removes a company contact from a Company.", + "args": [ + { + "name": "companyContactId", + "description": "The ID of the company contact to remove from the Company.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactRemoveFromCompanyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactRevokeRole", + "description": "Revokes a role on a company contact.", + "args": [ + { + "name": "companyContactId", + "description": "The ID of the contact to revoke a role from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactRoleAssignmentId", + "description": "The ID of the role assignment to revoke from a contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactRevokeRolePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactRevokeRoles", + "description": "Revokes roles on a company contact.", + "args": [ + { + "name": "companyContactId", + "description": "The contact whose roles are being revoked.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revokeAll", + "description": "Flag to revoke all roles on the contact.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roleAssignmentIds", + "description": "The current role assignment IDs to revoke.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactRevokeRolesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactSendWelcomeEmail", + "description": "Sends the company contact a welcome email.", + "args": [ + { + "name": "companyContactId", + "description": "The ID of the company contact to send welcome email to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The welcome email fields.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EmailInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactSendWelcomeEmailPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactUpdate", + "description": "Updates a company contact.", + "args": [ + { + "name": "companyContactId", + "description": "The ID of the company contact to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The fields to use to update the company contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyContactInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactsDelete", + "description": "Deletes one or more company contacts.", + "args": [ + { + "name": "companyContactIds", + "description": "The list of IDs of the company contacts to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyCreate", + "description": "Creates a company.", + "args": [ + { + "name": "input", + "description": "The fields to use when creating the company.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyDelete", + "description": "Deletes a company.", + "args": [ + { + "name": "id", + "description": "The ID of the company to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationAssignAddress", + "description": "Updates an address on a company location.", + "args": [ + { + "name": "address", + "description": "The input fields to use to update the address.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyAddressInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "addressTypes", + "description": "The list of address types on the location to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CompanyAddressType", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the company location to update addresses on.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationAssignAddressPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationAssignRoles", + "description": "Assigns roles on a company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The location whose roles are being assigned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rolesToAssign", + "description": "The roles to assign.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyLocationRoleAssign", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationAssignRolesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationAssignStaffMembers", + "description": "Creates one or more mappings between a staff member at a shop and a company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The ID of the company location to assign the staff member to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMemberIds", + "description": "The list of IDs of the staff members to assign.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationAssignStaffMembersPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationAssignTaxExemptions", + "description": "Assigns tax exemptions to the company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The location to which the tax exemptions will be assigned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The tax exemptions that are being assigned to the location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationAssignTaxExemptionsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationCreate", + "description": "Creates a company location.", + "args": [ + { + "name": "companyId", + "description": "The ID of the company that the company location belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The fields to use to create the company location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyLocationInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationCreateTaxRegistration", + "description": "Creates a tax registration for a company location.", + "args": [ + { + "name": "locationId", + "description": "The ID of the company location that the tax registration gets assigned to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxId", + "description": "The unique tax id for the tax registration.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationCreateTaxRegistrationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationDelete", + "description": "Deletes a company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The ID of the company location to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationRemoveStaffMembers", + "description": "Deletes one or more existing mappings between a staff member at a shop and a company location.", + "args": [ + { + "name": "companyLocationStaffMemberAssignmentIds", + "description": "The list of IDs of the company location staff member assignment to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationRemoveStaffMembersPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationRevokeRoles", + "description": "Revokes roles on a company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The location whose roles are being revoked.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rolesToRevoke", + "description": "The current roles to revoke.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationRevokeRolesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationRevokeTaxExemptions", + "description": "Revokes tax exemptions from the company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The location from which the tax exemptions will be revoked.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The tax exemptions that are being revoked from the location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationRevokeTaxExemptionsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationRevokeTaxRegistration", + "description": "Revokes tax registration on a company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The location whose tax registration is being revoked.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationRevokeTaxRegistrationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationUpdate", + "description": "Updates a company location.", + "args": [ + { + "name": "companyLocationId", + "description": "The ID of the company location to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The input fields to update in the company location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyLocationUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationsDelete", + "description": "Deletes a list of company locations.", + "args": [ + { + "name": "companyLocationIds", + "description": "A list of IDs of company locations to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocationsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyRevokeMainContact", + "description": "Revokes the main contact from the company.", + "args": [ + { + "name": "companyId", + "description": "The ID of the company to revoke the main contact from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyRevokeMainContactPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyUpdate", + "description": "Updates a company.", + "args": [ + { + "name": "companyId", + "description": "The ID of the company to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The input fields to update the company.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CompanyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAddTaxExemptions", + "description": "Add tax exemptions for the customer.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The list of tax exemptions to add for the customer, in the format of an array or a comma-separated list. Example values: `[\"CA_BC_RESELLER_EXEMPTION\", \"CA_STATUS_CARD_EXEMPTION\"]`, `\"CA_BC_RESELLER_EXEMPTION, CA_STATUS_CARD_EXEMPTION\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerAddTaxExemptionsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerCancelDataErasure", + "description": "Cancels a pending erasure of a customer's data.\n\nTo request an erasure of a customer's data use the [customerRequestDataErasure mutation](https://shopify.dev/api/admin-graphql/unstable/mutations/customerRequestDataErasure).", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer for whom to cancel a pending data erasure.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerCancelDataErasurePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerCreate", + "description": "Create a new 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).", + "args": [ + { + "name": "input", + "description": "The input fields to create a customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerDelete", + "description": "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).", + "args": [ + { + "name": "input", + "description": "Specifies the customer to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerEmailMarketingConsentUpdate", + "description": "Update a customer's email marketing information information.", + "args": [ + { + "name": "input", + "description": "Specifies the input fields to update a customer's email marketing consent information.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerEmailMarketingConsentUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerEmailMarketingConsentUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerGenerateAccountActivationUrl", + "description": "Generate an account activation URL for a customer.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer that the URL is generated for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerGenerateAccountActivationUrlPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerMerge", + "description": "Merges two customers.", + "args": [ + { + "name": "customerOneId", + "description": "The ID of the first customer that will be merged.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerTwoId", + "description": "The ID of the second customer that will be merged.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "overrideFields", + "description": "The fields to override the default customer merge rules.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CustomerMergeOverrideFields", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerMergePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodCreateFromDuplicationData", + "description": "Creates a vaulted payment method for a customer from duplication data.\n\nThis data must be obtained from another shop within the same organization.\n\nCurrently, this only supports Shop Pay payment methods. This is only available for selected partner apps.", + "args": [ + { + "name": "billingAddress", + "description": "The billing address.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "encryptedDuplicationData", + "description": "The encrypted payment method data.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreateFromDuplicationDataPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodCreditCardCreate", + "description": "Creates a credit card payment method for a customer using a session id.\nThese values are only obtained through card imports happening from a PCI compliant environment.\nPlease use customerPaymentMethodRemoteCreate if you are not managing credit cards directly.", + "args": [ + { + "name": "billingAddress", + "description": "The billing address.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sessionId", + "description": "The Cardserver session ID. Obtained by storing card data with Shopify's Cardsink. Exchanging raw card data for a session ID must be done in a PCI complaint environment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreditCardCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodCreditCardUpdate", + "description": "Updates the credit card payment method for a customer.", + "args": [ + { + "name": "billingAddress", + "description": "The billing address.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the customer payment method.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sessionId", + "description": "The Cardserver session ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodCreditCardUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodGetDuplicationData", + "description": "Returns encrypted data that can be used to duplicate the payment method in another shop within the same organization.\n\nCurrently, this only supports Shop Pay payment methods. This is only available for selected partner apps.", + "args": [ + { + "name": "customerPaymentMethodId", + "description": "The payment method to be duplicated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetCustomerId", + "description": "The customer the payment method will be duplicated into.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetShopId", + "description": "The shop the payment method will be duplicated into.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetDuplicationDataPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodGetUpdateUrl", + "description": "Returns a URL that allows the customer to update a specific payment method.\n\nCurrently, `customerPaymentMethodGetUpdateUrl` only supports Shop Pay.", + "args": [ + { + "name": "customerPaymentMethodId", + "description": "The payment method to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodGetUpdateUrlPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodPaypalBillingAgreementCreate", + "description": "Creates a PayPal billing agreement for a customer.", + "args": [ + { + "name": "billingAddress", + "description": "The billing address.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAgreementId", + "description": "The billing agreement ID from PayPal that starts with 'B-' (for example, `B-1234XXXXX`).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inactive", + "description": "Whether the PayPal billing agreement is inactive.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodPaypalBillingAgreementCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodPaypalBillingAgreementUpdate", + "description": "Updates a PayPal billing agreement for a customer.", + "args": [ + { + "name": "billingAddress", + "description": "The billing address.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the customer payment method.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodPaypalBillingAgreementUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodRemoteCreate", + "description": "Create a payment method from remote gateway identifiers.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteReference", + "description": "Remote gateway payment method details.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerPaymentMethodRemoteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRemoteCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodRemoteCreditCardCreate", + "description": "Create a payment method from a credit card stored by Stripe.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stripeCustomerId", + "description": "The Stripe Customer ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stripePaymentMethodId", + "description": "The Stripe Payment Method ID.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRemoteCreditCardCreatePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `customerPaymentMethodRemoteCreate` instead." + }, + { + "name": "customerPaymentMethodRevoke", + "description": "Revokes a customer's payment method.", + "args": [ + { + "name": "customerPaymentMethodId", + "description": "The ID of the customer payment method to be revoked.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodRevokePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethodSendUpdateEmail", + "description": "Sends a link to the customer so they can update a specific payment method.", + "args": [ + { + "name": "customerPaymentMethodId", + "description": "The payment method to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Specifies the payment method update email fields.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EmailInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethodSendUpdateEmailPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRemoveTaxExemptions", + "description": "Remove tax exemptions from a customer.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The list of tax exemptions to remove for the customer, in the format of an array or a comma-separated list. Example values: `[\"CA_BC_RESELLER_EXEMPTION\", \"A_STATUS_CARD_EXEMPTION\"]`, `\"CA_BC_RESELLER_EXEMPTION, CA_STATUS_CARD_EXEMPTION\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRemoveTaxExemptionsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerReplaceTaxExemptions", + "description": "Replace tax exemptions for a customer.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExemptions", + "description": "The list of tax exemptions that will replace the current exemptions for a customer. Can be an array or a comma-separated list.\n Example values: `[\"CA_BC_RESELLER_EXEMPTION\", \"A_STATUS_CARD_EXEMPTION\"]`, `\"CA_BC_RESELLER_EXEMPTION, CA_STATUS_CARD_EXEMPTION\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxExemption", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerReplaceTaxExemptionsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerRequestDataErasure", + "description": "Enqueues a request to erase customer's data. Read more [here](https://help.shopify.com/manual/privacy-and-security/privacy/processing-customer-data-requests#erase-customer-personal-data).\n\nTo cancel the data erasure request use the [customerCancelDataErasure mutation](https://shopify.dev/api/admin-graphql/unstable/mutations/customerCancelDataErasure).", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer to erase.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerRequestDataErasurePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSegmentMembersQueryCreate", + "description": "Creates a customer segment members query.", + "args": [ + { + "name": "input", + "description": "The input fields to create a customer segment members query.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerSegmentMembersQueryInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQueryCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSendAccountInviteEmail", + "description": "Sends the customer an account invite email.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer to whom an account invite email is to be sent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "Specifies the account invite email fields.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EmailInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerSendAccountInviteEmailPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSmsMarketingConsentUpdate", + "description": "Update a customer's SMS marketing consent information.", + "args": [ + { + "name": "input", + "description": "Specifies the input fields to update a customer's SMS marketing consent information.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerSmsMarketingConsentUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerSmsMarketingConsentUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerUpdate", + "description": "Update a customer's attributes. 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).", + "args": [ + { + "name": "input", + "description": "Provides updated fields for the customer. To set marketing consent, use the `customerEmailMarketingConsentUpdate` or `customerSmsMarketingConsentUpdate` mutations instead.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomerInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerUpdateDefaultAddress", + "description": "Updates a customer's default address.", + "args": [ + { + "name": "addressId", + "description": "The ID of the customer's new default address.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer whose default address is being updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerUpdateDefaultAddressPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dataSaleOptOut", + "description": "Opt out a customer from data sale.", + "args": [ + { + "name": "email", + "description": "The email address of the customer to opt out of data sale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DataSaleOptOutPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delegateAccessTokenCreate", + "description": "Creates a delegate access token.\n\nTo learn more about creating delegate access tokens, refer to\n[Delegate OAuth access tokens to subsystems](https://shopify.dev/docs/apps/build/authentication-authorization/access-tokens/use-delegate-tokens).", + "args": [ + { + "name": "input", + "description": "The input fields for creating a delegate access token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DelegateAccessTokenInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DelegateAccessTokenCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delegateAccessTokenDestroy", + "description": "Destroys a delegate access token.", + "args": [ + { + "name": "accessToken", + "description": "Provides the delegate access token to destroy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DelegateAccessTokenDestroyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryCustomizationActivation", + "description": "Activates and deactivates delivery customizations.", + "args": [ + { + "name": "enabled", + "description": "The enabled status of the delivery customizations.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ids", + "description": "The global IDs of the delivery customizations.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryCustomizationActivationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryCustomizationCreate", + "description": "Creates a delivery customization.", + "args": [ + { + "name": "deliveryCustomization", + "description": "The input data used to create the delivery customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryCustomizationInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryCustomizationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryCustomizationDelete", + "description": "Creates a delivery customization.", + "args": [ + { + "name": "id", + "description": "The global ID of the delivery customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryCustomizationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryCustomizationUpdate", + "description": "Updates a delivery customization.", + "args": [ + { + "name": "deliveryCustomization", + "description": "The input data used to update the delivery customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryCustomizationInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The global ID of the delivery customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryCustomizationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryProfileCreate", + "description": "Create a delivery profile.", + "args": [ + { + "name": "profile", + "description": "Specifies the input fields for a delivery profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryProfileInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryProfileCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryProfileRemove", + "description": "Enqueue the removal of a delivery profile.", + "args": [ + { + "name": "id", + "description": "The ID of the delivery profile to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryProfileRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryProfileUpdate", + "description": "Update a delivery profile.", + "args": [ + { + "name": "id", + "description": "The ID of the delivery profile to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "leaveLegacyModeProfiles", + "description": "Whether this delivery profile should leave legacy mode.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profile", + "description": "Specifies the input fields for a delivery profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryProfileInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryProfileUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPromiseProviderUpsert", + "description": "Creates or updates a delivery promise provider. Currently restricted to select approved delivery promise partners.", + "args": [ + { + "name": "active", + "description": "Whether the delivery promise provider is active. Defaults to `true` when creating a provider.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentDelay", + "description": "The number of seconds to add to the current time as a buffer when looking up delivery promises. Represents how long the shop requires before releasing an order to the fulfillment provider.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the location that will be associated with the delivery promise provider.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timeZone", + "description": "The time zone to be used for interpreting day of week and cutoff times in delivery schedules when looking up delivery promises. Defaults to `UTC` when creating a provider.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryPromiseProviderUpsertPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliverySettingUpdate", + "description": "Set the delivery settings for a shop.", + "args": [ + { + "name": "setting", + "description": "Specifies the input fields for the delivery shop level settings.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliverySettingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliverySettingUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryShippingOriginAssign", + "description": "Assigns a location as the shipping origin while using legacy compatibility mode for multi-location delivery profiles.", + "args": [ + { + "name": "locationId", + "description": "The ID of the location to assign as the shipping origin.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryShippingOriginAssignPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticActivate", + "description": "Activates an automatic discount.", + "args": [ + { + "name": "id", + "description": "The ID of the automatic discount to activate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticActivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticAppCreate", + "description": "Creates an app discount.", + "args": [ + { + "name": "automaticAppDiscount", + "description": "The input data used to create the app discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticAppInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticAppCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticAppUpdate", + "description": "Updates an automatic app discount.", + "args": [ + { + "name": "automaticAppDiscount", + "description": "The input fields required to update the automatic app discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticAppInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the automatic app discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticAppUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticBasicCreate", + "description": "Creates a basic automatic discount.", + "args": [ + { + "name": "automaticBasicDiscount", + "description": "The input data used to create the automatic discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticBasicInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticBasicCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticBasicUpdate", + "description": "Updates a basic automatic discount.", + "args": [ + { + "name": "automaticBasicDiscount", + "description": "The input data used to update the automatic discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticBasicInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the automatic discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticBasicUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticBulkDelete", + "description": "Asynchronously delete automatic discounts in bulk if a `search` or `saved_search_id` argument is provided or if a\nmaximum discount threshold is reached (1,000). Otherwise, deletions will occur inline.\n**Warning:** All automatic discounts will be deleted if a blank `search` argument is provided.", + "args": [ + { + "name": "ids", + "description": "The IDs of the automatic discounts to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the saved search to use for filtering automatic discounts to delete.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The search query for filtering automatic discounts to delete.\n\nFor more information on the list of supported fields and search syntax, refer to the [AutomaticDiscountNodes query section](https://shopify.dev/api/admin-graphql/latest/queries/automaticDiscountNodes#argument-automaticdiscountnodes-query).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticBulkDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticBxgyCreate", + "description": "Creates a BXGY automatic discount.", + "args": [ + { + "name": "automaticBxgyDiscount", + "description": "The input data used to create the automatic discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticBxgyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgyCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticBxgyUpdate", + "description": "Updates an existing Buy X, Get Y (BXGY) automatic discount.", + "args": [ + { + "name": "automaticBxgyDiscount", + "description": "The input data used to update the automatic discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticBxgyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the automatic discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgyUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticDeactivate", + "description": "Deactivates an automatic discount.", + "args": [ + { + "name": "id", + "description": "The ID of the automatic discount to deactivate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticDeactivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticDelete", + "description": "Deletes an automatic discount.", + "args": [ + { + "name": "id", + "description": "The ID of the automatic discount to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticFreeShippingCreate", + "description": "Creates a free shipping automatic discount.", + "args": [ + { + "name": "freeShippingAutomaticDiscount", + "description": "The input data used to create the automatic discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticFreeShippingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticFreeShippingCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAutomaticFreeShippingUpdate", + "description": "Updates a free shipping automatic discount.", + "args": [ + { + "name": "freeShippingAutomaticDiscount", + "description": "The input data used to update the automatic discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountAutomaticFreeShippingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the automatic discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticFreeShippingUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeActivate", + "description": "Activates a code discount.", + "args": [ + { + "name": "id", + "description": "The ID of the code discount to activate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeActivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeAppCreate", + "description": "Creates a code app discount.", + "args": [ + { + "name": "codeAppDiscount", + "description": "The input data used to create the app discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeAppInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeAppCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeAppUpdate", + "description": "Updates a code app discount.", + "args": [ + { + "name": "codeAppDiscount", + "description": "The input fields required to update the code app discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeAppInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the code app discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeAppUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeBasicCreate", + "description": "Creates a basic code discount.", + "args": [ + { + "name": "basicCodeDiscount", + "description": "The input data used to create the code discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeBasicInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeBasicCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeBasicUpdate", + "description": "Updates a basic code discount.", + "args": [ + { + "name": "basicCodeDiscount", + "description": "The input data used to update the code discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeBasicInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the code discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeBasicUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeBulkActivate", + "description": "Asynchronously activate code discounts in bulk using a search query, a saved search ID, or a list of code discount IDs.", + "args": [ + { + "name": "ids", + "description": "The IDs of the code discounts to activate.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the saved search.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The search query for filtering code discounts.\n\nFor more information on the list of supported fields and search syntax, refer to the [CodeDiscountNodes query section](https://shopify.dev/api/admin-graphql/latest/queries/codeDiscountNodes#argument-codediscountnodes-query).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeBulkActivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeBulkDeactivate", + "description": "Asynchronously deactivate code discounts in bulk using a search query, a saved search ID, or a list of code discount IDs.", + "args": [ + { + "name": "ids", + "description": "The IDs of the code discounts to deactivate.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the saved search.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The search query for filtering code discounts.\n\nFor more information on the list of supported fields and search syntax, refer to the [CodeDiscountNodes query section](https://shopify.dev/api/admin-graphql/latest/queries/codeDiscountNodes#argument-codediscountnodes-query).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeBulkDeactivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeBulkDelete", + "description": "Asynchronously delete code discounts in bulk using a search query, a saved search ID, or a list of code discount IDs.", + "args": [ + { + "name": "ids", + "description": "The IDs of the code discounts to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the saved search to use for filtering code discounts to delete.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The search query for filtering code discounts to delete.\n\nFor more information on the list of supported fields and search syntax, refer to the [CodeDiscountNodes query section](https://shopify.dev/api/admin-graphql/latest/queries/codeDiscountNodes#argument-codediscountnodes-query).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeBulkDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeBxgyCreate", + "description": "Creates a Buy X get Y (BXGY) code discount.", + "args": [ + { + "name": "bxgyCodeDiscount", + "description": "The input data used to create the code discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeBxgyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeBxgyCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeBxgyUpdate", + "description": "Updates a Buy X, Get Y (BXGY) code discount.", + "args": [ + { + "name": "bxgyCodeDiscount", + "description": "The input data used to update the code discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeBxgyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the code discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeBxgyUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeDeactivate", + "description": "Deactivates a code discount.", + "args": [ + { + "name": "id", + "description": "The ID of the code discount to deactivate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeDeactivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeDelete", + "description": "Deletes a code discount.", + "args": [ + { + "name": "id", + "description": "The ID of the code discount to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeFreeShippingCreate", + "description": "Creates a free shipping code discount.", + "args": [ + { + "name": "freeShippingCodeDiscount", + "description": "The input data used to create the code discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeFreeShippingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeFreeShippingCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeFreeShippingUpdate", + "description": "Updates a free shipping code discount.", + "args": [ + { + "name": "freeShippingCodeDiscount", + "description": "The input data used to update the code discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountCodeFreeShippingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the code discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeFreeShippingUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodeRedeemCodeBulkDelete", + "description": "Asynchronously delete discount redeem codes in bulk. Specify the redeem codes to delete by providing a\nsearch query, a saved search ID, or a list of redeem code IDs.", + "args": [ + { + "name": "discountId", + "description": "The ID of the redeem code's discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ids", + "description": "The IDs of the discount redeem codes to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the saved search.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The search query for filtering discount redeem codes.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeRedeemCodeBulkDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountRedeemCodeBulkAdd", + "description": "Asynchronously add discount redeem codes in bulk. Specify the codes to add\nand the discount code ID that the codes will belong to.", + "args": [ + { + "name": "codes", + "description": "The list of codes that will be added to the code discount. Maximum 100 codes permitted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DiscountRedeemCodeInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountId", + "description": "The ID of the code discount that the codes will be added to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disputeEvidenceUpdate", + "description": "Updates a dispute evidence.", + "args": [ + { + "name": "id", + "description": "The ID of the dispute evidence to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The updated properties for a dispute evidence.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeEvidenceUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DisputeEvidenceUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderBulkAddTags", + "description": "Adds tags to multiple draft orders.", + "args": [ + { + "name": "ids", + "description": "The IDs of the draft orders to add tags to.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the draft order saved search for filtering draft orders on.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The conditions for filtering draft orders on.\nSee the detailed [search syntax](https://shopify.dev/api/usage/search-syntax).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "List of tags to be added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderBulkAddTagsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderBulkDelete", + "description": "Deletes multiple draft orders.", + "args": [ + { + "name": "ids", + "description": "The IDs of the draft orders to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the draft order saved search for filtering draft orders on.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The conditions for filtering draft orders on.\nSee the detailed [search syntax](https://shopify.dev/api/usage/search-syntax).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderBulkDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderBulkRemoveTags", + "description": "Removes tags from multiple draft orders.", + "args": [ + { + "name": "ids", + "description": "The IDs of the draft orders to remove tags from.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the draft order saved search for filtering draft orders on.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "The conditions for filtering draft orders on.\nSee the detailed [search syntax](https://shopify.dev/api/usage/search-syntax).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "List of tags to be removed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderBulkRemoveTagsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderCalculate", + "description": "Calculates the properties of a draft order. Useful for determining information\nsuch as total taxes or price without actually creating a draft order.", + "args": [ + { + "name": "input", + "description": "The fields for the draft order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DraftOrderInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderCalculatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderComplete", + "description": "Completes a draft order and creates an order.", + "args": [ + { + "name": "id", + "description": "The draft order to complete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentGatewayId", + "description": "The gateway for the completed draft order.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceName", + "description": "A channel definition handle used for sales channel attribution.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderCompletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderCreate", + "description": "Creates a draft order.", + "args": [ + { + "name": "input", + "description": "The fields used to create the draft order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DraftOrderInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderCreateFromOrder", + "description": "Creates a draft order from order.", + "args": [ + { + "name": "orderId", + "description": "Specifies the order's id that we create the draft order from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderCreateFromOrderPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderCreateMerchantCheckout", + "description": "Creates a merchant checkout for the given draft order.", + "args": [ + { + "name": "id", + "description": "Specifies the Draft order's id that we create the checkout for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderCreateMerchantCheckoutPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderDelete", + "description": "Deletes a draft order.", + "args": [ + { + "name": "input", + "description": "Specify the draft order to delete by its ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DraftOrderDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderDuplicate", + "description": "Duplicates a draft order.", + "args": [ + { + "name": "id", + "description": "The ID of the draft order to duplicate.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderDuplicatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderInvoicePreview", + "description": "Previews a draft order invoice email.", + "args": [ + { + "name": "email", + "description": "Specifies the draft order invoice email fields.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EmailInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Specifies the draft order invoice email to preview.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderInvoicePreviewPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderInvoiceSend", + "description": "Sends an email invoice for a draft order.", + "args": [ + { + "name": "email", + "description": "Specifies the draft order invoice email fields.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EmailInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Specifies the draft order to send the invoice for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderInvoiceSendPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderUpdate", + "description": "Updates a draft order.\n\nIf a checkout has been started for a draft order, any update to the draft will unlink the checkout. Checkouts\nare created but not immediately completed when opening the merchant credit card modal in the admin, and when a\nbuyer opens the invoice URL. This is usually fine, but there is an edge case where a checkout is in progress\nand the draft is updated before the checkout completes. This will not interfere with the checkout and order\ncreation, but if the link from draft to checkout is broken the draft will remain open even after the order is\ncreated.", + "args": [ + { + "name": "id", + "description": "Specifies the draft order to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The draft order properties to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DraftOrderInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eventBridgeServerPixelUpdate", + "description": "Updates the server pixel to connect to an EventBridge endpoint.\nRunning this mutation deletes any previous subscriptions for the server pixel.", + "args": [ + { + "name": "arn", + "description": "The ARN for the EventBridge endpoint to which customer events are to be sent.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ARN", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventBridgeServerPixelUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eventBridgeWebhookSubscriptionCreate", + "description": "Creates a new Amazon EventBridge webhook subscription.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "topic", + "description": "The type of event that triggers the webhook.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WebhookSubscriptionTopic", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "Specifies the input fields for an EventBridge webhook subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EventBridgeWebhookSubscriptionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventBridgeWebhookSubscriptionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eventBridgeWebhookSubscriptionUpdate", + "description": "Updates an Amazon EventBridge webhook subscription.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "id", + "description": "The ID of the webhook subscription to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "Specifies the input fields for an EventBridge webhook subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "EventBridgeWebhookSubscriptionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventBridgeWebhookSubscriptionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileAcknowledgeUpdateFailed", + "description": "Acknowledges file update failure by resetting FAILED status to READY and clearing any media errors.", + "args": [ + { + "name": "fileIds", + "description": "Specifies the file(s) to acknowledge the failed updates of.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FileAcknowledgeUpdateFailedPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileCreate", + "description": "Creates file assets using an external URL or for files that were previously uploaded using the\n[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate).\nThese files are added to the [Files page](https://shopify.com/admin/settings/files) in Shopify admin.\n\nFiles are processed asynchronously. Some data is not available until processing is completed.\nCheck [fileStatus](https://shopify.dev/api/admin-graphql/latest/interfaces/File#field-file-filestatus)\nto know when the files are READY or FAILED. See the [FileStatus](https://shopify.dev/api/admin-graphql/latest/enums/filestatus)\nfor the complete set of possible fileStatus values.\n\nTo get a list of all files, use the [files query](https://shopify.dev/api/admin-graphql/latest/queries/files).", + "args": [ + { + "name": "files", + "description": "List of new files to be created.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileCreateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FileCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileDelete", + "description": "Deletes existing file assets that were uploaded to Shopify.", + "args": [ + { + "name": "fileIds", + "description": "The IDs of the files to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FileDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileUpdate", + "description": "Updates an existing file asset that was uploaded to Shopify.", + "args": [ + { + "name": "files", + "description": "List of files to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileUpdateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FileUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "flowGenerateSignature", + "description": "Generates a signature for a Flow action payload.", + "args": [ + { + "name": "id", + "description": "The unique identifier of the Flow action definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payload", + "description": "The request payload used to generate the signature.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FlowGenerateSignaturePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "flowTriggerReceive", + "description": "Triggers any workflows that begin with the trigger specified in the request body. To learn more, refer to [_Create Shopify Flow triggers_](https://shopify.dev/apps/flow/triggers).", + "args": [ + { + "name": "handle", + "description": "The handle of the trigger.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payload", + "description": "The payload needed to run the Trigger.", + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FlowTriggerReceivePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentCancel", + "description": "Cancels a fulfillment.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment to be canceled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentConstraintRuleCreate", + "description": "Creates a fulfillment constraint rule and its metafield.", + "args": [ + { + "name": "deliveryMethodTypes", + "description": "Associate the function with one or multiple delivery method types.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryMethodType", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The identifier of the function providing the constraint rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Metafields to associate to the fulfillment constraint rule.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentConstraintRuleDelete", + "description": "Deletes a fulfillment constraint rule and its metafields.", + "args": [ + { + "name": "id", + "description": "A globally-unique identifier for the fulfillment constraint rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentConstraintRuleUpdate", + "description": "Update a fulfillment constraint rule.", + "args": [ + { + "name": "deliveryMethodTypes", + "description": "Specifies the delivery method types to be updated.\nIf not provided or providing an empty list will associate the function with all delivery methods.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeliveryMethodType", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique identifier for the fulfillment constraint rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRuleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentCreate", + "description": "Creates a fulfillment for one or many fulfillment orders.\nThe fulfillment orders are associated with the same order and are assigned to the same location.", + "args": [ + { + "name": "fulfillment", + "description": "The input fields used to create a fulfillment from fulfillment orders.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional message for the fulfillment request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentCreateV2", + "description": "Creates a fulfillment for one or many fulfillment orders.\nThe fulfillment orders are associated with the same order and are assigned to the same location.", + "args": [ + { + "name": "fulfillment", + "description": "The input fields used to create a fulfillment from fulfillment orders.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentV2Input", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional message for the fulfillment request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentCreateV2Payload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `fulfillmentCreate` instead." + }, + { + "name": "fulfillmentEventCreate", + "description": "Creates a fulfillment event for a specified fulfillment.", + "args": [ + { + "name": "fulfillmentEvent", + "description": "The input fields used to create a fulfillment event for a fulfillment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentEventInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentEventCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderAcceptCancellationRequest", + "description": "Accept a cancellation request sent to a fulfillment service for a fulfillment order.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order associated with the cancellation request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional reason for accepting the cancellation request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderAcceptCancellationRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderAcceptFulfillmentRequest", + "description": "Accepts a fulfillment request sent to a fulfillment service for a fulfillment order.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order associated with the fulfillment request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional reason for accepting the fulfillment request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderAcceptFulfillmentRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderCancel", + "description": "Marks a fulfillment order as canceled.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order to mark as canceled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderClose", + "description": "Marks an in-progress fulfillment order as incomplete, indicating the fulfillment service is unable to ship any remaining items and intends to close the fulfillment order.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order to mark as incomplete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional reason for marking the fulfillment order as incomplete.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderClosePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderHold", + "description": "Applies a fulfillment hold on a fulfillment order.", + "args": [ + { + "name": "fulfillmentHold", + "description": "The details of the fulfillment hold applied on the fulfillment order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderHoldInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the fulfillment order on which a fulfillment hold is applied.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderHoldPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderLineItemsPreparedForPickup", + "description": "Mark line items associated with a fulfillment order as being ready for pickup by a customer.\n\nSends a Ready For Pickup notification to the customer to let them know that their order is ready\nto be picked up.", + "args": [ + { + "name": "input", + "description": "The input for marking fulfillment order line items as ready for pickup.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemsPreparedForPickupInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItemsPreparedForPickupPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderMerge", + "description": "Merges a set or multiple sets of fulfillment orders together into one based on\nline item inputs and quantities.", + "args": [ + { + "name": "fulfillmentOrderMergeInputs", + "description": "One or more sets of fulfillment orders to be merged.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderMergeInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderMergePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderMove", + "description": "Changes the location which is assigned to fulfill a number of unfulfilled fulfillment order line items.\n\nMoving a fulfillment order will fail in the following circumstances:\n\n* The fulfillment order is closed.\n* The destination location has never stocked the requested inventory item.\n* The API client doesn't have the correct permissions.\n\nLine items which have already been fulfilled can't be re-assigned\nand will always remain assigned to the original location.\n\nYou can't change the assigned location while a fulfillment order has a\n[request status](https://shopify.dev/docs/api/admin-graphql/latest/enums/FulfillmentOrderRequestStatus)\nof `SUBMITTED`, `ACCEPTED`, `CANCELLATION_REQUESTED`, or `CANCELLATION_REJECTED`.\nThese request statuses mean that a fulfillment order is awaiting action by a fulfillment service\nand can't be re-assigned without first having the fulfillment service accept a cancellation request.\nThis behavior is intended to prevent items from being fulfilled by multiple locations or fulfillment services.\n\n### How re-assigning line items affects fulfillment orders\n\n**First scenario:** Re-assign all line items belonging to a fulfillment order to a new location.\n\nIn this case, the\n[assignedLocation](https://shopify.dev/docs/api/admin-graphql/latest/objects/fulfillmentorder#field-fulfillmentorder-assignedlocation)\nof the original fulfillment order will be updated to the new location.\n\n**Second scenario:** Re-assign a subset of the line items belonging to a fulfillment order to a new location.\nYou can specify a subset of line items using the `fulfillmentOrderLineItems` parameter\n(available as of the `2023-04` API version),\nor specify that the original fulfillment order contains line items which have already been fulfilled.\n\nIf the new location is already assigned to another active fulfillment order, on the same order, then\na new fulfillment order is created. The existing fulfillment order is closed and line items are recreated\nin a new fulfillment order.", + "args": [ + { + "name": "fulfillmentOrderLineItems", + "description": "The fulfillment order line items to be moved.\nIf left blank, all unfulfilled line items belonging to the fulfillment order are moved.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the fulfillment order to be moved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newLocationId", + "description": "The ID of the location where the fulfillment order will be moved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderMovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderOpen", + "description": "Marks a scheduled fulfillment order as open.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order to mark as open.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderOpenPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderRejectCancellationRequest", + "description": "Rejects a cancellation request sent to a fulfillment service for a fulfillment order.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order associated with the cancellation request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional reason for rejecting the cancellation request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderRejectCancellationRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderRejectFulfillmentRequest", + "description": "Rejects a fulfillment request sent to a fulfillment service for a fulfillment order.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order associated with the fulfillment request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "An optional array of line item rejection details. If none are provided, all line items will be assumed to be unfulfillable.\n\n**Note**: After the fulfillment request has been rejected, none of the line items will be able to be fulfilled. This field documents which line items specifically were unable to be fulfilled and why.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "IncomingRequestLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional reason for rejecting the fulfillment request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the fulfillment order rejection.", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderRejectionReason", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderRejectFulfillmentRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderReleaseHold", + "description": "Releases the fulfillment hold on a fulfillment order.", + "args": [ + { + "name": "externalId", + "description": "A configurable ID used to track the automation system releasing this hold.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "holdIds", + "description": "The IDs of the fulfillment holds to release.
\n
\n Holds will only be released if they belong to the fulfillment order specified by the `id` argument.
\n
\n NOTE: If not supplied, all holds for the fulfillment order will be released. It is highly recommended that apps supply the ids of the holds that they intend to release. Releasing all holds on a fulfillment order will result in the fulfillment order being released prematurely and items being incorrectly fulfilled.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the fulfillment order for which to release the fulfillment hold.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderReleaseHoldPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderReschedule", + "description": "Reschedules a scheduled fulfillment order.\n\nUpdates the value of the `fulfillAt` field on a scheduled fulfillment order.\n\nThe fulfillment order will be marked as ready for fulfillment at this date and time.", + "args": [ + { + "name": "fulfillAt", + "description": "A future date and time when the fulfillment order will be marked as ready for fulfillment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the fulfillment order to reschedule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderReschedulePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderSplit", + "description": "Splits a fulfillment order or orders based on line item inputs and quantities.", + "args": [ + { + "name": "fulfillmentOrderSplits", + "description": "The fulfillment orders, line items and quantities to be split into new fulfillment orders.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderSplitInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderSplitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderSubmitCancellationRequest", + "description": "Sends a cancellation request to the fulfillment service of a fulfillment order.", + "args": [ + { + "name": "id", + "description": "The ID of the fulfillment order associated with the cancellation request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional reason for the cancellation request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderSubmitCancellationRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderSubmitFulfillmentRequest", + "description": "Sends a fulfillment request to the fulfillment service of a fulfillment order.", + "args": [ + { + "name": "fulfillmentOrderLineItems", + "description": "The fulfillment order line items to be requested for fulfillment.\nIf left blank, all line items of the fulfillment order are requested for fulfillment.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOrderLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the fulfillment order associated with fulfillment request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional message for the fulfillment request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Whether the customer should be notified when fulfillments are created for this fulfillment order.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrderSubmitFulfillmentRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrdersSetFulfillmentDeadline", + "description": "Sets the latest date and time by which the fulfillment orders need to be fulfilled.", + "args": [ + { + "name": "fulfillmentDeadline", + "description": "The new fulfillment deadline of the fulfillment orders.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrderIds", + "description": "The IDs of the fulfillment orders for which the deadline is being set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrdersSetFulfillmentDeadlinePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentServiceCreate", + "description": "Creates a fulfillment service.\n\n## Fulfillment service location\n\nWhen creating a fulfillment service, a new location will be automatically created on the shop\nand will be associated with this fulfillment service.\nThis location will be named after the fulfillment service and inherit the shop's address.\n\nIf you are using API version `2023-10` or later, and you need to specify custom attributes for the fulfillment service location\n(for example, to change its address to a country different from the shop's country),\nuse the\n[LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit)\nmutation after creating the fulfillment service.", + "args": [ + { + "name": "callbackUrl", + "description": "The URL to send requests for the fulfillment service. The following considerations apply:\n\n- Shopify queries the callback_url/fetch_tracking_numbers endpoint to retrieve tracking numbers\n for orders, if `trackingSupport` is set to `true`.\n- Shopify queries the callback_url/fetch_stock endpoint to retrieve inventory levels,\n if `inventoryManagement` is set to `true`.\n- Shopify uses the callback_url/fulfillment_order_notification endpoint to send\n [fulfillment and cancellation requests](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-2-receive-fulfillment-requests-and-cancellations).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryManagement", + "description": "Whether the fulfillment service manages product inventory and provides updates to Shopify.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the fulfillment service.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingSupport", + "description": "Whether the fulfillment service provides tracking numbers for packages.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentServiceCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentServiceDelete", + "description": "Deletes a fulfillment service.", + "args": [ + { + "name": "destinationLocationId", + "description": "The ID of the location where inventory and commitments will be relocated\nafter the fulfillment service is deleted.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the fulfillment service to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryAction", + "description": "The action to take with the location after the fulfillment service is deleted.", + "type": { + "kind": "ENUM", + "name": "FulfillmentServiceDeleteInventoryAction", + "ofType": null + }, + "defaultValue": "TRANSFER", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentServiceDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentServiceUpdate", + "description": "Updates a fulfillment service.\n\nIf you are using API version `2023-10` or later,\nand you need to update the location managed by the fulfillment service\n(for example, to change the address of a fulfillment service),\nuse the\n[LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit)\nmutation.", + "args": [ + { + "name": "callbackUrl", + "description": "The URL to send requests for the fulfillment service. The following considerations apply:\n\n- Shopify queries the callback_url/fetch_tracking_numbers endpoint to retrieve tracking numbers\n for orders, if `trackingSupport` is set to `true`.\n- Shopify queries the callback_url/fetch_stock endpoint to retrieve inventory levels,\n if `inventoryManagement` is set to `true`.\n- Shopify uses the callback_url/fulfillment_order_notification endpoint to send\n [fulfillment and cancellation requests](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-2-receive-fulfillment-requests-and-cancellations).", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The id of the fulfillment service.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryManagement", + "description": "Whether the fulfillment service tracks product inventory and provides updates to Shopify.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the fulfillment service.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingSupport", + "description": "Whether the fulfillment service provides tracking numbers for packages.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentServiceUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentTrackingInfoUpdate", + "description": "Updates tracking information for a fulfillment.", + "args": [ + { + "name": "fulfillmentId", + "description": "The ID of the fulfillment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Whether the customer will be notified of this update and future updates for the fulfillment.\nIf this field is left blank, then notifications won't be sent to the customer when the fulfillment is updated.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingInfoInput", + "description": "The tracking input for the mutation, including tracking URL, number, and company.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentTrackingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentTrackingInfoUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentTrackingInfoUpdateV2", + "description": "Updates tracking information for a fulfillment.", + "args": [ + { + "name": "fulfillmentId", + "description": "The ID of the fulfillment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Whether the customer will be notified of this update and future updates for the fulfillment.\nIf this field is left blank, then notifications won't be sent to the customer when the fulfillment is updated.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingInfoInput", + "description": "The tracking input for the mutation, including tracking URL, number, and company.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentTrackingInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentTrackingInfoUpdateV2Payload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `fulfillmentTrackingInfoUpdate` instead." + }, + { + "name": "giftCardCreate", + "description": "Create a gift card.", + "args": [ + { + "name": "input", + "description": "The input fields to create a gift card.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GiftCardCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardCredit", + "description": "Credit a gift card.", + "args": [ + { + "name": "creditInput", + "description": "The input fields to credit a gift card.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GiftCardCreditInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the gift card to be credited.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardCreditPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardDeactivate", + "description": "Deactivate a gift card. A deactivated gift card cannot be used by a customer.\nA deactivated gift card cannot be re-enabled.", + "args": [ + { + "name": "id", + "description": "The ID of the gift card to deactivate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardDeactivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardDebit", + "description": "Debit a gift card.", + "args": [ + { + "name": "debitInput", + "description": "The input fields to debit a gift card.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GiftCardDebitInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the gift card to be debited.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardDebitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardSendNotificationToCustomer", + "description": "Send notification to the customer of a gift card.", + "args": [ + { + "name": "id", + "description": "The ID of the gift card to send.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToCustomerPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardSendNotificationToRecipient", + "description": "Send notification to the recipient of a gift card.", + "args": [ + { + "name": "id", + "description": "The ID of the gift card to send.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardSendNotificationToRecipientPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardUpdate", + "description": "Update a gift card.", + "args": [ + { + "name": "id", + "description": "The ID of the gift card to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The input fields to update the gift card.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "GiftCardUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCardUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryActivate", + "description": "Activate an inventory item at a location.", + "args": [ + { + "name": "available", + "description": "The initial available quantity of the inventory item being activated at the location.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItemId", + "description": "The ID of the inventory item to activate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the location of the inventory item being activated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onHand", + "description": "The initial on_hand quantity of the inventory item being activated at the location.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stockAtLegacyLocation", + "description": "Allow activation at or away from fulfillment service location with sku sharing off. This will deactivate inventory at all other locations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryActivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryAdjustQuantities", + "description": "Apply changes to inventory quantities.", + "args": [ + { + "name": "input", + "description": "The information required to adjust inventory quantities.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryAdjustQuantitiesInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryAdjustQuantitiesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryBulkToggleActivation", + "description": "Modify the activation status of an inventory item at locations. Activating an inventory item at a particular location allows that location to stock that inventory item. Deactivating an inventory item at a location removes the inventory item's quantities and turns off the inventory item from that location.", + "args": [ + { + "name": "inventoryItemId", + "description": "The ID of the inventory item to modify the activation status locations for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItemUpdates", + "description": "A list of pairs of locations and activate status to update for the specified inventory item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryBulkToggleActivationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryBulkToggleActivationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryDeactivate", + "description": "Removes an inventory item's quantities from a location, and turns off inventory at the location.", + "args": [ + { + "name": "inventoryLevelId", + "description": "The ID of the inventory level to deactivate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryDeactivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItemUpdate", + "description": "Updates an inventory item.", + "args": [ + { + "name": "id", + "description": "The ID of the inventory item to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The input fields that update an\n[`inventoryItem`](https://shopify.dev/api/admin-graphql/latest/queries/inventoryitem).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryItemInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryItemUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryMoveQuantities", + "description": "Moves inventory between inventory quantity names at a single location.", + "args": [ + { + "name": "input", + "description": "The information required to move inventory quantities.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryMoveQuantitiesInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryMoveQuantitiesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventorySetOnHandQuantities", + "description": "Set inventory on-hand quantities using absolute values.", + "args": [ + { + "name": "input", + "description": "The information required to set inventory on hand quantities.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventorySetOnHandQuantitiesInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventorySetOnHandQuantitiesPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `inventorySetQuantities` to set on_hand or available quantites instead." + }, + { + "name": "inventorySetQuantities", + "description": "Set quantities of specified name using absolute values. This mutation supports compare-and-set functionality to handle\nconcurrent requests properly. If `ignoreCompareQuantity` is not set to true,\nthe mutation will only update the quantity if the persisted quantity matches the `compareQuantity` value.\nIf the `compareQuantity` value does not match the persisted value, the mutation will return an error. In order to opt out\nof the `compareQuantity` check, the `ignoreCompareQuantity` argument can be set to true.\n\n> Note:\n> Only use this mutation if calling on behalf of a system that acts as the source of truth for inventory quantities,\n> otherwise please consider using the [inventoryAdjustQuantities](https://shopify.dev/api/admin-graphql/latest/mutations/inventoryAdjustQuantities) mutation.\n>\n>\n> Opting out of the `compareQuantity` check can lead to inaccurate inventory quantities if multiple requests are made concurrently.\n> It is recommended to always include the `compareQuantity` value to ensure the accuracy of the inventory quantities and to opt out\n> of the check using `ignoreCompareQuantity` only when necessary.", + "args": [ + { + "name": "input", + "description": "The information required to set inventory quantities.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventorySetQuantitiesInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventorySetQuantitiesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventorySetScheduledChanges", + "description": "Set up scheduled changes of inventory items.", + "args": [ + { + "name": "input", + "description": "The input fields for setting up scheduled changes of inventory items.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventorySetScheduledChangesInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventorySetScheduledChangesPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationActivate", + "description": "Activates a location so that you can stock inventory at the location. Refer to the\n[`isActive`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location#field-isactive) and\n[`activatable`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location#field-activatable)\nfields on the `Location` object.", + "args": [ + { + "name": "locationId", + "description": "The ID of a location to activate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LocationActivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationAdd", + "description": "Adds a new location.", + "args": [ + { + "name": "input", + "description": "The properties of the location to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LocationAddInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LocationAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationDeactivate", + "description": "Deactivates a location and moves inventory, pending orders, and moving transfers to a destination location.", + "args": [ + { + "name": "destinationLocationId", + "description": "The ID of a destination location to which inventory, pending orders and moving transfers will be moved from the location to deactivate.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of a location to deactivate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LocationDeactivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationDelete", + "description": "Deletes a location.", + "args": [ + { + "name": "locationId", + "description": "The ID of a location to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LocationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationEdit", + "description": "Edits an existing location.\n\n[As of the 2023-10 API version](https://shopify.dev/changelog/apps-can-now-change-the-name-and-address-of-their-fulfillment-service-locations), apps can change the name and address of their fulfillment service locations.", + "args": [ + { + "name": "id", + "description": "The ID of a location to edit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The updated properties for the location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LocationEditInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LocationEditPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationLocalPickupDisable", + "description": "Disables local pickup for a location.", + "args": [ + { + "name": "locationId", + "description": "The ID of the location to disable local pickup for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LocationLocalPickupDisablePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationLocalPickupEnable", + "description": "Enables local pickup for a location.", + "args": [ + { + "name": "localPickupSettings", + "description": "The settings required to enable local pickup for a location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeliveryLocationLocalPickupEnableInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LocationLocalPickupEnablePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketCreate", + "description": "Creates a new market.", + "args": [ + { + "name": "input", + "description": "The properties of the new market.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketCurrencySettingsUpdate", + "description": "Updates currency settings of a market.", + "args": [ + { + "name": "input", + "description": "Properties to update for the market currency settings.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketCurrencySettingsUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "The ID of the market definition to target.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketCurrencySettingsUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketDelete", + "description": "Deletes a market definition.", + "args": [ + { + "name": "id", + "description": "The ID of the market to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizationsRegister", + "description": "Creates or updates market localizations.", + "args": [ + { + "name": "marketLocalizations", + "description": "The input fields for a market localization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketLocalizationRegisterInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "The ID of the resource that is being localized within the context of a market.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketLocalizationsRegisterPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizationsRemove", + "description": "Deletes market localizations.", + "args": [ + { + "name": "marketIds", + "description": "The list of market IDs.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizationKeys", + "description": "The list of market localization keys.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "The ID of the resource for which market localizations are being deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketLocalizationsRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketRegionDelete", + "description": "Deletes a market region.", + "args": [ + { + "name": "id", + "description": "The ID of the market region to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketRegionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketRegionsCreate", + "description": "Creates regions that belong to an existing market.", + "args": [ + { + "name": "marketId", + "description": "The ID of the market to add the regions to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "regions", + "description": "The regions to be created.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketRegionCreateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketRegionsCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketRegionsDelete", + "description": "Deletes a list of market regions.", + "args": [ + { + "name": "ids", + "description": "A list of IDs of the market regions to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketRegionsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketUpdate", + "description": "Updates the properties of a market.", + "args": [ + { + "name": "id", + "description": "The ID of the market to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketWebPresenceCreate", + "description": "Creates a web presence for a market.", + "args": [ + { + "name": "marketId", + "description": "The ID of the market for which to create a web presence.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPresence", + "description": "The details of the web presence to be created.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketWebPresenceCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketWebPresenceCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketWebPresenceDelete", + "description": "Deletes a market web presence.", + "args": [ + { + "name": "webPresenceId", + "description": "The ID of the web presence to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketWebPresenceDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketWebPresenceUpdate", + "description": "Updates a market web presence.", + "args": [ + { + "name": "webPresence", + "description": "The web_presence fields used to update the market's web presence.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketWebPresenceUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPresenceId", + "description": "The ID of the web presence to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketWebPresenceUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivitiesDeleteAllExternal", + "description": "Deletes all external marketing activities. Deletion is performed by a background job, as it may take a bit of time to complete if a large number of activities are to be deleted. Attempting to create or modify external activities before the job has completed will result in the create/update/upsert mutation returning an error.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MarketingActivitiesDeleteAllExternalPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityCreate", + "description": "Create new marketing activity.", + "args": [ + { + "name": "input", + "description": "The Input of marketing activity create.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingActivityCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityCreateExternal", + "description": "Creates a new external marketing activity.", + "args": [ + { + "name": "input", + "description": "The input field for creating an external marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityCreateExternalInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingActivityCreateExternalPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityDeleteExternal", + "description": "Deletes an external marketing activity.", + "args": [ + { + "name": "marketingActivityId", + "description": "The ID of the marketing activity. A marketing activity ID or remote ID must be provided.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteId", + "description": "The ID of an activity that's hosted outside of Shopify. A marketing activity ID or remote ID must be provided.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingActivityDeleteExternalPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityUpdate", + "description": "Updates a marketing activity with the latest information.", + "args": [ + { + "name": "input", + "description": "The Input of the marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingActivityUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityUpdateExternal", + "description": "Update an external marketing activity.", + "args": [ + { + "name": "input", + "description": "The input field for updating an external marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityUpdateExternalInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityId", + "description": "The ID of the marketing activity. Specify either the marketing activity ID, remote ID, or UTM to update the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteId", + "description": "The ID of an activity that's hosted outside of Shopify. Specify either the marketing activity ID, remote ID, or UTM to update the marketing activity.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utm", + "description": "Specifies the [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) that are associated with a related marketing campaign. Specify either the marketing activity ID, remote ID, or UTM to update the marketing activity.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UTMInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingActivityUpdateExternalPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityUpsertExternal", + "description": "Creates a new external marketing activity or updates an existing one. When optional fields are absent or null, associated information will be removed from an existing marketing activity.", + "args": [ + { + "name": "input", + "description": "The input field for creating or updating an external marketing activity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketingActivityUpsertExternalInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingActivityUpsertExternalPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingEngagementCreate", + "description": "Creates a new marketing engagement for a marketing activity or a marketing channel.", + "args": [ + { + "name": "channelHandle", + "description": "The unique string identifier of the channel to which the engagement metrics are being provided. This should be set when and only when providing channel-level engagements. This should be nil when providing activity-level engagements. For the correct handle for your channel, contact your partner manager.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityId", + "description": "The identifier of the marketing activity for which the engagement metrics are being provided. This or the remoteId should be set when and only when providing activity-level engagements. This should be nil when providing channel-level engagements.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingEngagement", + "description": "The marketing engagement's attributes.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MarketingEngagementInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteId", + "description": "The ID of an activity that's hosted outside of Shopify. This or the marketingActivityId should be set when and only when providing activity-level engagements. This should be nil when providing channel-level engagements.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingEngagementCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingEngagementsDelete", + "description": "Marks channel-level engagement data such that it no longer appears in reports.\n Activity-level data cannot be deleted directly, instead the MarketingActivity itself should be deleted to\n hide it from reports.", + "args": [ + { + "name": "channelHandle", + "description": "The handle of the channel for which engagement data should be deleted.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteEngagementsForAllChannels", + "description": "When true, engagements for all channels that belong to the api client will be deleted.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingEngagementsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuCreate", + "description": "Creates a menu.", + "args": [ + { + "name": "handle", + "description": "The menus's handle.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "List of the menus' items.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MenuItemCreateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The menu's title.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuDelete", + "description": "Deletes a menu.", + "args": [ + { + "name": "id", + "description": "The ID of the menu to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menuUpdate", + "description": "Updates a menu.", + "args": [ + { + "name": "handle", + "description": "The menus's handle.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the menu to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "items", + "description": "List of the menus' items.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MenuItemUpdateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The menu's title.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MenuUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitionCreate", + "description": "Creates a metafield definition. Any metafields existing under the same owner type, namespace, and key will be\nchecked against this definition and will have their type updated accordingly. For metafields that are not\nvalid, they will remain unchanged but any attempts to update them must align with this definition.", + "args": [ + { + "name": "definition", + "description": "Specifies the input fields for a metafield definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinitionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitionDelete", + "description": "Delete a metafield definition.\nOptionally deletes all associated metafields asynchronously when specified.", + "args": [ + { + "name": "deleteAllAssociatedMetafields", + "description": "Whether to delete all associated metafields.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The id of the metafield definition to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinitionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitionPin", + "description": "You can organize your metafields in your Shopify admin by pinning/unpinning metafield definitions.\nThe order of your pinned metafield definitions determines the order in which your metafields are displayed\non the corresponding pages in your Shopify admin. By default, only pinned metafields are automatically displayed.", + "args": [ + { + "name": "definitionId", + "description": "The ID of the metafield definition to pin.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinitionPinPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitionUnpin", + "description": "You can organize your metafields in your Shopify admin by pinning/unpinning metafield definitions.\nThe order of your pinned metafield definitions determines the order in which your metafields are displayed\non the corresponding pages in your Shopify admin. By default, only pinned metafields are automatically displayed.", + "args": [ + { + "name": "definitionId", + "description": "The ID of the metafield definition to unpin.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinitionUnpinPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitionUpdate", + "description": "Updates a metafield definition.", + "args": [ + { + "name": "definition", + "description": "The input fields for the metafield definition update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinitionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDelete", + "description": "Deletes a metafield.", + "args": [ + { + "name": "input", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldDeletePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This mutation will be removed in a future version. Use `metafieldsDelete` instead." + }, + { + "name": "metafieldStorefrontVisibilityCreate", + "description": "Creates a `MetafieldStorefrontVisibility` record to make all metafields that belong to the specified resource\nand have the established `namespace` and `key` combination visible in the Storefront API.", + "args": [ + { + "name": "input", + "description": "Specifies the input fields for a `MetafieldStorefrontVisibility` record.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldStorefrontVisibilityInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityCreatePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This mutation will be removed in a future version. Use the `metafieldDefinitionCreate` or `metafieldDefinitionUpdate` mutations with `access.storefront` set instead.\n" + }, + { + "name": "metafieldStorefrontVisibilityDelete", + "description": "Deletes a `MetafieldStorefrontVisibility` record. All metafields that belongs to the specified record will no\nlonger be visible in the Storefront API.", + "args": [ + { + "name": "id", + "description": "The ID of the `MetafieldStorefrontVisibility` record to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityDeletePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This mutation will be removed in a future version. Use the `metafieldDefinitionUpdate` mutation with `access.storefront` set instead.\n" + }, + { + "name": "metafieldsDelete", + "description": "Deletes multiple metafields in bulk.", + "args": [ + { + "name": "metafields", + "description": "A list of identifiers specifying metafields to delete. At least one identifier must be specified.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldIdentifierInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldsSet", + "description": "Sets metafield values. Metafield values will be set regardless if they were previously created or not.\n\nAllows a maximum of 25 metafields to be set at a time.\n\nThis operation is atomic, meaning no changes are persisted if an error is encountered.\n\nAs of `2024-07`, this operation supports compare-and-set functionality to better handle concurrent requests.\nIf `compareDigest` is set for any metafield, the mutation will only set that metafield if the persisted metafield value matches the digest used on `compareDigest`.\nIf the metafield doesn't exist yet, but you want to guarantee that the operation will run in a safe manner, set `compareDigest` to `null`.\nThe `compareDigest` value can be acquired by querying the metafield object and selecting `compareDigest` as a field.\nIf the `compareDigest` value does not match the digest for the persisted value, the mutation will return an error.\nYou can opt out of write guarantees by not sending `compareDigest` in the request.", + "args": [ + { + "name": "metafields", + "description": "The list of metafield values to set. Maximum of 25.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldsSetInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldsSetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectBulkDelete", + "description": "Asynchronously delete metaobjects and their associated metafields in bulk.", + "args": [ + { + "name": "where", + "description": "Specifies the condition by which metaobjects are deleted.\nExactly one field of input is required.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectBulkDeleteWhereCondition", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectBulkDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectCreate", + "description": "Creates a new metaobject.", + "args": [ + { + "name": "metaobject", + "description": "The parameters for the metaobject to create.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectDefinitionCreate", + "description": "Creates a new metaobject definition.", + "args": [ + { + "name": "definition", + "description": "The input fields for creating a metaobject definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectDefinitionCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinitionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectDefinitionDelete", + "description": "Deletes the specified metaobject definition.\nAlso deletes all related metafield definitions, metaobjects, and metafields asynchronously.", + "args": [ + { + "name": "id", + "description": "The ID of the metaobjects definition to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinitionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectDefinitionUpdate", + "description": "Updates a metaobject definition with new settings and metafield definitions.", + "args": [ + { + "name": "definition", + "description": "The input fields for updating a metaobject definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectDefinitionUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the metaobject definition to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinitionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectDelete", + "description": "Deletes the specified metaobject and its associated metafields.", + "args": [ + { + "name": "id", + "description": "The ID of the metaobject to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectUpdate", + "description": "Updates an existing metaobject.", + "args": [ + { + "name": "id", + "description": "The ID of the metaobject to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobject", + "description": "Specifies parameters to update on the metaobject.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectUpsert", + "description": "Retrieves a metaobject by handle, then updates it with the provided input values.\nIf no matching metaobject is found, a new metaobject is created with the provided input values.", + "args": [ + { + "name": "handle", + "description": "The identifier of the metaobject to upsert.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectHandleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobject", + "description": "The parameters to upsert the metaobject.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectUpsertInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectUpsertPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mobilePlatformApplicationCreate", + "description": "Create a mobile platform application.", + "args": [ + { + "name": "input", + "description": "The input to create a mobile platform application.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mobilePlatformApplicationDelete", + "description": "Delete a mobile platform application.", + "args": [ + { + "name": "id", + "description": "The ID of the Mobile Platform Application to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mobilePlatformApplicationUpdate", + "description": "Update a mobile platform application.", + "args": [ + { + "name": "id", + "description": "The ID of the Mobile Platform Application to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The input to updat a Mobile Platform Application.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MobilePlatformApplicationUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderCancel", + "description": "Cancels an order.", + "args": [ + { + "name": "notifyCustomer", + "description": "Whether to send a notification to the customer about the order cancellation.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "The ID of the order to be canceled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for canceling the order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderCancelReason", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refund", + "description": "Whether to refund the amount paid by the customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restock", + "description": "Whether to restock the inventory committed to the order. For unpaid orders fulfilled from locations that have been deactivated, inventory will not be restocked to the deactivated locations even if this argument is set to true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffNote", + "description": "A staff-facing note about the order cancellation. This is not visible to the customer.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderCapture", + "description": "Captures payment for an authorized transaction on an order. An order can only be captured if it has a successful authorization transaction. Capturing an order will claim the money reserved by the authorization. orderCapture can be used to capture multiple times as long as the OrderTransaction is multi-capturable. To capture a partial payment, the included `amount` value should be less than the total order amount. Multi-capture is available only to stores on a Shopify Plus plan.", + "args": [ + { + "name": "input", + "description": "The input for the mutation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCaptureInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderCapturePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderClose", + "description": "Closes an open order.", + "args": [ + { + "name": "input", + "description": "The input for the mutation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCloseInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderClosePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderCreate", + "description": "Creates an order.", + "args": [ + { + "name": "options", + "description": "Service options for the mutation.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateOptionsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The input for the mutation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateOrderInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderCreateMandatePayment", + "description": "Creates a payment for an order by mandate.", + "args": [ + { + "name": "amount", + "description": "The payment amount to collect.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoCapture", + "description": "Whether the payment should be authorized or captured. If `false`, then the authorization of\n the payment is triggered.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the order to collect the balance for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "idempotencyKey", + "description": "A unique key to identify the payment request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mandateId", + "description": "The mandate ID used for payment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentScheduleId", + "description": "The ID of the payment schedule to collect the balance for.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderCreateMandatePaymentPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderDelete", + "description": "Deletes an order. For more information on which orders can be deleted, refer to [Delete an order](https://help.shopify.com/manual/orders/cancel-delete-order#delete-an-order).", + "args": [ + { + "name": "orderId", + "description": "The ID of the order to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditAddCustomItem", + "description": "Adds a custom line item to an existing order. For example, you could add a gift wrapping service as a [custom line item](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing#add-a-custom-line-item). To learn how to edit existing orders, refer to [Edit an existing order with Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nto which the custom item is added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the retail [location](https://shopify.dev/api/admin-graphql/latest/objects/location)\n(if applicable) from which the custom item is sold. Used for tax calculations. A default location will be chosen automatically if none is provided.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The unit price of the custom item. This value can't be negative.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the custom item. This value must be greater than zero.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether the custom item requires shipping. Defaults to `false`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the custom item is taxable. Defaults to `true`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the custom item to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditAddCustomItemPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditAddLineItemDiscount", + "description": "Adds a discount to a line item on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "discount", + "description": "The discount to add to the line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderEditAppliedDiscountInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nto update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItemId", + "description": "The ID of the calculated line item to add the discount to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditAddLineItemDiscountPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditAddShippingLine", + "description": "Adds a shipping line to an existing order. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nto edit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "The shipping line to be added.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderEditAddShippingLineInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditAddShippingLinePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditAddVariant", + "description": "Adds a line item from an existing product variant.", + "args": [ + { + "name": "allowDuplicates", + "description": "Whether the mutation can create a line item for a variant that's already on the calculated order.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nto edit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the [location](https://shopify.dev/api/admin-graphql/latest/objects/location)\nto check for inventory availability. A default location ID is chosen automatically if none is provided.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the item to add to the order. Must be a positive value.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The ID of the variant to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditAddVariantPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditBegin", + "description": "Starts editing an order. Mutations are operating on `OrderEdit`.\nAll order edits start with `orderEditBegin`, have any number of `orderEdit`* mutations made, and end with `orderEditCommit`.", + "args": [ + { + "name": "id", + "description": "The ID of the order to begin editing.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditBeginPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditCommit", + "description": "Applies and saves staged changes to an order. Mutations are operating on `OrderEdit`.\nAll order edits start with `orderEditBegin`, have any number of `orderEdit`* mutations made, and end with `orderEditCommit`.", + "args": [ + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nthat will have its changes applied to the order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Whether to notify the customer or not.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffNote", + "description": "Note for staff members.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditCommitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditRemoveDiscount", + "description": "Removes a discount on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "discountApplicationId", + "description": "The ID of the [calculated discount application](https://shopify.dev/api/admin-graphql/latest/interfaces/calculateddiscountapplication)\nto remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nfrom which to remove the discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditRemoveDiscountPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditRemoveLineItemDiscount", + "description": "Removes a line item discount that was applied as part of an order edit.", + "args": [ + { + "name": "discountApplicationId", + "description": "The ID of the [calculated discount application](https://shopify.dev/api/admin-graphql/latest/interfaces/calculateddiscountapplication)\nto remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nfrom which to remove the discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditRemoveLineItemDiscountPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `orderEditRemoveDiscount` instead." + }, + { + "name": "orderEditRemoveShippingLine", + "description": "Removes a shipping line from an existing order. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nto edit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLineId", + "description": "The ID of the calculated shipping line to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditRemoveShippingLinePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditSetQuantity", + "description": "Sets the quantity of a line item on an order that is being edited. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nto edit. The edit changes the quantity on the line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItemId", + "description": "The ID of the calculated line item to edit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The new quantity to set for the line item. This value cannot be negative.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restock", + "description": "Whether or not to restock the line item when the updated quantity is less than the original quantity.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditSetQuantityPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditUpdateDiscount", + "description": "Updates a manual line level discount on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "discount", + "description": "The updated discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderEditAppliedDiscountInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountApplicationId", + "description": "The ID of the [calculated discount application](https://shopify.dev/api/admin-graphql/latest/interfaces/calculateddiscountapplication)\nto update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nfrom which to update the discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditUpdateDiscountPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderEditUpdateShippingLine", + "description": "Updates a shipping line on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).", + "args": [ + { + "name": "id", + "description": "The ID of the [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nfrom which to update the shipping line.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "The updated shipping line.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderEditUpdateShippingLineInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLineId", + "description": "The ID of the calculated shipping line to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderEditUpdateShippingLinePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderInvoiceSend", + "description": "Sends an email invoice for an order.", + "args": [ + { + "name": "email", + "description": "The email input fields for the order invoice. The `bcc` and `from` fields should be store or staff account emails.", + "type": { + "kind": "INPUT_OBJECT", + "name": "EmailInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The order associated with the invoice.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderInvoiceSendPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderMarkAsPaid", + "description": "Marks an order as paid. You can only mark an order as paid if it isn't already fully paid.", + "args": [ + { + "name": "input", + "description": "The input for the mutation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderMarkAsPaidInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderMarkAsPaidPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderOpen", + "description": "Opens a closed order.", + "args": [ + { + "name": "input", + "description": "The input for the mutation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderOpenInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderOpenPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderRiskAssessmentCreate", + "description": "Create a risk assessment for an order.", + "args": [ + { + "name": "orderRiskAssessmentInput", + "description": "The input fields required to create a risk assessment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderRiskAssessmentCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderRiskAssessmentCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderUpdate", + "description": "Updates the fields of an order.", + "args": [ + { + "name": "input", + "description": "The input for the mutation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageCreate", + "description": "Creates a page.", + "args": [ + { + "name": "page", + "description": "The properties of the new page.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PageCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageDelete", + "description": "Deletes a page.", + "args": [ + { + "name": "id", + "description": "The ID of the page to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageUpdate", + "description": "Updates a page.", + "args": [ + { + "name": "id", + "description": "The ID of the page to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "The properties of the page to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PageUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PageUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCustomizationActivation", + "description": "Activates and deactivates payment customizations.", + "args": [ + { + "name": "enabled", + "description": "The enabled status of the payment customizations.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ids", + "description": "The global IDs of the payment customizations.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentCustomizationActivationPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCustomizationCreate", + "description": "Creates a payment customization.", + "args": [ + { + "name": "paymentCustomization", + "description": "The input data used to create the payment customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentCustomizationInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentCustomizationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCustomizationDelete", + "description": "Deletes a payment customization.", + "args": [ + { + "name": "id", + "description": "The global ID of the payment customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentCustomizationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCustomizationUpdate", + "description": "Updates a payment customization.", + "args": [ + { + "name": "id", + "description": "The global ID of the payment customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCustomization", + "description": "The input data used to update the payment customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentCustomizationInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentCustomizationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentReminderSend", + "description": "Sends an email payment reminder for a payment schedule.", + "args": [ + { + "name": "paymentScheduleId", + "description": "The payment schedule id associated with the reminder.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentReminderSendPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsCreate", + "description": "Create payment terms on an order. To create payment terms on a draft order, use a draft order mutation and include the request with the `DraftOrderInput`.", + "args": [ + { + "name": "paymentTermsAttributes", + "description": "The attributes used to create the payment terms.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceId", + "description": "Specifies the reference orderId to add the payment terms for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentTermsCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsDelete", + "description": "Delete payment terms for an order. To delete payment terms on a draft order, use a draft order mutation and include the request with the `DraftOrderInput`.", + "args": [ + { + "name": "input", + "description": "The input fields used to delete the payment terms.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentTermsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsUpdate", + "description": "Update payment terms on an order. To update payment terms on a draft order, use a draft order mutation and include the request with the `DraftOrderInput`.", + "args": [ + { + "name": "input", + "description": "The input fields used to update the payment terms.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentTermsUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListCreate", + "description": "Creates a price list. You can use the `priceListCreate` mutation to create a new price list and associate it with a catalog. This enables you to sell your products with contextual pricing.", + "args": [ + { + "name": "input", + "description": "The properties of the new price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceListCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListDelete", + "description": "Deletes a price list. For example, you can delete a price list so that it no longer applies for products in the associated market.", + "args": [ + { + "name": "id", + "description": "The ID of the price list to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceListDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListFixedPricesAdd", + "description": "Creates or updates fixed prices on a price list. You can use the `priceListFixedPricesAdd` mutation to set a fixed price for specific product variants. This lets you change product variant pricing on a per country basis. Any existing fixed price list prices for these variants will be overwritten.", + "args": [ + { + "name": "priceListId", + "description": "The ID of the price list to which the fixed prices will be added or updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prices", + "description": "The list of fixed prices to add or update in the price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListPriceInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceListFixedPricesAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListFixedPricesByProductUpdate", + "description": "Updates the fixed prices for all variants for a product on a price list. You can use the `priceListFixedPricesByProductUpdate` mutation to set or remove a fixed price for all variants of a product associated with the price list.", + "args": [ + { + "name": "priceListId", + "description": "The price list to update the prices for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricesToAdd", + "description": "A list of `PriceListProductPriceInput` that identifies which products to update the fixed prices for.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListProductPriceInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricesToDeleteByProductIds", + "description": "A list of product IDs that identifies which products to remove the fixed prices for.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceListFixedPricesByProductUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListFixedPricesDelete", + "description": "Deletes specific fixed prices from a price list using a product variant ID. You can use the `priceListFixedPricesDelete` mutation to delete a set of fixed prices from a price list. After deleting the set of fixed prices from the price list, the price of each product variant reverts to the original price that was determined by the price list adjustment.", + "args": [ + { + "name": "priceListId", + "description": "The ID of the price list from which the fixed prices will be removed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantIds", + "description": "A list of product variant IDs whose fixed prices will be removed from the price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceListFixedPricesDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListFixedPricesUpdate", + "description": "Updates fixed prices on a price list. You can use the `priceListFixedPricesUpdate` mutation to set a fixed price for specific product variants or to delete prices for variants associated with the price list.", + "args": [ + { + "name": "priceListId", + "description": "The price list that the prices will be updated against.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricesToAdd", + "description": "The fixed prices to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListPriceInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantIdsToDelete", + "description": "A list of product variant IDs to remove from the price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceListFixedPricesUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListUpdate", + "description": "Updates a price list.\nIf you modify the currency, then any fixed prices set on the price list will be deleted.", + "args": [ + { + "name": "id", + "description": "The ID of the price list to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The input data used to update the price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceListUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafieldDelete", + "description": "Deletes a private metafield.\nPrivate metafields are automatically deleted when the app that created them is uninstalled.", + "args": [ + { + "name": "input", + "description": "The input fields for the private metafield to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrivateMetafieldDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafieldDeletePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafieldUpsert", + "description": "Creates or updates a private metafield. Use private metafields when you don't want the metafield data to be accessible by merchants or other apps.\nPrivate metafields are accessible only by the application that created them and only from the GraphQL Admin API.\n\nAn application can create a maximum of 10 private metafields per shop resource.", + "args": [ + { + "name": "input", + "description": "Specifies the input fields for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrivateMetafieldInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafieldUpsertPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "productBundleCreate", + "description": "Creates a new componentized product.", + "args": [ + { + "name": "input", + "description": "Input for creating a componentized product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductBundleCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductBundleCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productBundleUpdate", + "description": "Updates a componentized product.", + "args": [ + { + "name": "input", + "description": "Input for updating a componentized product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductBundleUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductBundleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productChangeStatus", + "description": "Changes the status of a product. This allows you to set the availability of the product across all channels.", + "args": [ + { + "name": "productId", + "description": "The ID of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status to be assigned to the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductStatus", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductChangeStatusPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `productUpdate` instead." + }, + { + "name": "productCreate", + "description": "Creates a product.\n\nLearn more about the [product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model)\nand [adding product data](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/add-data).", + "args": [ + { + "name": "media", + "description": "List of new media to be added to the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateMediaInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The properties of the new product.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProductCreateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productCreateMedia", + "description": "Creates media for a product.", + "args": [ + { + "name": "media", + "description": "List of new media to be added to a product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateMediaInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "Specifies the product associated with the media.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductCreateMediaPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDelete", + "description": "Deletes a product, including all associated variants and media.\n\nAs of API version `2023-01`, if you need to delete a large product, such as one that has many\n[variants](https://shopify.dev/api/admin-graphql/latest/input-objects/ProductVariantInput)\nthat are active at several\n[locations](https://shopify.dev/api/admin-graphql/latest/input-objects/InventoryLevelInput),\nyou may encounter timeout errors. To avoid these timeout errors, you can instead use the asynchronous\n[ProductDeleteAsync](https://shopify.dev/api/admin-graphql/latest/mutations/productDeleteAsync)\nmutation.", + "args": [ + { + "name": "input", + "description": "Specifies the product to delete by its ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "synchronous", + "description": "Specifies whether or not to run the mutation synchronously.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDeleteMedia", + "description": "Deletes media for a product.", + "args": [ + { + "name": "mediaIds", + "description": "The media IDs to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "Specifies the product ID from which the media will be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductDeleteMediaPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDuplicate", + "description": "Duplicates a product.\n\nIf you need to duplicate a large product, such as one that has many\n[variants](https://shopify.dev/api/admin-graphql/latest/input-objects/ProductVariantInput)\nthat are active at several\n[locations](https://shopify.dev/api/admin-graphql/latest/input-objects/InventoryLevelInput),\nyou might encounter timeout errors.\n\nTo avoid these timeout errors, you can instead duplicate the product asynchronously.\n\nIn API version 2024-10 and higher, include `synchronous: false` argument in this mutation to perform the duplication asynchronously.\n\nIn API version 2024-07 and lower, use the asynchronous [`ProductDuplicateAsyncV2`](https://shopify.dev/api/admin-graphql/2024-07/mutations/productDuplicateAsyncV2).", + "args": [ + { + "name": "includeImages", + "description": "Specifies whether or not to duplicate images.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeTranslations", + "description": "Specifies whether or not to duplicate translations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newStatus", + "description": "The new status of the product. If no value is provided the status will be inherited from the original product.", + "type": { + "kind": "ENUM", + "name": "ProductStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newTitle", + "description": "The new title of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product to be duplicated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "synchronous", + "description": "Specifies whether or not to run the mutation synchronously.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductDuplicatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productFeedCreate", + "description": "Creates a product feed for a specific publication.", + "args": [ + { + "name": "input", + "description": "The properties of the new product feed.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProductFeedInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductFeedCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productFeedDelete", + "description": "Deletes a product feed for a specific publication.", + "args": [ + { + "name": "id", + "description": "The ID of the product feed to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductFeedDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productFullSync", + "description": "Runs the full product sync for a given shop.", + "args": [ + { + "name": "beforeUpdatedAt", + "description": "Syncs only products that haven't changed since the specified timestamp.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The product feed which needs syncing.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAtSince", + "description": "Syncs only products that have changed since the specified timestamp.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductFullSyncPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productJoinSellingPlanGroups", + "description": "Adds multiple selling plan groups to a product.", + "args": [ + { + "name": "id", + "description": "The ID of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupIds", + "description": "The IDs of the selling plan groups to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductJoinSellingPlanGroupsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productLeaveSellingPlanGroups", + "description": "Removes multiple groups from a product.", + "args": [ + { + "name": "id", + "description": "The ID of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupIds", + "description": "The IDs of the selling plan groups to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductLeaveSellingPlanGroupsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOptionUpdate", + "description": "Updates a product option.", + "args": [ + { + "name": "option", + "description": "Option to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionValuesToAdd", + "description": "New option values to create.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionValueCreateInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionValuesToDelete", + "description": "IDs of the existing option values to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionValuesToUpdate", + "description": "Existing option values to update.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionValueUpdateInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the Product the Option belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantStrategy", + "description": "The strategy defines which behavior the mutation should observe regarding variants,\nsuch as creating variants or deleting them in response to option values to add or to delete.\nIf not provided or set to null, the strategy `LEAVE_AS_IS` will be used.", + "type": { + "kind": "ENUM", + "name": "ProductOptionUpdateVariantStrategy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductOptionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOptionsCreate", + "description": "Creates options on a product.", + "args": [ + { + "name": "options", + "description": "Options to add to the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionCreateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantStrategy", + "description": "The strategy defines which behavior the mutation should observe regarding variants.\nIf not provided or set to null, the strategy `LEAVE_AS_IS` will be used.", + "type": { + "kind": "ENUM", + "name": "ProductOptionCreateVariantStrategy", + "ofType": null + }, + "defaultValue": "LEAVE_AS_IS", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductOptionsCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOptionsDelete", + "description": "Deletes the specified options.", + "args": [ + { + "name": "options", + "description": "IDs of the options to delete from the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "ID of the product from which to delete the options.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "strategy", + "description": "The strategy defines which behavior the mutation should observe,such as how to handle a situation where deleting an option would result in duplicate variants.", + "type": { + "kind": "ENUM", + "name": "ProductOptionDeleteStrategy", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductOptionsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOptionsReorder", + "description": "Reorders options and option values on a product, causing product variants to alter their position.\n\nOptions order take precedence over option values order. Depending on the existing product variants,\nsome input orders might not be achieved.\n\nExample:\n Existing product variants:\n [\"Red / Small\", \"Green / Medium\", \"Blue / Small\"].\n\n New order:\n [\n {\n name: \"Size\", values: [{ name: \"Small\" }, { name: \"Medium\" }],\n name: \"Color\", values: [{ name: \"Green\" }, { name: \"Red\" }, { name: \"Blue\" }]\n }\n ].\n\n Description:\n Variants with \"Green\" value are expected to appear before variants with \"Red\" and \"Blue\" values.\n However, \"Size\" option appears before \"Color\".\n\n Therefore, output will be:\n [\"Small / \"Red\", \"Small / Blue\", \"Medium / Green\"].", + "args": [ + { + "name": "options", + "description": "Options to reorder on the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionReorderInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductOptionsReorderPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productPublish", + "description": "Publishes a product. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can only be published on online stores.", + "args": [ + { + "name": "input", + "description": "Specifies the product to publish and the channels to publish it to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductPublishInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductPublishPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `publishablePublish` instead." + }, + { + "name": "productReorderMedia", + "description": "Asynchronously reorders the media attached to a product.", + "args": [ + { + "name": "id", + "description": "The ID of the product on which to reorder medias.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "moves", + "description": "A list of moves to perform which will be evaluated in order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoveInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductReorderMediaPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productSet", + "description": "Creates or updates a product in a single request.\n\nUse this mutation when syncing information from an external data source into Shopify.\n\nWhen using this mutation to update a product, specify that product's `id` in the input.\n\nAny list field (e.g.\n[collections](https://shopify.dev/api/admin-graphql/current/input-objects/ProductSetInput#field-productsetinput-collections),\n[metafields](https://shopify.dev/api/admin-graphql/current/input-objects/ProductSetInput#field-productsetinput-metafields),\n[variants](https://shopify.dev/api/admin-graphql/current/input-objects/ProductSetInput#field-productsetinput-variants))\nwill be updated so that all included entries are either created or updated, and all existing entries not\nincluded will be deleted.\n\nAll other fields will be updated to the value passed. Omitted fields will not be updated.\n\nWhen run in synchronous mode, the `productSet` mutation has an input limit of 100 variants. If you anticipate\nany of your use cases requiring support for more than 100 variants, please use the mutation in asynchronous\nmode (default).\n\nWhen run in synchronous mode, you will get the product back in the response.\n\nIn asynchronous mode, you will instead get a\n[ProductSetOperation](https://shopify.dev/api/admin-graphql/current/objects/ProductSetOperation)\nobject back. You can then use the\n[productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query to\nretrieve the updated product data. This query uses the `ProductSetOperation` object to\ncheck the status of the operation and to retrieve the details of the updated product and its variants.\n\nIf you need to update a subset of variants, use one of the bulk variant mutations:\n- [productVariantsBulkCreate](https://shopify.dev/api/admin-graphql/current/mutations/productVariantsBulkCreate)\n- [productVariantsBulkUpdate](https://shopify.dev/api/admin-graphql/current/mutations/productVariantsBulkUpdate)\n- [productVariantsBulkDelete](https://shopify.dev/api/admin-graphql/current/mutations/productVariantsBulkDelete)\n\nIf you need to update options, use one of the product option mutations:\n- [productOptionsCreate](https://shopify.dev/api/admin-graphql/current/mutations/productOptionsCreate)\n- [productOptionUpdate](https://shopify.dev/api/admin-graphql/current/mutations/productOptionUpdate)\n- [productOptionsDelete](https://shopify.dev/api/admin-graphql/current/mutations/productOptionsDelete)\n- [productOptionsReorder](https://shopify.dev/api/admin-graphql/current/mutations/productOptionsReorder)\n\nSee our guide to\n[sync product data from an external source](https://shopify.dev/api/admin/migrate/new-product-model/sync-data)\nfor more.", + "args": [ + { + "name": "input", + "description": "The properties of the newly created or updated product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductSetInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "synchronous", + "description": "Whether the mutation should be run synchronously or asynchronously.\n\nIf `true`, the mutation will return the updated `product`.\n\nIf `false`, the mutation will return a `productSetOperation`.\n\nDefaults to `true`.\n\nSetting `synchronous: false` may be desirable depending on the input complexity/size, and should be used if you are experiencing timeouts.\n\n**Note**: When run in the context of a\n[bulk operation](https://shopify.dev/api/usage/bulk-operations/imports), the mutation will\nalways run synchronously and this argument will be ignored.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductSetPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productUnpublish", + "description": "Unpublishes a product.", + "args": [ + { + "name": "input", + "description": "Specifies the product to unpublish and the channel to unpublish it from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductUnpublishInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductUnpublishPayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `publishableUnpublish` instead." + }, + { + "name": "productUpdate", + "description": "Updates a product.\n\nFor versions `2024-01` and older:\nIf you update a product and only include some variants in the update,\nthen any variants not included will be deleted.\n\nTo safely manage variants without the risk of\ndeleting excluded variants, use\n[productVariantsBulkUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/productvariantsbulkupdate).\n\nIf you want to update a single variant, then use\n[productVariantUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/productvariantupdate).", + "args": [ + { + "name": "media", + "description": "List of new media to be added to the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateMediaInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The updated properties for a product.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProductUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productUpdateMedia", + "description": "Updates media for a product.", + "args": [ + { + "name": "media", + "description": "A list of media updates.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateMediaInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "Specifies the product on which media will be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductUpdateMediaPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantAppendMedia", + "description": "Appends media from a product to variants of the product.", + "args": [ + { + "name": "productId", + "description": "Specifies the product associated to the media.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantMedia", + "description": "A list of pairs of variants and media to be attached to the variants.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantAppendMediaInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantAppendMediaPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantDetachMedia", + "description": "Detaches media from product variants.", + "args": [ + { + "name": "productId", + "description": "Specifies the product to which the variants and media are associated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantMedia", + "description": "A list of pairs of variants and media to be deleted from the variants.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantDetachMediaInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantDetachMediaPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantJoinSellingPlanGroups", + "description": "Adds multiple selling plan groups to a product variant.", + "args": [ + { + "name": "id", + "description": "The ID of the product variant.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupIds", + "description": "The IDs of the selling plan groups to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantJoinSellingPlanGroupsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantLeaveSellingPlanGroups", + "description": "Remove multiple groups from a product variant.", + "args": [ + { + "name": "id", + "description": "The ID of the product variant.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupIds", + "description": "The IDs of the selling plan groups to leave.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantLeaveSellingPlanGroupsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantRelationshipBulkUpdate", + "description": "Creates new bundles, updates existing bundles, and removes bundle components for one or multiple bundles.", + "args": [ + { + "name": "input", + "description": "The input options for the product variant being updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantRelationshipUpdateInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantRelationshipBulkUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsBulkCreate", + "description": "Creates multiple variants in a single product. This mutation can be called directly or via the bulkOperation.", + "args": [ + { + "name": "media", + "description": "List of new media to be added to the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateMediaInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product on which to create the variants.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "strategy", + "description": "The strategy defines which behavior the mutation should observe, such as whether to keep or delete the standalone variant (when product has only a single or default variant) when creating new variants in bulk.", + "type": { + "kind": "ENUM", + "name": "ProductVariantsBulkCreateStrategy", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variants", + "description": "An array of product variants to be created.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantsBulkInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantsBulkCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsBulkDelete", + "description": "Deletes multiple variants in a single product. This mutation can be called directly or via the bulkOperation.", + "args": [ + { + "name": "productId", + "description": "The ID of the product with the variants to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantsIds", + "description": "An array of product variants IDs to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantsBulkDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsBulkReorder", + "description": "Reorders multiple variants in a single product. This mutation can be called directly or via the bulkOperation.", + "args": [ + { + "name": "positions", + "description": "An array of variant positions.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantPositionInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The product ID of the variants to be reordered.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantsBulkReorderPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsBulkUpdate", + "description": "Updates multiple variants in a single product. This mutation can be called directly or via the bulkOperation.", + "args": [ + { + "name": "allowPartialUpdates", + "description": "When partial updates are allowed, valid variant changes may be persisted even if some of\nthe variants updated have invalid data and cannot be persisted.\nWhen partial updates are not allowed, any error will prevent all variants from updating.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "media", + "description": "List of new media to be added to the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateMediaInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product associated with the variants to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variants", + "description": "An array of product variants to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantsBulkInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariantsBulkUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pubSubServerPixelUpdate", + "description": "Updates the server pixel to connect to a Google PubSub endpoint.\nRunning this mutation deletes any previous subscriptions for the server pixel.", + "args": [ + { + "name": "pubSubProject", + "description": "The Google PubSub project ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pubSubTopic", + "description": "The Google PubSub topic ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PubSubServerPixelUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pubSubWebhookSubscriptionCreate", + "description": "Creates a new Google Cloud Pub/Sub webhook subscription.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "topic", + "description": "The type of event that triggers the webhook.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WebhookSubscriptionTopic", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "Specifies the input fields for a Google Cloud Pub/Sub webhook subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PubSubWebhookSubscriptionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pubSubWebhookSubscriptionUpdate", + "description": "Updates a Google Cloud Pub/Sub webhook subscription.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "id", + "description": "The ID of the webhook subscription to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "Specifies the input fields for a Google Cloud Pub/Sub webhook subscription.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PubSubWebhookSubscriptionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationCreate", + "description": "Creates a publication.", + "args": [ + { + "name": "input", + "description": "The input fields to use when creating the publication.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PublicationCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PublicationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationDelete", + "description": "Deletes a publication.", + "args": [ + { + "name": "id", + "description": "The ID of the publication to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PublicationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationUpdate", + "description": "Updates a publication.", + "args": [ + { + "name": "id", + "description": "The ID of the publication to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The input fields to use when updating the publication.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PublicationUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PublicationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishablePublish", + "description": "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.", + "args": [ + { + "name": "id", + "description": "The resource to create or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "Specifies the input fields required to publish a resource.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PublicationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PublishablePublishPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishablePublishToCurrentChannel", + "description": "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.", + "args": [ + { + "name": "id", + "description": "The resource to create or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PublishablePublishToCurrentChannelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishableUnpublish", + "description": "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`.", + "args": [ + { + "name": "id", + "description": "The resource to delete or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "Specifies the input fields required to unpublish a resource.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PublicationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PublishableUnpublishPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishableUnpublishToCurrentChannel", + "description": "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`.", + "args": [ + { + "name": "id", + "description": "The resource to delete or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PublishableUnpublishToCurrentChannelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityPricingByVariantUpdate", + "description": "Updates quantity pricing on a price list. You can use the `quantityPricingByVariantUpdate` mutation to set fixed prices, quantity rules, and quantity price breaks. This mutation does not allow partial successes. If any of the requested resources fail to update, none of the requested resources will be updated. Delete operations are executed before create operations.", + "args": [ + { + "name": "input", + "description": "The input data used to update the quantity pricing in the price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "QuantityPricingByVariantUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceListId", + "description": "The ID of the price list for which quantity pricing will be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "QuantityPricingByVariantUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityRulesAdd", + "description": "Creates or updates existing quantity rules on a price list.\nYou can use the `quantityRulesAdd` mutation to set order level minimums, maximumums and increments for specific product variants.", + "args": [ + { + "name": "priceListId", + "description": "The ID of the price list to which the quantity rules will be added or updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityRules", + "description": "The list of quantity rules to add or update in the price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "QuantityRuleInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "QuantityRulesAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityRulesDelete", + "description": "Deletes specific quantity rules from a price list using a product variant ID.\nYou can use the `quantityRulesDelete` mutation to delete a set of quantity rules from a price list.", + "args": [ + { + "name": "priceListId", + "description": "The ID of the price list from which the quantity rules will be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantIds", + "description": "A list of product variant IDs whose quantity rules will be removed from the price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "QuantityRulesDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundCreate", + "description": "Creates a refund.", + "args": [ + { + "name": "input", + "description": "The input fields that are used in the mutation for creating a refund.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefundInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RefundCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnApproveRequest", + "description": "Approves a customer's return request.\nIf this mutation is successful, then the `Return.status` field of the\napproved return is set to `OPEN`.", + "args": [ + { + "name": "input", + "description": "The input fields to approve a return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnApproveRequestInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnApproveRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnCancel", + "description": "Cancels a return and restores the items back to being fulfilled.\nCanceling a return is only available before any work has been done\non the return (such as an inspection or refund).", + "args": [ + { + "name": "id", + "description": "The ID of the return to cancel.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnClose", + "description": "Indicates a return is complete, either when a refund has been made and items restocked,\nor simply when it has been marked as returned in the system.", + "args": [ + { + "name": "id", + "description": "The ID of the return to close.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnClosePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnCreate", + "description": "Creates a return.", + "args": [ + { + "name": "returnInput", + "description": "Specifies the input fields for a return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnDeclineRequest", + "description": "Declines a return on an order.\nWhen a return is declined, each `ReturnLineItem.fulfillmentLineItem` can be associated to a new return.\nUse the `ReturnCreate` or `ReturnRequest` mutation to initiate a new return.", + "args": [ + { + "name": "input", + "description": "The input fields for declining a customer's return request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnDeclineRequestInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnDeclineRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItemRemoveFromReturn", + "description": "Removes return lines from a return.", + "args": [ + { + "name": "returnId", + "description": "The ID of the return for line item removal.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItems", + "description": "The return line items to remove from the return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnLineItemRemoveFromReturnInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnLineItemRemoveFromReturnPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnRefund", + "description": "Refunds a return when its status is `OPEN` or `CLOSED` and associates it with the related return request.", + "args": [ + { + "name": "returnRefundInput", + "description": "The input fields to refund a return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnRefundInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnRefundPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReopen", + "description": "Reopens a closed return.", + "args": [ + { + "name": "id", + "description": "The ID of the return to reopen.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnReopenPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnRequest", + "description": "A customer's return request that hasn't been approved or declined.\nThis mutation sets the value of the `Return.status` field to `REQUESTED`.\nTo create a return that has the `Return.status` field set to `OPEN`, use the `returnCreate` mutation.", + "args": [ + { + "name": "input", + "description": "The input fields for requesting a return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnRequestInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnRequestPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseDeliveryCreateWithShipping", + "description": "Creates a new reverse delivery with associated external shipping information.", + "args": [ + { + "name": "labelInput", + "description": "The return label file information for the reverse delivery.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryLabelInput", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "When `true` the customer is notified with delivery instructions if the `ReverseFulfillmentOrder.order.email` is present.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseDeliveryLineItems", + "description": "The reverse delivery line items to be created. If an empty array is provided, then this mutation\n will create a reverse delivery line item for each reverse fulfillment order line item, with its quantity equal\n to the reverse fulfillment order line item total quantity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryLineItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrderId", + "description": "The ID of the reverse fulfillment order that's associated to the reverse delivery.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingInput", + "description": "The tracking information for the reverse delivery.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryTrackingInput", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReverseDeliveryCreateWithShippingPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseDeliveryShippingUpdate", + "description": "Updates a reverse delivery with associated external shipping information.", + "args": [ + { + "name": "labelInput", + "description": "The return label file information for the reverse delivery.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryLabelInput", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "If `true` and an email address exists on the `ReverseFulfillmentOrder.order`, then the customer is notified with the updated delivery instructions.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseDeliveryId", + "description": "The ID of the reverse delivery to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingInput", + "description": "The tracking information for the reverse delivery.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryTrackingInput", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReverseDeliveryShippingUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrderDispose", + "description": "Disposes reverse fulfillment order line items.", + "args": [ + { + "name": "dispositionInputs", + "description": "The input parameters required to dispose reverse fulfillment order line items.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReverseFulfillmentOrderDisposeInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderDisposePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchCreate", + "description": "Creates a saved search.", + "args": [ + { + "name": "input", + "description": "Specifies the input fields for a saved search.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SavedSearchCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedSearchCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchDelete", + "description": "Delete a saved search.", + "args": [ + { + "name": "input", + "description": "The input fields to delete a saved search.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SavedSearchDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedSearchDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchUpdate", + "description": "Updates a saved search.", + "args": [ + { + "name": "input", + "description": "The input fields to update a saved search.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SavedSearchUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SavedSearchUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scriptTagCreate", + "description": "

Theme app extensions

\n

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

\n\n

Script tag deprecation

\n

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

\n\n\nCreates a new script tag.", + "args": [ + { + "name": "input", + "description": "The input fields for a script tag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ScriptTagInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScriptTagCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scriptTagDelete", + "description": "

Theme app extensions

\n

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

\n\n

Script tag deprecation

\n

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

\n\n\nDeletes a script tag.", + "args": [ + { + "name": "id", + "description": "The ID of the script tag to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScriptTagDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scriptTagUpdate", + "description": "

Theme app extensions

\n

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

\n\n

Script tag deprecation

\n

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

\n\n\nUpdates a script tag.", + "args": [ + { + "name": "id", + "description": "The ID of the script tag to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "Specifies the input fields for a script tag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ScriptTagInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScriptTagUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentCreate", + "description": "Creates a segment.", + "args": [ + { + "name": "name", + "description": "The name of the segment to be created. Segment names must be unique.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A precise definition of the segment. The definition is composed of a combination of conditions on facts about customers such as `email_subscription_status = 'SUBSCRIBED'` with [this syntax](https://shopify.dev/api/shopifyql/segment-query-language-reference).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SegmentCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentDelete", + "description": "Deletes a segment.", + "args": [ + { + "name": "id", + "description": "Specifies the segment to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SegmentDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentUpdate", + "description": "Updates a segment.", + "args": [ + { + "name": "id", + "description": "Specifies the segment to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The new name for the segment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A precise definition of the segment. The definition is composed of a combination of conditions on facts about customers such as `email_subscription_status = 'SUBSCRIBED'` with [this syntax](https://shopify.dev/api/shopifyql/segment-query-language-reference).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SegmentUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupAddProductVariants", + "description": "Adds multiple product variants to a selling plan group.", + "args": [ + { + "name": "id", + "description": "The ID of the selling plan group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantIds", + "description": "The IDs of the product variants to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroupAddProductVariantsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupAddProducts", + "description": "Adds multiple products to a selling plan group.", + "args": [ + { + "name": "id", + "description": "The ID of the selling plan group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productIds", + "description": "The IDs of the products to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroupAddProductsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupCreate", + "description": "Creates a Selling Plan Group.", + "args": [ + { + "name": "input", + "description": "The properties of the new Selling Plan Group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanGroupInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resources", + "description": "The resources this Selling Plan Group should be applied to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanGroupResourceInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroupCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupDelete", + "description": "Delete a Selling Plan Group. This does not affect subscription contracts.", + "args": [ + { + "name": "id", + "description": "The id of the selling plan group to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroupDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupRemoveProductVariants", + "description": "Removes multiple product variants from a selling plan group.", + "args": [ + { + "name": "id", + "description": "The ID of the selling plan group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantIds", + "description": "The IDs of the product variants to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroupRemoveProductVariantsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupRemoveProducts", + "description": "Removes multiple products from a selling plan group.", + "args": [ + { + "name": "id", + "description": "The ID of the selling plan group.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productIds", + "description": "The IDs of the products to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroupRemoveProductsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupUpdate", + "description": "Update a Selling Plan Group.", + "args": [ + { + "name": "id", + "description": "The Selling Plan Group to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties of the Selling Plan Group to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanGroupInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroupUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serverPixelCreate", + "description": "Creates a new unconfigured server pixel. A single server pixel can exist for an app and shop combination. If you call this mutation when a server pixel already exists, then an error will return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ServerPixelCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serverPixelDelete", + "description": "Deletes the Server Pixel associated with the current app & shop.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ServerPixelDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingPackageDelete", + "description": "Deletes a shipping package.", + "args": [ + { + "name": "id", + "description": "The ID of the shipping package to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShippingPackageDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingPackageMakeDefault", + "description": "Set a shipping package as the default.\nThe default shipping package is the one used to calculate shipping costs on checkout.", + "args": [ + { + "name": "id", + "description": "The ID of the shipping package to set as the default.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShippingPackageMakeDefaultPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingPackageUpdate", + "description": "Updates a shipping package.", + "args": [ + { + "name": "id", + "description": "The ID of the shipping package to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingPackage", + "description": "Specifies the input fields for a shipping package.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CustomShippingPackageInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShippingPackageUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopLocaleDisable", + "description": "Deletes a locale for a shop. This also deletes all translations of this locale.", + "args": [ + { + "name": "locale", + "description": "ISO code of the locale to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopLocaleDisablePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopLocaleEnable", + "description": "Adds a locale for a shop. The newly added locale is in the unpublished state.", + "args": [ + { + "name": "locale", + "description": "ISO code of the locale to enable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketWebPresenceIds", + "description": "The list of markets web presences to add the locale to.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopLocaleEnablePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopLocaleUpdate", + "description": "Updates a locale for a shop.", + "args": [ + { + "name": "locale", + "description": "ISO code of the locale to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopLocale", + "description": "Specifies the input fields for a shop locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ShopLocaleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopLocaleUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopPolicyUpdate", + "description": "Updates a shop policy.", + "args": [ + { + "name": "shopPolicy", + "description": "The properties to use when updating the shop policy.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ShopPolicyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopPolicyUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopResourceFeedbackCreate", + "description": "The `ResourceFeedback` object lets your app report the status of shops and their resources. For example, if\nyour app is a marketplace channel, then you can use resource feedback to alert merchants that they need to connect their marketplace account by signing in.\n\nResource feedback notifications are displayed to the merchant on the home screen of their Shopify admin, and in the product details view for any products that are published to your app.\n\nThis resource should be used only in cases where you're describing steps that a merchant is required to complete. If your app offers optional or promotional set-up steps, or if it makes recommendations, then don't use resource feedback to let merchants know about them.\n\n## Sending feedback on a shop\n\nYou can send resource feedback on a shop to let the merchant know what steps they need to take to make sure that your app is set up correctly. Feedback can have one of two states: `requires_action` or `success`. You need to send a `requires_action` feedback request for each step that the merchant is required to complete.\n\nIf there are multiple set-up steps that require merchant action, then send feedback with a state of `requires_action` as merchants complete prior steps. And to remove the feedback message from the Shopify admin, send a `success` feedback request.\n\n#### Important\nSending feedback replaces previously sent feedback for the shop. Send a new `shopResourceFeedbackCreate` mutation to push the latest state of a shop or its resources to Shopify.", + "args": [ + { + "name": "input", + "description": "The fields required to create shop feedback.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ResourceFeedbackCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopResourceFeedbackCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stagedUploadTargetGenerate", + "description": "Generates the URL and signed paramaters needed to upload an asset to Shopify.", + "args": [ + { + "name": "input", + "description": "The input fields for generating a staged upload.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "StagedUploadTargetGenerateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StagedUploadTargetGeneratePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `stagedUploadsCreate` instead." + }, + { + "name": "stagedUploadTargetsGenerate", + "description": "Uploads multiple images.", + "args": [ + { + "name": "input", + "description": "The input fields for generating staged uploads.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "StageImageInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StagedUploadTargetsGeneratePayload", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `stagedUploadsCreate` instead." + }, + { + "name": "stagedUploadsCreate", + "description": "Creates staged upload targets for each input. This is the first step in the upload process.\nThe returned staged upload targets' URL and parameter fields can be used to send a request\nto upload the file described in the corresponding input.\n\nFor more information on the upload process, refer to\n[Upload media to Shopify](https://shopify.dev/apps/online-store/media/products#step-1-upload-media-to-shopify).", + "args": [ + { + "name": "input", + "description": "The information required to generate staged upload targets.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "StagedUploadInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StagedUploadsCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standardMetafieldDefinitionEnable", + "description": "Activates the specified standard metafield definition from its template.\n\nRefer to the [list of standard metafield definition templates](https://shopify.dev/apps/metafields/definitions/standard-definitions).", + "args": [ + { + "name": "access", + "description": "The access settings that apply to each of the metafields that belong to the metafield definition.", + "type": { + "kind": "INPUT_OBJECT", + "name": "StandardMetafieldDefinitionAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the standard metafield definition template to enable.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The key of the standard metafield to enable. Used in combination with `namespace`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the standard metafield to enable. Used in combination with `key`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "The resource type that the metafield definition is scoped to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pin", + "description": "Whether to pin the metafield definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useAsCollectionCondition", + "description": "Whether the metafield definition can be used as a collection condition.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionEnablePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standardMetaobjectDefinitionEnable", + "description": "Enables the specified standard metaobject definition from its template.", + "args": [ + { + "name": "type", + "description": "The type of the metaobject definition to enable.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StandardMetaobjectDefinitionEnablePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storeCreditAccountCredit", + "description": "Creates a credit transaction that increases the store credit account balance by the given amount.\nThis operation will create an account if one does not already exist.", + "args": [ + { + "name": "creditInput", + "description": "The input fields for a store credit account credit transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "StoreCreditAccountCreditInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the store credit account or the ID of the account owner.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storeCreditAccountDebit", + "description": "Creates a debit transaction that decreases the store credit account balance by the given amount.", + "args": [ + { + "name": "debitInput", + "description": "The input fields for a store credit account debit transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "StoreCreditAccountDebitInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the store credit account or the ID of the account owner.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefrontAccessTokenCreate", + "description": "Creates a storefront access token for use with the [Storefront API](https://shopify.dev/docs/api/storefront).\n\nAn app can have a maximum of 100 active storefront access tokens for each shop.\n\n[Get started with the Storefront API](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/getting-started).", + "args": [ + { + "name": "input", + "description": "Provides the input fields for creating a storefront access token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "StorefrontAccessTokenInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StorefrontAccessTokenCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefrontAccessTokenDelete", + "description": "Deletes a storefront access token.", + "args": [ + { + "name": "input", + "description": "Provides the input fields required to delete a storefront access token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "StorefrontAccessTokenDeleteInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StorefrontAccessTokenDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingAttemptCreate", + "description": "Creates a new subscription billing attempt. For more information, refer to [Create a subscription contract](https://shopify.dev/docs/apps/selling-strategies/subscriptions/contracts/create#step-4-create-a-billing-attempt).", + "args": [ + { + "name": "subscriptionBillingAttemptInput", + "description": "The information to apply as a billing attempt.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingAttemptInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractId", + "description": "The ID of the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleBulkCharge", + "description": "Asynchronously queries and charges all subscription billing cycles whose [billingAttemptExpectedDate](https://shopify.dev/api/admin-graphql/latest/objects/SubscriptionBillingCycle#field-billingattemptexpecteddate) values fall within a specified date range and meet additional filtering criteria. The results of this action can be retrieved using the [subscriptionBillingCycleBulkResults](https://shopify.dev/api/admin-graphql/latest/queries/subscriptionBillingCycleBulkResults) query.", + "args": [ + { + "name": "billingAttemptExpectedDateRange", + "description": "Specifies the date range within which the `billingAttemptExpectedDate` values of the billing cycles should fall.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCyclesDateRangeSelector", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Criteria to filter the billing cycles on which the action is executed.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleBulkFilters", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkChargePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleBulkSearch", + "description": "Asynchronously queries all subscription billing cycles whose [billingAttemptExpectedDate](https://shopify.dev/api/admin-graphql/latest/objects/SubscriptionBillingCycle#field-billingattemptexpecteddate) values fall within a specified date range and meet additional filtering criteria. The results of this action can be retrieved using the [subscriptionBillingCycleBulkResults](https://shopify.dev/api/admin-graphql/latest/queries/subscriptionBillingCycleBulkResults) query.", + "args": [ + { + "name": "billingAttemptExpectedDateRange", + "description": "Specifies the date range within which the `billingAttemptExpectedDate` values of the billing cycles should fall.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCyclesDateRangeSelector", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filters", + "description": "Criteria to filter the billing cycles on which the action is executed.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleBulkFilters", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkSearchPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleCharge", + "description": "Creates a new subscription billing attempt for a specified billing cycle. This is the alternative mutation for [subscriptionBillingAttemptCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionBillingAttemptCreate). For more information, refer to [Create a subscription contract](https://shopify.dev/docs/apps/selling-strategies/subscriptions/contracts/create#step-4-create-a-billing-attempt).", + "args": [ + { + "name": "billingCycleSelector", + "description": "Select the specific billing cycle to be billed.\nIf the selected billing cycle's [billingAttemptExpectedDate](https://shopify.dev/docs/api/admin-graphql/latest/objects/SubscriptionBillingCycle#field-subscriptionbillingcycle-billingattemptexpecteddate) is in the past, the [originTime](https://shopify.dev/docs/api/admin-graphql/latest/objects/SubscriptionBillingAttempt#field-subscriptionbillingattempt-origintime) of the billing attempt will be set to this date. However, if the [billingAttemptExpectedDate](https://shopify.dev/docs/api/admin-graphql/latest/objects/SubscriptionBillingCycle#field-subscriptionbillingcycle-billingattemptexpecteddate) is in the future, the originTime will be the current time.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleSelector", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractId", + "description": "The ID of the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleChargePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleContractDraftCommit", + "description": "Commits the updates of a Subscription Billing Cycle Contract draft.", + "args": [ + { + "name": "draftId", + "description": "The gid of the Subscription Contract draft to commit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleContractDraftCommitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleContractDraftConcatenate", + "description": "Concatenates a contract to a Subscription Draft.", + "args": [ + { + "name": "concatenatedBillingCycleContracts", + "description": "An array of Subscription Contracts with their selected billing cycles to concatenate to the subscription draft.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftId", + "description": "The gid of the Subscription Contract draft to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleContractDraftConcatenatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleContractEdit", + "description": "Edit the contents of a subscription contract for the specified billing cycle.", + "args": [ + { + "name": "billingCycleInput", + "description": "Input object for selecting and using billing cycles.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleContractEditPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleEditDelete", + "description": "Delete the schedule and contract edits of the selected subscription billing cycle.", + "args": [ + { + "name": "billingCycleInput", + "description": "Input object used to select and use billing cycles.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleEditsDelete", + "description": "Delete the current and future schedule and contract edits of a list of subscription billing cycles.", + "args": [ + { + "name": "contractId", + "description": "The globally-unique identifier of the subscription contract that the billing cycle belongs to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "Select billing cycles to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubscriptionBillingCyclesTargetSelection", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditsDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleScheduleEdit", + "description": "Modify the schedule of a specific billing cycle.", + "args": [ + { + "name": "billingCycleInput", + "description": "Input object for selecting and using billing cycles.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "Data used to create or modify billing cycle schedule edit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleScheduleEditInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleScheduleEditPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleSkip", + "description": "Skips a Subscription Billing Cycle.", + "args": [ + { + "name": "billingCycleInput", + "description": "Input object for selecting and using billing cycles.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleSkipPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleUnskip", + "description": "Unskips a Subscription Billing Cycle.", + "args": [ + { + "name": "billingCycleInput", + "description": "Input object for selecting and using billing cycles.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUnskipPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractActivate", + "description": "Activates a Subscription Contract.", + "args": [ + { + "name": "subscriptionContractId", + "description": "The ID of the Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractActivatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractAtomicCreate", + "description": "Creates a Subscription Contract.", + "args": [ + { + "name": "input", + "description": "The properties of the new Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionContractAtomicCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractAtomicCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractCancel", + "description": "Cancels a Subscription Contract.", + "args": [ + { + "name": "subscriptionContractId", + "description": "The ID of the Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractCancelPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractCreate", + "description": "Creates a Subscription Contract Draft.\nYou can submit all the desired information for the draft using [Subscription Draft Input object](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionDraftInput).\nYou can also update the draft using the [Subscription Contract Update](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionContractUpdate) mutation.\nThe draft is not saved until you call the [Subscription Draft Commit](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftCommit) mutation.", + "args": [ + { + "name": "input", + "description": "The properties of the new Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionContractCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractExpire", + "description": "Expires a Subscription Contract.", + "args": [ + { + "name": "subscriptionContractId", + "description": "The ID of the Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractExpirePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractFail", + "description": "Fails a Subscription Contract.", + "args": [ + { + "name": "subscriptionContractId", + "description": "The ID of the Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractFailPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractPause", + "description": "Pauses a Subscription Contract.", + "args": [ + { + "name": "subscriptionContractId", + "description": "The ID of the Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractPausePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractProductChange", + "description": "Allows for the easy change of a Product in a Contract or a Product price change.", + "args": [ + { + "name": "input", + "description": "The properties of the Product changes.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionContractProductChangeInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineId", + "description": "The gid of the Subscription Line to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractId", + "description": "The ID of the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractProductChangePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractSetNextBillingDate", + "description": "Sets the next billing date of a Subscription Contract. This field is managed by the apps.\n Alternatively you can utilize our\n [Billing Cycles APIs](https://shopify.dev/docs/apps/selling-strategies/subscriptions/billing-cycles),\n which provide auto-computed billing dates and additional functionalities.", + "args": [ + { + "name": "contractId", + "description": "The gid of the Subscription Contract to set the next billing date for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "date", + "description": "The next billing date.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractSetNextBillingDatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContractUpdate", + "description": "The subscriptionContractUpdate mutation allows you to create a draft of an existing subscription contract. This [draft](https://shopify.dev/api/admin-graphql/latest/objects/SubscriptionDraft) can be reviewed and modified as needed. Once the draft is committed with [subscriptionDraftCommit](https://shopify.dev/api/admin-graphql/latest/mutations/subscriptionDraftCommit), the changes are applied to the original subscription contract.", + "args": [ + { + "name": "contractId", + "description": "The gid of the Subscription Contract to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContractUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftCommit", + "description": "Commits the updates of a Subscription Contract draft.", + "args": [ + { + "name": "draftId", + "description": "The gid of the Subscription Contract draft to commit.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftCommitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftDiscountAdd", + "description": "Adds a subscription discount to a subscription draft.", + "args": [ + { + "name": "draftId", + "description": "The ID of the Subscription Contract draft to add a subscription discount to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties of the new Subscription Discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftDiscountCodeApply", + "description": "Applies a code discount on the subscription draft.", + "args": [ + { + "name": "draftId", + "description": "The gid of the subscription contract draft to apply a subscription code discount on.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redeemCode", + "description": "Code discount redeem code.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountCodeApplyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftDiscountRemove", + "description": "Removes a subscription discount from a subscription draft.", + "args": [ + { + "name": "discountId", + "description": "The gid of the subscription draft discount to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftId", + "description": "The gid of the subscription contract draft to remove a subscription discount from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftDiscountUpdate", + "description": "Updates a subscription discount on a subscription draft.", + "args": [ + { + "name": "discountId", + "description": "The gid of the Subscription Discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftId", + "description": "The ID of the Subscription Contract draft to update a subscription discount on.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties to update on the Subscription Discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftFreeShippingDiscountAdd", + "description": "Adds a subscription free shipping discount to a subscription draft.", + "args": [ + { + "name": "draftId", + "description": "The ID of the subscription contract draft to add a subscription free shipping discount to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties of the new subscription free shipping discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionFreeShippingDiscountInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftFreeShippingDiscountAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftFreeShippingDiscountUpdate", + "description": "Updates a subscription free shipping discount on a subscription draft.", + "args": [ + { + "name": "discountId", + "description": "The gid of the Subscription Discount to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftId", + "description": "The ID of the Subscription Contract draft to update a subscription discount on.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties to update on the Subscription Free Shipping Discount.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionFreeShippingDiscountInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftFreeShippingDiscountUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftLineAdd", + "description": "Adds a subscription line to a subscription draft.", + "args": [ + { + "name": "draftId", + "description": "The gid of the Subscription Contract draft to add a subscription line to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties of the new Subscription Line.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionLineInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftLineAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftLineRemove", + "description": "Removes a subscription line from a subscription draft.", + "args": [ + { + "name": "draftId", + "description": "The gid of the Subscription Contract draft to remove a subscription line from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineId", + "description": "The gid of the Subscription Line to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftLineRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftLineUpdate", + "description": "Updates a subscription line on a subscription draft.", + "args": [ + { + "name": "draftId", + "description": "The gid of the Subscription Contract draft to update a subscription line from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties of the new Subscription Line.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionLineUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineId", + "description": "The gid of the Subscription Line to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftLineUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraftUpdate", + "description": "Updates a Subscription Draft.", + "args": [ + { + "name": "draftId", + "description": "The gid of the Subscription Draft to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The properties of the new Subscription Contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDraftInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraftUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagsAdd", + "description": "Add tags to an order, a draft order, a customer, a product, or an online store article.", + "args": [ + { + "name": "id", + "description": "The ID of a resource to add tags to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A list of tags to add to the resource. Can be an array of strings or a single string composed of a comma-separated list of values. Example values: `[\"tag1\", \"tag2\", \"tag3\"]`, `\"tag1, tag2, tag3\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TagsAddPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tagsRemove", + "description": "Remove tags from an order, a draft order, a customer, a product, or an online store article.", + "args": [ + { + "name": "id", + "description": "The ID of the resource to remove tags from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A list of tags to remove from the resource in the form of an array of strings. Example value: `[\"tag1\", \"tag2\", \"tag3\"]`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TagsRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxAppConfigure", + "description": "Allows tax app configurations for tax partners.", + "args": [ + { + "name": "ready", + "description": "Configures whether the tax app is correctly configured and ready to be used.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TaxAppConfigurePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeCreate", + "description": "Creates a theme using an external URL or for files that were previously uploaded using the\n[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate).\nThese themes are added to the [Themes page](https://admin.shopify.com/themes) in Shopify admin.", + "args": [ + { + "name": "name", + "description": "The name of the theme to be created.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "An external URL or a\n[staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate)\nof the theme to import.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ThemeCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeDelete", + "description": "Deletes a theme.", + "args": [ + { + "name": "id", + "description": "The ID of the theme to be deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ThemeDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeFilesCopy", + "description": "Copy theme files. Copying to existing theme files will overwrite them.", + "args": [ + { + "name": "files", + "description": "The files to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ThemeFilesCopyFileInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeId", + "description": "The theme to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ThemeFilesCopyPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeFilesDelete", + "description": "Deletes a theme's files.", + "args": [ + { + "name": "files", + "description": "The files to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeId", + "description": "Specifies the theme to deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ThemeFilesDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeFilesUpsert", + "description": "Create or update theme files.", + "args": [ + { + "name": "files", + "description": "The files to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OnlineStoreThemeFilesUpsertFileInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeId", + "description": "The theme to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ThemeFilesUpsertPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themePublish", + "description": "Publishes a theme.", + "args": [ + { + "name": "id", + "description": "ID of the theme to be published.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ThemePublishPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeUpdate", + "description": "Updates a theme.", + "args": [ + { + "name": "id", + "description": "The ID of the theme to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "input", + "description": "The attributes of the theme to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OnlineStoreThemeInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ThemeUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionVoid", + "description": "Trigger the voiding of an uncaptured authorization transaction.", + "args": [ + { + "name": "parentTransactionId", + "description": "An uncaptured authorization transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TransactionVoidPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translationsRegister", + "description": "Creates or updates translations.", + "args": [ + { + "name": "resourceId", + "description": "ID of the resource that is being translated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "Specifies the input fields for a translation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "TranslationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TranslationsRegisterPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translationsRemove", + "description": "Deletes translations.", + "args": [ + { + "name": "locales", + "description": "The list of translation locales. Only locales returned in `shopLocales` are valid.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketIds", + "description": "The list of market IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "ID of the translatable resource for which translations are being deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translationKeys", + "description": "The list of translation keys.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TranslationsRemovePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectBulkDeleteAll", + "description": "Asynchronously delete [URL redirects](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) in bulk.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteAllPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectBulkDeleteByIds", + "description": "Asynchronously delete [URLRedirect](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) \nobjects in bulk by IDs.\nLearn more about [URLRedirect](https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect) \nobjects.", + "args": [ + { + "name": "ids", + "description": "A list of [`URLRedirect`](\n https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect\n ) object IDs to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteByIdsPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectBulkDeleteBySavedSearch", + "description": "Asynchronously delete redirects in bulk.", + "args": [ + { + "name": "savedSearchId", + "description": "The ID of the URL redirect saved search for filtering.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySavedSearchPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectBulkDeleteBySearch", + "description": "Asynchronously delete redirects in bulk.", + "args": [ + { + "name": "search", + "description": "Search query for filtering redirects on (both Redirect from and Redirect to fields).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySearchPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectCreate", + "description": "Creates a [`UrlRedirect`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) object.", + "args": [ + { + "name": "urlRedirect", + "description": "The fields to use when creating the redirect.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UrlRedirectInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectDelete", + "description": "Deletes a [`UrlRedirect`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) object.", + "args": [ + { + "name": "id", + "description": "The ID of the redirect to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectImportCreate", + "description": "Creates a [`UrlRedirectImport`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirectImport) object.\n\nAfter creating the `UrlRedirectImport` object, the `UrlRedirectImport` request can be performed using the [`urlRedirectImportSubmit`](https://shopify.dev/api/admin-graphql/latest/mutations/urlRedirectImportSubmit) mutation.", + "args": [ + { + "name": "url", + "description": "The staged upload URL of the CSV file.\nYou can download [a sample URL redirect CSV file](https://help.shopify.com/csv/sample-redirect-template.csv).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectImportCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectImportSubmit", + "description": "Submits a `UrlRedirectImport` request to be processed.\n\nThe `UrlRedirectImport` request is first created with the [`urlRedirectImportCreate`](https://shopify.dev/api/admin-graphql/latest/mutations/urlRedirectImportCreate) mutation.", + "args": [ + { + "name": "id", + "description": "The ID of the [`UrlRedirectImport`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirectImport) object.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectImportSubmitPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectUpdate", + "description": "Updates a URL redirect.", + "args": [ + { + "name": "id", + "description": "The ID of the URL redirect to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirect", + "description": "The input fields required to update the URL redirect.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UrlRedirectInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationCreate", + "description": "Creates a validation.", + "args": [ + { + "name": "validation", + "description": "The input fields for a new validation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ValidationCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ValidationCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationDelete", + "description": "Deletes a validation.", + "args": [ + { + "name": "id", + "description": "The ID representing the installed validation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ValidationDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validationUpdate", + "description": "Update a validation.", + "args": [ + { + "name": "id", + "description": "The ID representing the validation to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validation", + "description": "The input fields to update a validation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ValidationUpdateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ValidationUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPixelCreate", + "description": "Creates a new web pixel settings.", + "args": [ + { + "name": "webPixel", + "description": "The web pixel settings in JSON format.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "WebPixelInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebPixelCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPixelDelete", + "description": "Deletes the web pixel shop settings.", + "args": [ + { + "name": "id", + "description": "The ID of the web pixel to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebPixelDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPixelUpdate", + "description": "Updates the web pixel settings.", + "args": [ + { + "name": "id", + "description": "The ID of the web pixel to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPixel", + "description": "The web pixel settings in JSON format.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "WebPixelInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebPixelUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscriptionCreate", + "description": "Creates a new webhook subscription.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "topic", + "description": "The type of event that triggers the webhook.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WebhookSubscriptionTopic", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "Specifies the input fields for a webhook subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "WebhookSubscriptionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscriptionCreatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscriptionDelete", + "description": "Deletes a webhook subscription.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "id", + "description": "The ID of the webhook subscription to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscriptionDeletePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscriptionUpdate", + "description": "Updates a webhook subscription.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "id", + "description": "The ID of the webhook subscription to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "Specifies the input fields for a webhook subscription.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "WebhookSubscriptionInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscriptionUpdatePayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "MutationsStagedUploadTargetGenerateUploadParameter", + "description": "A signed upload parameter for uploading an asset to Shopify.\n\nDeprecated in favor of\n[StagedUploadParameter](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadParameter),\nwhich is used in\n[StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget)\nand returned by the\n[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate).", + "fields": [ + { + "name": "name", + "description": "The upload parameter name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The upload parameter value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "description": "A default cursor that you can use in queries to paginate your results. Each edge in a connection can\nreturn a cursor, which is a reference to the edge's position in the connection. You can use an edge's cursor as\nthe starting point to retrieve the nodes before or after it in a connection.\n\nTo learn more about using cursor-based pagination, refer to\n[Paginating results with GraphQL](https://shopify.dev/api/usage/pagination-graphql).", + "fields": [ + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AbandonedCheckout", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountAppExtensionPage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountNativePage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "NavigationItem", + "description": "A navigation item, holding basic link attributes.", + "fields": [ + { + "name": "id", + "description": "The unique identifier of the navigation item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the navigation item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL of the page that the navigation item links to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "description": "An object with an ID field to support global identification, in accordance with the\n[Relay specification](https://relay.dev/graphql/objectidentification.htm#sec-Node-Interface).\nThis interface is used by the [node](https://shopify.dev/api/admin-graphql/unstable/queries/node)\nand [nodes](https://shopify.dev/api/admin-graphql/unstable/queries/nodes) queries.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AbandonedCheckout", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AbandonedCheckoutLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Abandonment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AddAllProductsOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AdditionalFee", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppCatalog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppCredit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppPurchaseOneTime", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppRevenueAttributionRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppSubscription", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AppUsageRecord", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BasicEvent", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BulkOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BusinessEntity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CartTransform", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingAdjustment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CashTrackingSession", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CatalogCsvOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ChannelDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ChannelInformation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CheckoutProfile", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CommentEvent", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyAddress", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRole", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyContactRoleAssignment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationCatalog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CompanyLocationStaffMemberAssignment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountAppExtensionPage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerAccountNativePage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQuery", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CustomerVisit", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCondition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCountry", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryLocationGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethod", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryMethodDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryParticipant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfile", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProfileItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryPromiseProvider", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryProvince", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryRateDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeliveryZone", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticBxgy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Domain", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DraftOrderTag", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Duty", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ExchangeLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ExchangeV2", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ExternalVideo", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentConstraintRule", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentEvent", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentHold", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderDestination", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FulfillmentOrderMerchantRequest", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GenericFile", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardCreditTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardDebitTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryAdjustmentGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryItemMeasurement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "InventoryQuantity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LineItemGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketCatalog", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketRegionCountry", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketWebPresence", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MarketingEvent", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MediaImage", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Menu", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibility", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Model3d", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderAdjustment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderDisputeSummary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentMandate", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentSchedule", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentTerms", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsTemplate", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceRule", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleDiscountCode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductDeleteOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductDuplicateOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductFeed", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOption", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionValue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductSetOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductTaxonomyNode", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantComponent", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PublicationResourceOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "QuantityPriceBreak", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RefundShippingLine", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReturnLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReturnableFulfillment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReverseDelivery", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrder", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderDisposition", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SaleAdditionalFee", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SavedSearch", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ScriptTag", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlan", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ServerPixel", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopAddress", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsAccount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDispute", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeEvidence", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFulfillment", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayout", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsVerification", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplate", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitRevertTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StorefrontAccessToken", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingAttempt", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyAttribute", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyCategory", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyChoiceListAttribute", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyMeasurementAttribute", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyValue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TenderTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TransactionFee", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UnverifiedReturnLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirect", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectImport", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Video", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WebPixel", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "ObjectDimensionsInput", + "description": "The input fields for dimensions of an object.", + "fields": null, + "inputFields": [ + { + "name": "height", + "description": "The height in `unit`s.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "length", + "description": "The length in `unit`s.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unit", + "description": "Unit of measurement for `length`, `width`, and `height`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LengthUnit", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "The width in `unit`s.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStore", + "description": "The shop's online store channel.", + "fields": [ + { + "name": "passwordProtection", + "description": "Storefront password information.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStorePasswordProtection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStorePasswordProtection", + "description": "Storefront password information.", + "fields": [ + { + "name": "enabled", + "description": "Whether the storefront password is enabled.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "OnlineStorePreviewable", + "description": "Online Store preview URL of the object.", + "fields": [ + { + "name": "onlineStorePreviewUrl", + "description": "The [preview URL](https://help.shopify.com/manual/online-store/setting-up#preview-your-store) for the online store.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "description": "A theme for display on the storefront.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the theme was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "files", + "description": "The files in the theme.", + "args": [ + { + "name": "after", + "description": "A cursor for use in pagination.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filenames", + "description": "The filenames of the theme files. At most 50 filenames can be specified. Use '*' to match zero or more characters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Returns at most the first n files for this theme. Fewer than n files may be returned to stay within the payload size limit, or when the end of the list is reached. At most 250 can be fetched at once.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "50", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the theme, set by the merchant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "The prefix of the theme.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processing", + "description": "Whether the theme is processing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processingFailed", + "description": "Whether the theme processing failed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "role", + "description": "The role of the theme.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ThemeRole", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themeStoreId", + "description": "The theme store ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the theme was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeConnection", + "description": "An auto-generated type for paginating through multiple OnlineStoreThemes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in OnlineStoreThemeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeEdge", + "description": "An auto-generated type which holds one OnlineStoreTheme and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of OnlineStoreThemeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFile", + "description": "Represents a theme file.", + "fields": [ + { + "name": "body", + "description": "The body of the theme file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "OnlineStoreThemeFileBody", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checksumMd5", + "description": "The md5 digest of the theme file for data integrity.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contentType", + "description": "The content type of the theme file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the theme file was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The unique identifier of the theme file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "size", + "description": "The size of the theme file in bytes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the theme file was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "OnlineStoreThemeFileBody", + "description": "Represents the body of a theme file.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileBodyBase64", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileBodyText", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileBodyUrl", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileBodyBase64", + "description": "Represents the base64 encoded body of a theme file.", + "fields": [ + { + "name": "contentBase64", + "description": "The body of the theme file, base64 encoded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OnlineStoreThemeFileBodyInput", + "description": "The input fields for the theme file body.", + "fields": null, + "inputFields": [ + { + "name": "type", + "description": "The input type of the theme file body.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OnlineStoreThemeFileBodyInputType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The body of the theme file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OnlineStoreThemeFileBodyInputType", + "description": "The input type for a theme file body.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BASE64", + "description": "The base64 encoded body of a theme file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEXT", + "description": "The text body of the theme file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL", + "description": "The url of the body of a theme file.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileBodyText", + "description": "Represents the body of a theme file.", + "fields": [ + { + "name": "content", + "description": "The body of the theme file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileBodyUrl", + "description": "Represents the url of the body of a theme file.", + "fields": [ + { + "name": "url", + "description": "The url for the body of the theme file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileConnection", + "description": "An auto-generated type for paginating through multiple OnlineStoreThemeFiles.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in OnlineStoreThemeFileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFile", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "List of errors that occurred during the request.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileReadResult", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileEdge", + "description": "An auto-generated type which holds one OnlineStoreThemeFile and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of OnlineStoreThemeFileEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileOperationResult", + "description": "Represents the result of a copy, delete, or write operation performed on a theme file.", + "fields": [ + { + "name": "filename", + "description": "Unique identifier of the theme file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileReadResult", + "description": "Represents the result of a read operation performed on a theme asset.", + "fields": [ + { + "name": "code", + "description": "Type that indicates the result of the operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OnlineStoreThemeFileResultType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "Unique identifier associated with the operation and the theme file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OnlineStoreThemeFileResultType", + "description": "Type of a theme file operation result.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BAD_REQUEST", + "description": "Operation was malformed or invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONFLICT", + "description": "Operation faced a conflict with the current state of the file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "Operation encountered an error.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Operation file could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "Operation was successful.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIMEOUT", + "description": "Operation timed out.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNPROCESSABLE_ENTITY", + "description": "Operation could not be processed due to issues with input data.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OnlineStoreThemeFilesUpsertFileInput", + "description": "The input fields for the file to create or update.", + "fields": null, + "inputFields": [ + { + "name": "body", + "description": "The body of the theme file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OnlineStoreThemeFileBodyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The filename of the theme file.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OnlineStoreThemeFilesUserErrors", + "description": "User errors for theme file operations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OnlineStoreThemeFilesUserErrorsCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The filename of the theme file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OnlineStoreThemeFilesUserErrorsCode", + "description": "Possible error codes that can be returned by `OnlineStoreThemeFilesUserErrors`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCESS_DENIED", + "description": "Access denied.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_FILE_INPUT", + "description": "There are files with the same filename.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "Error.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE_VALIDATION_ERROR", + "description": "The file is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The input value should be less than or equal to the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEME_FILES_CONFLICT", + "description": "There are theme files with conflicts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEME_LIMITED_PLAN", + "description": "This action is not available on your current plan. Please upgrade to access theme editing features.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OnlineStoreThemeInput", + "description": "The input fields for Theme attributes to update.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "The new name of the theme.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionAndValueInput", + "description": "The input fields for the options and values of the combined listing.", + "fields": null, + "inputFields": [ + { + "name": "linkedMetafield", + "description": "The linked metafield for the product's option.", + "type": { + "kind": "INPUT_OBJECT", + "name": "LinkedMetafieldInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the Product's Option.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionId", + "description": "The ID of the option to update. If not present, the option will be created.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "The ordered values of the Product's Option.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionCreateInput", + "description": "The input fields for creating a product option.", + "fields": null, + "inputFields": [ + { + "name": "linkedMetafield", + "description": "Specifies the metafield the option is linked to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "LinkedMetafieldCreateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Position of the option.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "Values associated with the option.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionValueCreateInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionReorderInput", + "description": "The input fields for reordering a product option and/or its values.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the product option to reorder by ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Specifies the product option to reorder by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "Values associated with the option.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionValueReorderInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionSetInput", + "description": "The input fields for creating or updating a product option.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the product option to update.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedMetafield", + "description": "Specifies the metafield the option is linked to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "LinkedMetafieldCreateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Position of the option.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "Value associated with an option.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionValueSetInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionUpdateInput", + "description": "The input fields for updating a product option.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the product option to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedMetafield", + "description": "Specifies the metafield the option is linked to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "LinkedMetafieldUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Position of the option.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionValueCreateInput", + "description": "The input fields required to create a product option value.", + "fields": null, + "inputFields": [ + { + "name": "linkedMetafieldValue", + "description": "Metafield value associated with an option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Value associated with an option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionValueReorderInput", + "description": "The input fields for reordering a product option value.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the product option value by ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Specifies the product option value by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionValueSetInput", + "description": "The input fields for creating or updating a product option value.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the product option value.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Value associated with an option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OptionValueUpdateInput", + "description": "The input fields for updating a product option value.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the product option value.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedMetafieldValue", + "description": "Metafield value associated with an option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Value associated with an option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Order", + "description": "An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object.\nLearn more about\n[editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing).\n\nOnly the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders,\nthen you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted\naccess, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`.\n[Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope.\n\n**Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data.", + "fields": [ + { + "name": "additionalFees", + "description": "A list of additional fees applied to the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AdditionalFee", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "agreements", + "description": "A list of sales agreements associated with the order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| happened_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SalesAgreementConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alerts", + "description": "A list of messages that appear on the order page in the Shopify admin.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourceAlert", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "app", + "description": "The application that created the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderApp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddress", + "description": "The billing address of the customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddressMatchesShippingAddress", + "description": "Whether the billing address matches the shipping address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canMarkAsPaid", + "description": "Whether the order can be manually marked as paid.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "canNotifyCustomer", + "description": "Whether a customer email exists for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancelReason", + "description": "The reason provided when the order was canceled.\nReturns `null` if the order wasn't canceled.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderCancelReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancellation", + "description": "Cancellation details for the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderCancellation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancelledAt", + "description": "The date and time when the order was canceled.\nReturns `null` if the order wasn't canceled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "capturable", + "description": "Whether payment for the order can be captured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartDiscountAmount", + "description": "The total order-level discount amount, before returns, in shop currency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `cartDiscountAmountSet` instead." + }, + { + "name": "cartDiscountAmountSet", + "description": "The total order-level discount amount, before returns, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channel", + "description": "The channel that created the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `publication` instead." + }, + { + "name": "channelInformation", + "description": "Details about the channel that created the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ChannelInformation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientIp", + "description": "The IP address of the API client that created the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closed", + "description": "Whether the order is closed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "The date and time when the order was closed.\nReturns `null` if the order isn't closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmationNumber", + "description": "A randomly generated alpha-numeric identifier for the order that may be shown to the customer\ninstead of the sequential order name. For example, \"XPAV284CT\", \"R50KELTJP\" or \"35PKUN0UJ\".\nThis value isn't guaranteed to be unique.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmed", + "description": "Whether inventory has been reserved for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time when the order was created in Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The shop currency when the order was placed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentCartDiscountAmountSet", + "description": "The current order-level discount amount after all order updates, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentShippingPriceSet", + "description": "The current shipping price after applying refunds and discounts. If the parent `order.taxesIncluded` field is true, then this price includes taxes. Otherwise, this field is the pre-tax price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentSubtotalLineItemsQuantity", + "description": "The sum of the quantities for all line items that contribute to the order's current subtotal price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentSubtotalPriceSet", + "description": "The sum of the prices for all line items after discounts and returns, in shop and presentment currencies.\nIf `taxesIncluded` is `true`, then the subtotal also includes tax.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentTaxLines", + "description": "A list of all tax lines applied to line items on the order, after returns.\nTax line prices represent the total price for all tax lines with the same `rate` and `title`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentTotalAdditionalFeesSet", + "description": "The total amount of additional fees after returns, in shop and presentment currencies.\nReturns `null` if there are no additional fees for the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentTotalDiscountsSet", + "description": "The total amount discounted on the order after returns, in shop and presentment currencies.\nThis includes both order and line level discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentTotalDutiesSet", + "description": "The total amount of duties after returns, in shop and presentment currencies.\nReturns `null` if duties aren't applicable.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentTotalPriceSet", + "description": "The total price of the order, after returns, in shop and presentment currencies.\nThis includes taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentTotalTaxSet", + "description": "The sum of the prices of all tax lines applied to line items on the order, after returns, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentTotalWeight", + "description": "The total weight of the order after returns, in grams.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of additional merchant-facing details that have been added to the order. For example, whether an order is a customer's first.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer that placed the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAcceptsMarketing", + "description": "Whether the customer agreed to receive marketing materials.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerJourney", + "description": "The customer's visits and interactions with the online store before placing the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerJourney", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `customerJourneySummary` instead." + }, + { + "name": "customerJourneySummary", + "description": "The customer's visits and interactions with the online store before placing the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerJourneySummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerLocale", + "description": "A two-letter or three-letter language code, optionally followed by a region modifier.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountApplications", + "description": "A list of discounts that are applied to the order, not including order edits and refunds.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountApplicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCode", + "description": "The discount code used for the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodes", + "description": "The discount codes used for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayAddress", + "description": "The primary address of the customer.\nReturns `null` if neither the shipping address nor the billing address was provided.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayFinancialStatus", + "description": "The financial status of the order that can be shown to the merchant.\nThis field doesn't capture all the details of an order's financial state. It should only be used for display summary purposes.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderDisplayFinancialStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayFulfillmentStatus", + "description": "The fulfillment status for the order that can be shown to the merchant.\nThis field does not capture all the details of an order's fulfillment state. It should only be used for display summary purposes.\nFor a more granular view of the fulfillment status, refer to the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderDisplayFulfillmentStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disputes", + "description": "A list of the disputes associated with the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderDisputeSummary", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dutiesIncluded", + "description": "Whether duties are included in the subtotal price of the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edited", + "description": "Whether the order has had any edits applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The email address associated with the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "estimatedTaxes", + "description": "Whether taxes on the order are estimated.\nThis field returns `false` when taxes on the order are finalized and aren't subject to any changes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "A list of events associated with the order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exchangeV2s", + "description": "A list of ExchangeV2s for the order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| completed_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeV2Connection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillable", + "description": "Whether there are line items that can be fulfilled.\nThis field returns `false` when the order has no fulfillable line items.\nFor a more granular view of the fulfillment status, refer to the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrders", + "description": "A list of fulfillment orders for a specific order.\n\n[FulfillmentOrder API access scopes](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder#api-access-scopes)\ngovern which fulfillments orders are returned.\nAn API client will only receive a subset of the fulfillment orders which belong to an order\nif they don't have the necessary access scopes to view all of the fulfillment orders.\nIn the case that an API client does not have the access scopes necessary to view\nany of the fulfillment orders that belong to an order, an empty array will be returned.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayable", + "description": "If false, all fulfillment orders will be returned. If true, fulfillment orders that are normally hidden from the merchant will be excluded.\nFor example, fulfillment orders that were closed after being combined or moved are hidden.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| assigned_location_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| status | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillments", + "description": "List of shipments for the order.", + "args": [ + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentsCount", + "description": "The count of fulfillments including the cancelled fulfillments.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullyPaid", + "description": "Whether the order has been paid in full.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Whether the merchant added a timeline comment to the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "landingPageDisplayText", + "description": "The URL of the first page of the online store that the customer visited before they submitted the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `customerJourneySummary.lastVisit.landingPageHtml` instead" + }, + { + "name": "landingPageUrl", + "description": "The first page of the online store that the customer visited before they submitted the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `customerJourneySummary.lastVisit.landingPage` instead" + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "A list of the order's line items.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localizationExtensions", + "description": "List of localization extensions for the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCodes", + "description": "The country codes of the extensions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purposes", + "description": "The purpose of the extensions.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LocalizationExtensionPurpose", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocalizationExtensionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantBusinessEntity", + "description": "The merchant's business entity associated with the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessEntity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantEditable", + "description": "Whether the order can be edited by the merchant. For example, canceled orders can’t be edited.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantEditableErrors", + "description": "A list of reasons why the order can't be edited. For example, \"Canceled orders can't be edited\".", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantOfRecordApp", + "description": "The application acting as the Merchant of Record for the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderApp", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page.\nFor example, \"#1001\", \"EN1001\", or \"1001-A\".\nThis value isn't unique across multiple stores.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "netPayment", + "description": "The net payment for the order, based on the total amount received minus the total amount refunded, in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `netPaymentSet` instead." + }, + { + "name": "netPaymentSet", + "description": "The net payment for the order, based on the total amount received minus the total amount refunded, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nonFulfillableLineItems", + "description": "A list of line items that can't be fulfilled.\nFor example, tips and fully refunded line items can't be fulfilled.\nFor a more granular view of the fulfillment status, refer to the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The contents of the note associated with the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotalAdditionalFeesSet", + "description": "The total amount of additional fees at the time of order creation, in shop and presentment currencies.\nReturns `null` if additional fees aren't applicable.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotalDutiesSet", + "description": "The total amount of duties at the time of order creation, in shop and presentment currencies.\nReturns `null` if duties aren't applicable.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalTotalPriceSet", + "description": "The total price of the order at the time of order creation, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCollectionDetails", + "description": "The payment collection details for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderPaymentCollectionDetails", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentGatewayNames", + "description": "A list of the names of all payment gateways used for the order.\nFor example, \"Shopify Payments\" and \"Cash on Delivery (COD)\".", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTerms", + "description": "The payment terms associated with the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PaymentTerms", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number associated with the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "physicalLocation", + "description": "The fulfillment location that was assigned when the order was created.\nOrders can have multiple fulfillment orders. These fulfillment orders can each be assigned to a different location which is responsible for fulfilling a subset of the items in an order. The `Order.physicalLocation` field will only point to one of these locations.\nUse the [`FulfillmentOrder`](https://shopify.dev/api/admin-graphql/latest/objects/fulfillmentorder)\nobject for up to date fulfillment location information.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `fulfillmentOrders` to get the fulfillment location for the order" + }, + { + "name": "poNumber", + "description": "The PO number associated with the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentCurrencyCode", + "description": "The payment `CurrencyCode` of the customer for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "processedAt", + "description": "The date and time when the order was processed.\nThis date and time might not match the date and time when the order was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "The publication that the order was created from.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purchasingEntity", + "description": "The purchasing entity for the order.", + "args": [], + "type": { + "kind": "UNION", + "name": "PurchasingEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referralCode", + "description": "The marketing referral code from the link that the customer clicked to visit the store.\nSupports the following URL attributes: \"ref\", \"source\", or \"r\".\nFor example, if the URL is `{shop}.myshopify.com/products/slide?ref=j2tj1tn2`, then this value is `j2tj1tn2`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `customerJourneySummary.lastVisit.referralCode` instead" + }, + { + "name": "referrerDisplayText", + "description": "A web domain or short description of the source that sent the customer to your online store. For example, \"shopify.com\" or \"email\".", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `customerJourneySummary.lastVisit.referralInfoHtml` instead" + }, + { + "name": "referrerUrl", + "description": "The URL of the webpage where the customer clicked a link that sent them to your online store.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `customerJourneySummary.lastVisit.referrerUrl` instead" + }, + { + "name": "refundDiscrepancySet", + "description": "The difference between the suggested and actual refund amount of all refunds that have been applied to the order. A positive value indicates a difference in the merchant's favor, and a negative value indicates a difference in the customer's favor.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundable", + "description": "Whether the order can be refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refunds", + "description": "A list of refunds that have been applied to the order.", + "args": [ + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "registeredSourceUrl", + "description": "The URL of the source that the order originated from, if found in the domain registry.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether the order has shipping lines or at least one line item on the order that requires shipping.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockable", + "description": "Whether any line item on the order can be restocked.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retailLocation", + "description": "The physical location where a retail order is created or completed, except for draft POS orders completed via the “mark as paid” flow in Admin, which return null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnStatus", + "description": "The order's aggregated return status for display purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderReturnStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returns", + "description": "A list of returns for the order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| status | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "risk", + "description": "The risk characteristics for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderRiskSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "riskLevel", + "description": "The fraud risk level of the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderRiskLevel", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field is deprecated in version 2024-04. Please use OrderRiskAssessment.riskLevel" + }, + { + "name": "risks", + "description": "A list of risks associated with the order.", + "args": [ + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderRisk", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "This field is deprecated in version 2024-04. Please use OrderRiskAssessment" + }, + { + "name": "shippingAddress", + "description": "The mailing address of the customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "A summary of all shipping costs on the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLines", + "description": "A list of the order's shipping lines.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeRemovals", + "description": "Whether results should contain removed shipping lines.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyProtect", + "description": "The Shopify Protect details for the order. If Shopify Protect is disabled for the shop, then this will be null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyProtectOrderSummary", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceIdentifier", + "description": "A unique POS or third party order identifier.\nFor example, \"1234-12-1000\" or \"111-98567-54\". The `receipt_number` field is derived from this value for POS orders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceName", + "description": "The name of the source associated with the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "The staff member associated with the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "statusPageUrl", + "description": "The URL where the customer can check the order's current status.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalLineItemsQuantity", + "description": "The sum of the quantities for all line items that contribute to the order's subtotal price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalPrice", + "description": "The sum of the prices for all line items after discounts and before returns, in shop currency.\nIf `taxesIncluded` is `true`, then the subtotal also includes tax.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `subtotalPriceSet` instead." + }, + { + "name": "subtotalPriceSet", + "description": "The sum of the prices for all line items after discounts and before returns, in shop and presentment currencies.\nIf `taxesIncluded` is `true`, then the subtotal also includes tax.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestedRefund", + "description": "A suggested refund for the order.", + "args": [ + { + "name": "refundDuties", + "description": "The duties from the order to include in the refund.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefundDutyInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundLineItems", + "description": "The line items from the order to include in the refund.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefundLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundShipping", + "description": "Whether to refund the full shipping amount.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAmount", + "description": "The amount to refund for shipping. Overrides the `refundShipping` argument.", + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestFullRefund", + "description": "Whether the suggested refund should be created from all refundable line items on the order.\nIf `true`, the `refundLineItems` argument will be ignored.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SuggestedRefund", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma separated list of tags associated with the order. Updating `tags` overwrites\nany existing tags that were previously added to the order. To add new tags without overwriting\nexisting tags, use the [tagsAdd](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)\nmutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxExempt", + "description": "Whether taxes are exempt on the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "A list of all tax lines applied to line items on the order, before returns.\nTax line prices represent the total price for all tax lines with the same `rate` and `title`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxesIncluded", + "description": "Whether taxes are included in the subtotal price of the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the order is a test.\nTest orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled.\nA test order can't be converted into a real order and vice versa.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCapturable", + "description": "The authorized amount that's uncaptured or undercaptured, in shop currency.\nThis amount isn't adjusted for returns.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalCapturableSet` instead." + }, + { + "name": "totalCapturableSet", + "description": "The authorized amount that's uncaptured or undercaptured, in shop and presentment currencies.\nThis amount isn't adjusted for returns.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCashRoundingAdjustment", + "description": "The total rounding adjustment applied to payments or refunds for an Order involving cash payments. Applies to some countries where cash transactions are rounded to the nearest currency denomination.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashRoundingAdjustment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscounts", + "description": "The total amount discounted on the order before returns, in shop currency.\nThis includes both order and line level discounts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `totalDiscountsSet` instead." + }, + { + "name": "totalDiscountsSet", + "description": "The total amount discounted on the order before returns, in shop and presentment currencies.\nThis includes both order and line level discounts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalOutstandingSet", + "description": "The total amount not yet transacted for the order, in shop and presentment currencies.\nA positive value indicates a difference in the merchant's favor (payment from customer to merchant) and a negative value indicates a difference in the customer's favor (refund from merchant to customer).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalPrice", + "description": "The total price of the order, before returns, in shop currency.\nThis includes taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalPriceSet` instead." + }, + { + "name": "totalPriceSet", + "description": "The total price of the order, before returns, in shop and presentment currencies.\nThis includes taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalReceived", + "description": "The total amount received from the customer before returns, in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalReceivedSet` instead." + }, + { + "name": "totalReceivedSet", + "description": "The total amount received from the customer before returns, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRefunded", + "description": "The total amount that was refunded, in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalRefundedSet` instead." + }, + { + "name": "totalRefundedSet", + "description": "The total amount that was refunded, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRefundedShippingSet", + "description": "The total amount of shipping that was refunded, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalShippingPrice", + "description": "The total shipping amount before discounts and returns, in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalShippingPriceSet` instead." + }, + { + "name": "totalShippingPriceSet", + "description": "The total shipping amount before discounts and returns, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTax", + "description": "The total tax amount before returns, in shop currency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `totalTaxSet` instead." + }, + { + "name": "totalTaxSet", + "description": "The total tax amount before returns, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTipReceived", + "description": "The sum of all tip amounts for the order, in shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalTipReceivedSet` instead." + }, + { + "name": "totalTipReceivedSet", + "description": "The sum of all tip amounts for the order, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalWeight", + "description": "The total weight of the order before returns, in grams.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "A list of transactions associated with the order.", + "args": [ + { + "name": "capturable", + "description": "Filter transactions by whether they are capturable.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manuallyResolvable", + "description": "Filter transactions by whether they can be resolved manually.\nFor example, fully captured or voided transactions aren't manually resolvable.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionsCount", + "description": "The number of transactions associated with the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unpaid", + "description": "Whether no payments have been made for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the order was modified last.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasLocalizationExtensions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderActionType", + "description": "The possible order action types for a\n[sales agreement](https://shopify.dev/api/admin-graphql/latest/interfaces/salesagreement).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ORDER", + "description": "An order with a purchase or charge.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_EDIT", + "description": "An edit to the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND", + "description": "A refund on the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURN", + "description": "A return on the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "An unknown agreement action. Represents new actions that may be added in future versions.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderAdjustment", + "description": "An order adjustment accounts for the difference between a calculated and actual refund amount.", + "fields": [ + { + "name": "amountSet", + "description": "The amount of the order adjustment in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "An optional reason that explains a discrepancy between calculated and actual refund amounts.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderAdjustmentDiscrepancyReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxAmountSet", + "description": "The tax amount of the order adjustment in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderAdjustmentConnection", + "description": "An auto-generated type for paginating through multiple OrderAdjustments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderAdjustmentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in OrderAdjustmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderAdjustment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderAdjustmentDiscrepancyReason", + "description": "Discrepancy reasons for order adjustments.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER", + "description": "The discrepancy reason is customer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAMAGE", + "description": "The discrepancy reason is damage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULL_RETURN_BALANCING_ADJUSTMENT", + "description": "The discrepancy reason is balance adjustment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_REFUND_DISCREPANCY", + "description": "The discrepancy reason is pending refund.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND_DISCREPANCY", + "description": "The discrepancy reason is not one of the predefined reasons.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESTOCK", + "description": "The discrepancy reason is restocking.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderAdjustmentEdge", + "description": "An auto-generated type which holds one OrderAdjustment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of OrderAdjustmentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderAdjustment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderAdjustmentInputDiscrepancyReason", + "description": "Discrepancy reasons for order adjustments.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER", + "description": "The discrepancy reason is customer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAMAGE", + "description": "The discrepancy reason is damage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "The discrepancy reason is not one of the predefined reasons.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESTOCK", + "description": "The discrepancy reason is restocking.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderAgreement", + "description": "An agreement associated with an order placement.", + "fields": [ + { + "name": "app", + "description": "The application that created the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "happenedAt", + "description": "The date and time at which the agreement occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order associated with the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason the agremeent was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sales", + "description": "The sales associated with the agreement.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The staff member associated with the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SalesAgreement", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderApp", + "description": "The [application](https://shopify.dev/apps) that created the order.", + "fields": [ + { + "name": "icon", + "description": "The application icon.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The application ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCancelPayload", + "description": "Return type for `orderCancel` mutation.", + "fields": [ + { + "name": "job", + "description": "The job that asynchronously cancels the order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderCancelUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderCancelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `orderCancelUserErrors` instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderCancelReason", + "description": "Represents the reason for the order's cancellation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER", + "description": "The customer wanted to cancel the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DECLINED", + "description": "Payment was declined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAUD", + "description": "The order was fraudulent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY", + "description": "There was insufficient inventory.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "The order was canceled for an unlisted reason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STAFF", + "description": "Staff made an error.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCancelUserError", + "description": "Errors related to order cancellation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderCancelUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderCancelUserErrorCode", + "description": "Possible error codes that can be returned by `OrderCancelUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_REFUND_PERMISSION", + "description": "An order refund was requested but the user does not have the refund_orders permission.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCancellation", + "description": "Details about the order cancellation.", + "fields": [ + { + "name": "staffNote", + "description": "Staff provided note for the order cancellation.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCaptureInput", + "description": "The input fields for the authorized transaction to capture and the total amount to capture from it.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The amount to capture. The capture amount can't be greater than the amount of the authorized transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "The currency (in ISO format) that's used to capture the order. This must be the presentment currency (the currency used by the customer) and is a required field for orders where the currency and presentment currency differ.", + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finalCapture", + "description": "Indicates whether this is to be the final capture for the order transaction. Only applies to\nShopify Payments authorizations which are multi-capturable. If true, any uncaptured amount from the\nauthorization will be voided after the capture is completed. If false, the authorization will remain open\nfor future captures.\n\nFor multi-capturable authorizations, this defaults to false if not provided. This field has no effect on\nauthorizations which aren't multi-capturable (can only be captured once), or on other types of\ntransactions.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the order to capture.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentTransactionId", + "description": "The ID of the authorized transaction to capture.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCapturePayload", + "description": "Return type for `orderCapture` mutation.", + "fields": [ + { + "name": "transaction", + "description": "The created capture transaction.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCloseInput", + "description": "The input fields for specifying an open order to close.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the order to close.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderClosePayload", + "description": "Return type for `orderClose` mutation.", + "fields": [ + { + "name": "order", + "description": "The closed order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderConnection", + "description": "An auto-generated type for paginating through multiple Orders.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in OrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateCustomAttributeInput", + "description": "The input fields for a note attribute for an order.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key or name of the custom attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the custom attribute.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateDiscountCodeInput", + "description": "The input fields for a discount code to apply to an order. Only one type of discount can be applied to an order.", + "fields": null, + "inputFields": [ + { + "name": "freeShippingDiscountCode", + "description": "A free shipping discount code applied to the shipping on an order.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateFreeShippingDiscountCodeAttributesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemFixedDiscountCode", + "description": "A fixed amount discount code applied to the line items on the order.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateFixedDiscountCodeAttributesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemPercentageDiscountCode", + "description": "A percentage discount code applied to the line items on the order.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderCreatePercentageDiscountCodeAttributesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderCreateFinancialStatus", + "description": "The status of payments associated with the order. Can only be set when the order is created.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTHORIZED", + "description": "The payments have been authorized.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The payments have been expired.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAID", + "description": "The payments have been paid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTIALLY_PAID", + "description": "The order has been partially paid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTIALLY_REFUNDED", + "description": "The payments have been partially refunded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The payments are pending. Payment might fail in this state. Check again to confirm whether the payments have been paid successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUNDED", + "description": "The payments have been refunded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VOIDED", + "description": "The payments have been voided.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateFixedDiscountCodeAttributesInput", + "description": "The input fields for a fixed amount discount code to apply to an order.", + "fields": null, + "inputFields": [ + { + "name": "amountSet", + "description": "The amount that's deducted from the order total. When you create an order, this value is the monetary amount to deduct.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyBagInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The discount code that was entered at checkout.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateFreeShippingDiscountCodeAttributesInput", + "description": "The input fields for a free shipping discount code to apply to an order.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "The discount code that was entered at checkout.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateFulfillmentInput", + "description": "The input fields for a fulfillment to create for an order.", + "fields": null, + "inputFields": [ + { + "name": "locationId", + "description": "The ID of the location to fulfill the order from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Whether the customer should be notified of changes with the fulfillment.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originAddress", + "description": "The address at which the fulfillment occurred.", + "type": { + "kind": "INPUT_OBJECT", + "name": "FulfillmentOriginAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shipmentStatus", + "description": "The status of the shipment.", + "type": { + "kind": "ENUM", + "name": "FulfillmentEventStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingCompany", + "description": "The name of the tracking company.\n\nIf you specify a tracking company name from\n[the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies),\nShopify will automatically build tracking URLs for all provided tracking numbers,\nwhich will make the tracking numbers clickable in the interface.\nThe same tracking company will be applied to all tracking numbers specified.\n\nAdditionally, for the tracking companies listed on the\n[Shipping Carriers help page](https://help.shopify.com/manual/shipping/understanding-shipping/shipping-carriers#integrated-shipping-carriers)\nShopify will automatically update the fulfillment's `shipment_status` field during the fulfillment process.\n\n> Note:\n> Send the tracking company name exactly as written in\n> [the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies)\n> (capitalization matters).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "trackingNumber", + "description": "The tracking number of the fulfillment.\n\nThe tracking number will be clickable in the interface if one of the following applies\n(the highest in the list has the highest priority):\n\n* [Shopify-known tracking company name](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies)\n specified in the `company` field.\n Shopify will build the tracking URL automatically based on the tracking number specified.\n* The tracking number has a Shopify-known format.\n Shopify will guess the tracking provider and build the tracking url based on the tracking number format.\n Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers.\n This can result in an invalid tracking URL.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderCreateFulfillmentStatus", + "description": "The order's status in terms of fulfilled line items.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLED", + "description": "Every line item in the order has been fulfilled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTIAL", + "description": "At least one line item in the order has been fulfilled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESTOCKED", + "description": "Every line item in the order has been restocked and the order canceled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderCreateInputsInventoryBehavior", + "description": "The types of behavior to use when updating inventory.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BYPASS", + "description": "Do not claim inventory.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DECREMENT_IGNORING_POLICY", + "description": "Ignore the product's inventory policy and claim inventory.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DECREMENT_OBEYING_POLICY", + "description": "Follow the product's inventory policy and claim inventory, if possible.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateLineItemInput", + "description": "The input fields for a line item to create for an order.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentService", + "description": "The handle of a fulfillment service that stocks the product variant belonging to a line item.\n\n This is a third-party fulfillment service in the following scenarios:\n\n **Scenario 1**\n - The product variant is stocked by a single fulfillment service.\n - The [FulfillmentService](/api/admin-graphql/latest/objects/FulfillmentService) is a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`.\n\n **Scenario 2**\n - Multiple fulfillment services stock the product variant.\n - The last time that the line item was unfulfilled, it was awaiting fulfillment by a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`.\n\n If none of the above conditions are met, then the fulfillment service has the `manual` handle.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "Whether the item is a gift card. If true, then the item is not taxed or considered for shipping charges.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceSet", + "description": "The price of the item before discounts have been applied in the shop currency.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyBagInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product that the line item belongs to. Can be `null` if the original product associated with the order is deleted at a later date.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "properties", + "description": "An array of custom information for the item that has been added to the cart. Often used to provide product customization options.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateLineItemPropertyInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of items that were purchased.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether the item requires shipping.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The item's SKU (stock keeping unit).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "A list of tax line objects, each of which details a tax applied to the item.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateTaxLineInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the item was taxable.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The ID of the product variant.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "The title of the product variant.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the item's supplier.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateLineItemPropertyInput", + "description": "The input fields for a line item property for an order.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "The name of the line item property.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the line item property.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCreateMandatePaymentPayload", + "description": "Return type for `orderCreateMandatePayment` mutation.", + "fields": [ + { + "name": "job", + "description": "The async job used for charging the payment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentReferenceId", + "description": "The Unique ID for the created payment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderCreateMandatePaymentUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCreateMandatePaymentUserError", + "description": "An error that occurs during the execution of `OrderCreateMandatePayment`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderCreateMandatePaymentUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderCreateMandatePaymentUserErrorCode", + "description": "Possible error codes that can be returned by `OrderCreateMandatePaymentUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ORDER_MANDATE_PAYMENT_ERROR_CODE", + "description": "Errors for mandate payment on order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateOptionsInput", + "description": "The input fields which control certain side affects.", + "fields": null, + "inputFields": [ + { + "name": "inventoryBehaviour", + "description": "The behaviour to use when updating inventory.", + "type": { + "kind": "ENUM", + "name": "OrderCreateInputsInventoryBehavior", + "ofType": null + }, + "defaultValue": "BYPASS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sendFulfillmentReceipt", + "description": "Whether to send a shipping confirmation to the customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sendReceipt", + "description": "Whether to send an order confirmation to the customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateOrderInput", + "description": "The input fields for creating an order.", + "fields": null, + "inputFields": [ + { + "name": "billingAddress", + "description": "The mailing address associated with the payment method. This address is an optional field that won't be\n available on orders that don't require a payment method.\n\n > Note:\n > If a customer is provided, this field or `shipping_address` (which has precedence) will be set as the\n > customer's default address. Additionally, if the provided customer is new or hasn't created an order yet\n > then their name will be set to the first/last name from this address (if provided).", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "buyerAcceptsMarketing", + "description": "Whether the customer consented to receive email updates from the shop.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "The date and time ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when the order was closed. Returns null if the order isn't closed.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationId", + "description": "The ID of the purchasing company's location for the order.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "The shop-facing currency for the order. If not specified, then the shop's default currency is used.", + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of extra information that's added to the order. Appears in the **Additional details** section of an order details page.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateCustomAttributeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCode", + "description": "A discount code applied to the order.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateDiscountCodeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "A new customer email address for the order.\n\n > Note:\n > If a customer is provided, and no email is provided, the customer's email will be set to this field.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "financialStatus", + "description": "The financial status of the order. If not specified, then this will be derived through the given transactions. Note that it's possible to specify a status that doesn't match the given transactions and it will persist, but if an operation later occurs on the order, the status may then be recalculated to match the current state of transactions.", + "type": { + "kind": "ENUM", + "name": "OrderCreateFinancialStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillment", + "description": "The fulfillment to create for the order. This will apply to all line items.", + "type": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateFulfillmentInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentStatus", + "description": "The fulfillment status of the order. Will default to `unfulfilled` if not included.", + "type": { + "kind": "ENUM", + "name": "OrderCreateFulfillmentStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "The line items to create for the order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of metafields to add to the order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The order name, generated by combining the `order_number` property with the order prefix and suffix that are set in the merchant's [general settings](https://www.shopify.com/admin/settings/general). This is different from the `id` property, which is the ID of the order used by the API. This field can also be set by the API to be any string value.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The new contents for the note associated with the order.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "A new customer phone number for the order.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "poNumber", + "description": "The purchase order number associated to this order.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentCurrency", + "description": "The presentment currency that was used to display prices to the customer. This must be specified if any presentment currencies are used in the order.", + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedAt", + "description": "The date and time ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when an order was processed. This value is the date that appears on your orders and that's used in the analytic reports. If you're importing orders from an app or another platform, then you can set processed_at to a date and time in the past to match when the original order was created.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referringSite", + "description": "The website where the customer clicked a link to the shop.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The mailing address to where the order will be shipped.\n\n > Note:\n > If a customer is provided, this field (which has precedence) or `billing_address` will be set as the\n > customer's default address. Additionally, if the provided customer doesn't have a first or last name\n > then it will be set to the first/last name from this address (if provided).", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLines", + "description": "An array of objects, each of which details a shipping method used.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateShippingLineInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceIdentifier", + "description": "The ID of the order placed on the originating platform. This value doesn't correspond to the Shopify ID that's generated from a completed draft.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceName", + "description": "The source of the checkout. To use this field for sales attribution, you must register the channels that your app is managing. You can register the channels that your app is managing by completing [this Google Form](https://docs.google.com/forms/d/e/1FAIpQLScmVTZRQNjOJ7RD738mL1lGeFjqKVe_FM2tO9xsm21QEo5Ozg/viewform?usp=sf_link). After you've submited your request, you need to wait for your request to be processed by Shopify. You can find a list of your channels in the Partner Dashboard, in your app's Marketplace extension. You can specify a handle as the source_name value in your request.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceUrl", + "description": "A valid URL to the original order on the originating surface. This URL is displayed to merchants on the Order Details page. If the URL is invalid, then it won't be displayed.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma separated list of tags that have been added to the draft order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "An array of tax line objects, each of which details a tax applicable to the order. When creating an order through the API, tax lines can be specified on the order or the line items but not both. Tax lines specified on the order are split across the _taxable_ line items in the created order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateTaxLineInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxesIncluded", + "description": "Whether taxes are included in the order subtotal.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether this is a test order.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "The payment transactions to create for the order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateOrderTransactionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userId", + "description": "The ID of the user logged into Shopify POS who processed the order, if applicable.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateOrderTransactionInput", + "description": "The input fields for a transaction to create for an order.", + "fields": null, + "inputFields": [ + { + "name": "amountSet", + "description": "The amount of the transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyBagInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authorizationCode", + "description": "The authorization code associated with the transaction.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deviceId", + "description": "The ID of the device used to process the transaction.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gateway", + "description": "The name of the gateway the transaction was issued through.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardId", + "description": "The ID of the gift card used for this transaction.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of transaction.", + "type": { + "kind": "ENUM", + "name": "OrderTransactionKind", + "ofType": null + }, + "defaultValue": "SALE", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the location where the transaction was processed.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedAt", + "description": "The date and time when the transaction was processed.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "receiptJson", + "description": "The transaction receipt that the payment gateway attaches to the transaction.\nThe value of this field depends on which payment gateway processed the transaction.", + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the transaction.", + "type": { + "kind": "ENUM", + "name": "OrderTransactionStatus", + "ofType": null + }, + "defaultValue": "SUCCESS", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the transaction is a test transaction.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userId", + "description": "The ID of the user who processed the transaction.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCreatePayload", + "description": "Return type for `orderCreate` mutation.", + "fields": [ + { + "name": "order", + "description": "The order that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreatePercentageDiscountCodeAttributesInput", + "description": "The input fields for a percentage discount code to apply to an order.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "The discount code that was entered at checkout.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The amount that's deducted from the order total. When you create an order, this value is the percentage to deduct.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateShippingLineInput", + "description": "The input fields for a shipping line to create for an order.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "A reference to the shipping method.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceSet", + "description": "The price of this shipping method in the shop currency. Can't be negative.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyBagInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "The source of the shipping method.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "A list of tax line objects, each of which details a tax applicable to this shipping line.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderCreateTaxLineInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping method.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderCreateTaxLineInput", + "description": "The input fields for a tax line to create for an order.", + "fields": null, + "inputFields": [ + { + "name": "channelLiable", + "description": "Whether the channel that submitted the tax line is liable for remitting. A value of `null` indicates unknown liability for the tax line.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceSet", + "description": "The amount of tax to be charged on the item.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyBagInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rate", + "description": "The proportion of the item price that the tax represents as a decimal.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the tax line to create.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderCreateUserError", + "description": "An error that occurs during the execution of `OrderCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderCreateUserErrorCode", + "description": "Possible error codes that can be returned by `OrderCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_SERVICE_INVALID", + "description": "Indicates that the line item fulfillment service handle is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_CLAIM_FAILED", + "description": "Indicates that the inventory claim failed during order creation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSED_AT_INVALID", + "description": "Indicates that the processed_at field is invalid, such as when it references a future date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_LINE_RATE_MISSING", + "description": "Indicates that the tax line rate is missing - only enforced for LineItem or ShippingLine-level tax lines.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderDeletePayload", + "description": "Return type for `orderDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "Deleted order ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderDeleteUserError", + "description": "Errors related to deleting an order.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `OrderDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderDisplayFinancialStatus", + "description": "Represents the order's current financial status.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTHORIZED", + "description": "Displayed as **Authorized**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "Displayed as **Expired**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAID", + "description": "Displayed as **Paid**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTIALLY_PAID", + "description": "Displayed as **Partially paid**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTIALLY_REFUNDED", + "description": "Displayed as **Partially refunded**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "Displayed as **Pending**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUNDED", + "description": "Displayed as **Refunded**.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VOIDED", + "description": "Displayed as **Voided**.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderDisplayFulfillmentStatus", + "description": "Represents the order's aggregated fulfillment status for display purposes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLED", + "description": "Displayed as **Fulfilled**. All the items in the order have been fulfilled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "Displayed as **In progress**. Some of the items in the order have been fulfilled, or a request for fulfillment has been sent to the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ON_HOLD", + "description": "Displayed as **On hold**. All of the unfulfilled items in this order are on hold.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPEN", + "description": "Displayed as **Open**. None of the items in the order have been fulfilled. Replaced by \"UNFULFILLED\" status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARTIALLY_FULFILLED", + "description": "Displayed as **Partially fulfilled**. Some of the items in the order have been fulfilled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_FULFILLMENT", + "description": "Displayed as **Pending fulfillment**. A request for fulfillment of some items awaits a response from the fulfillment service. Replaced by the \"IN_PROGRESS\" status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUEST_DECLINED", + "description": "Displayed as **Request declined**. Some of the items in the order have been rejected for fulfillment by the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESTOCKED", + "description": "Displayed as **Restocked**. All the items in the order have been restocked. Replaced by the \"UNFULFILLED\" status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "Displayed as **Scheduled**. All of the unfulfilled items in this order are scheduled for fulfillment at later time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNFULFILLED", + "description": "Displayed as **Unfulfilled**. None of the items in the order have been fulfilled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderDisputeSummary", + "description": "A summary of the important details for a dispute on an order.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "initiatedAs", + "description": "The type that the dispute was initiated as.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DisputeType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current status of the dispute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DisputeStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEdge", + "description": "An auto-generated type which holds one Order and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of OrderEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAddCustomItemPayload", + "description": "Return type for `orderEditAddCustomItem` mutation.", + "fields": [ + { + "name": "calculatedLineItem", + "description": "The custom line item that will be added to the order based on the current edits.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "calculatedOrder", + "description": "An order with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAddLineItemDiscountPayload", + "description": "Return type for `orderEditAddLineItemDiscount` mutation.", + "fields": [ + { + "name": "addedDiscountStagedChange", + "description": "The discount applied to a line item during this order edit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderStagedChangeAddLineItemDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "calculatedLineItem", + "description": "The line item with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "calculatedOrder", + "description": "An order with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderEditAddShippingLineInput", + "description": "The input fields used to add a shipping line.", + "fields": null, + "inputFields": [ + { + "name": "price", + "description": "The price of the shipping line.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping line.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAddShippingLinePayload", + "description": "Return type for `orderEditAddShippingLine` mutation.", + "fields": [ + { + "name": "calculatedOrder", + "description": "The [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nwith the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "calculatedShippingLine", + "description": "The [calculated shipping line](https://shopify.dev/api/admin-graphql/latest/objects/calculatedshippingline)\nthat's added during this order edit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedShippingLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderEditAddShippingLineUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAddShippingLineUserError", + "description": "An error that occurs during the execution of `OrderEditAddShippingLine`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderEditAddShippingLineUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderEditAddShippingLineUserErrorCode", + "description": "Possible error codes that can be returned by `OrderEditAddShippingLineUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAddVariantPayload", + "description": "Return type for `orderEditAddVariant` mutation.", + "fields": [ + { + "name": "calculatedLineItem", + "description": "The [calculated line item](https://shopify.dev/api/admin-graphql/latest/objects/calculatedlineitem)\nthat's added during this order edit.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "calculatedOrder", + "description": "The [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nwith the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAgreement", + "description": "An agreement associated with an edit to the order.", + "fields": [ + { + "name": "app", + "description": "The application that created the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "happenedAt", + "description": "The date and time at which the agreement occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason the agremeent was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sales", + "description": "The sales associated with the agreement.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The staff member associated with the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SalesAgreement", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderEditAppliedDiscountInput", + "description": "The input fields used to add a discount during an order edit.", + "fields": null, + "inputFields": [ + { + "name": "description", + "description": "The description of the discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fixedValue", + "description": "The value of the discount as a fixed amount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentValue", + "description": "The value of the discount as a percentage.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditBeginPayload", + "description": "Return type for `orderEditBegin` mutation.", + "fields": [ + { + "name": "calculatedOrder", + "description": "The order that will be edited.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditCommitPayload", + "description": "Return type for `orderEditCommit` mutation.", + "fields": [ + { + "name": "order", + "description": "The order with changes applied.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditRemoveDiscountPayload", + "description": "Return type for `orderEditRemoveDiscount` mutation.", + "fields": [ + { + "name": "calculatedOrder", + "description": "An order with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderEditRemoveDiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditRemoveDiscountUserError", + "description": "An error that occurs during the execution of `OrderEditRemoveDiscount`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderEditRemoveDiscountUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderEditRemoveDiscountUserErrorCode", + "description": "Possible error codes that can be returned by `OrderEditRemoveDiscountUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditRemoveLineItemDiscountPayload", + "description": "Return type for `orderEditRemoveLineItemDiscount` mutation.", + "fields": [ + { + "name": "calculatedLineItem", + "description": "The calculated line item after removal of the discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "calculatedOrder", + "description": "An order with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditRemoveShippingLinePayload", + "description": "Return type for `orderEditRemoveShippingLine` mutation.", + "fields": [ + { + "name": "calculatedOrder", + "description": "The [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder)\nwith the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderEditRemoveShippingLineUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditRemoveShippingLineUserError", + "description": "An error that occurs during the execution of `OrderEditRemoveShippingLine`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderEditRemoveShippingLineUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderEditRemoveShippingLineUserErrorCode", + "description": "Possible error codes that can be returned by `OrderEditRemoveShippingLineUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditSetQuantityPayload", + "description": "Return type for `orderEditSetQuantity` mutation.", + "fields": [ + { + "name": "calculatedLineItem", + "description": "The calculated line item with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedLineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "calculatedOrder", + "description": "The calculated order with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditUpdateDiscountPayload", + "description": "Return type for `orderEditUpdateDiscount` mutation.", + "fields": [ + { + "name": "calculatedOrder", + "description": "An order with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderEditUpdateDiscountUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditUpdateDiscountUserError", + "description": "An error that occurs during the execution of `OrderEditUpdateDiscount`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderEditUpdateDiscountUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderEditUpdateDiscountUserErrorCode", + "description": "Possible error codes that can be returned by `OrderEditUpdateDiscountUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderEditUpdateShippingLineInput", + "description": "The input fields used to update a shipping line.", + "fields": null, + "inputFields": [ + { + "name": "price", + "description": "The price of the shipping line.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping line.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditUpdateShippingLinePayload", + "description": "Return type for `orderEditUpdateShippingLine` mutation.", + "fields": [ + { + "name": "calculatedOrder", + "description": "An order with the edits applied but not saved.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CalculatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderEditUpdateShippingLineUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderEditUpdateShippingLineUserError", + "description": "An error that occurs during the execution of `OrderEditUpdateShippingLine`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderEditUpdateShippingLineUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderEditUpdateShippingLineUserErrorCode", + "description": "Possible error codes that can be returned by `OrderEditUpdateShippingLineUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderInput", + "description": "The input fields for specifying the information to be updated on an order when using the orderUpdate mutation.", + "fields": null, + "inputFields": [ + { + "name": "customAttributes", + "description": "A new list of custom attributes for the order. Overwrites the existing custom attributes.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AttributeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "A new customer email address for the order. Overwrites the existing email address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the order to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localizationExtensions", + "description": "A list of new [localization extensions](https://shopify.dev/api/admin-graphql/latest/objects/localizationextension) to add to the existing list of localization extensions for the order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "LocalizationExtensionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of new metafields to add to the existing metafields for the order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The new contents for the note associated with the order. Overwrites the existing note.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "poNumber", + "description": "The new purchase order number for the order.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The new shipping address for the order. Overwrites the existing shipping address.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A new list of tags for the order. Overwrites the existing tags.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderInvoiceSendPayload", + "description": "Return type for `orderInvoiceSend` mutation.", + "fields": [ + { + "name": "order", + "description": "The order associated with the invoice email.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderInvoiceSendUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderInvoiceSendUserError", + "description": "An error that occurs during the execution of `OrderInvoiceSend`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderInvoiceSendUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderInvoiceSendUserErrorCode", + "description": "Possible error codes that can be returned by `OrderInvoiceSendUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ORDER_INVOICE_SEND_UNSUCCESSFUL", + "description": "An error occurred while sending the invoice.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderMarkAsPaidInput", + "description": "The input fields for specifying the order to mark as paid.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the order to mark as paid.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderMarkAsPaidPayload", + "description": "Return type for `orderMarkAsPaid` mutation.", + "fields": [ + { + "name": "order", + "description": "The order marked as paid.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderOpenInput", + "description": "The input fields for specifying a closed order to open.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the order to open.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderOpenPayload", + "description": "Return type for `orderOpen` mutation.", + "fields": [ + { + "name": "order", + "description": "The opened order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderPaymentCollectionDetails", + "description": "The payment collection details for an order that requires additional payment following an edit to the order.", + "fields": [ + { + "name": "additionalPaymentCollectionUrl", + "description": "The URL to use for collecting an additional payment on the order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vaultedPaymentMethods", + "description": "The list of vaulted payment methods for the order with their permissions.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentMandate", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderPaymentStatus", + "description": "The status of a customer's payment for an order.", + "fields": [ + { + "name": "errorMessage", + "description": "A message describing an error during the asynchronous processing of a payment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentReferenceId", + "description": "The ID of the payment, initially returned by an `orderCreateMandatePayment` or `orderCreatePayment` mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the payment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderPaymentStatusResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "The transaction associated with the payment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatedErrorMessage", + "description": "A translated message describing an error during the asynchronous processing of a payment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderPaymentStatusResult", + "description": "The type of a payment status.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTHORIZED", + "description": "The payment is authorized.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPTURED", + "description": "The payment is captured.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "There was an error initiating the payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INITIATED", + "description": "The payment is awaiting processing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The payment is pending with the provider, and may take a while.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING", + "description": "The payment is still being processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PURCHASED", + "description": "The payment is in purchased status.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REDIRECT_REQUIRED", + "description": "Redirect required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUNDED", + "description": "The payment is refunded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETRYABLE", + "description": "Payment can be retried.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "The payment succeeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Status is unknown.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VOIDED", + "description": "The payment is voided.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderReturnStatus", + "description": "The order's aggregated return status that's used for display purposes.\nAn order might have multiple returns, so this field communicates the prioritized return status.\nThe `OrderReturnStatus` enum is a supported filter parameter in the [`orders` query](https://shopify.dev/api/admin-graphql/latest/queries/orders#:~:text=reference_location_id-,return_status,-risk_level).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INSPECTION_COMPLETE", + "description": "All return shipments from a return in this order were inspected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_PROGRESS", + "description": "Some items in the order are being returned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_RETURN", + "description": "No items in the order were returned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNED", + "description": "Some items in the order were returned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURN_FAILED", + "description": "Some returns in the order were not completed successfully.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURN_REQUESTED", + "description": "A return was requested for some items in the order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderRisk", + "description": "Represents a fraud check on an order.\nAs of version 2024-04 this resource is deprecated. Risk Assessments can be queried via the\n[OrderRisk Assessments API](https://shopify.dev/api/admin-graphql/2024-04/objects/OrderRiskAssessment).", + "fields": [ + { + "name": "display", + "description": "Whether the risk level is shown in the Shopify admin. If false, then this order risk is ignored when Shopify determines the overall risk level for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field is deprecated in version 2024-04" + }, + { + "name": "level", + "description": "The likelihood that an order is fraudulent, based on this order risk.\n\nThe level can be set by Shopify risk analysis or by an app.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderRiskLevel", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This field is deprecated in version 2024-04. Please use OrderRiskAssessment.riskLevel" + }, + { + "name": "message", + "description": "The risk message that's shown to the merchant in the Shopify admin.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This field is deprecated in version 2024-04" + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderRiskAssessment", + "description": "The risk assessments for an order.", + "fields": [ + { + "name": "facts", + "description": "Optional facts used to describe the risk assessment. The values in here are specific to the provider.\nSee the [examples for the mutation orderRiskAssessmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/orderRiskAssessmentCreate#section-examples).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RiskFact", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provider", + "description": "The app that provided the assessment, `null` if the assessment was provided by Shopify.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "riskLevel", + "description": "The likelihood that the order is fraudulent, based on this risk assessment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RiskAssessmentResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderRiskAssessmentCreateInput", + "description": "The input fields for an order risk assessment.", + "fields": null, + "inputFields": [ + { + "name": "facts", + "description": "The list of facts used to determine the fraud assessment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderRiskAssessmentFactInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "The ID of the order receiving the fraud assessment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "riskLevel", + "description": "The risk level of the fraud assessment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RiskAssessmentResult", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderRiskAssessmentCreatePayload", + "description": "Return type for `orderRiskAssessmentCreate` mutation.", + "fields": [ + { + "name": "orderRiskAssessment", + "description": "The order risk assessment created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderRiskAssessment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderRiskAssessmentCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderRiskAssessmentCreateUserError", + "description": "An error that occurs during the execution of `OrderRiskAssessmentCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderRiskAssessmentCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderRiskAssessmentCreateUserErrorCode", + "description": "Possible error codes that can be returned by `OrderRiskAssessmentCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_ALREADY_FULFILLED", + "description": "The order is marked as fulfilled and can no longer accept new risk assessments.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_FACTS", + "description": "Too many facts were provided for the risk assessment.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderRiskAssessmentFactInput", + "description": "The input fields to create a fact on an order risk assessment.", + "fields": null, + "inputFields": [ + { + "name": "description", + "description": "A description of the fact. Large values are truncated to 256 characters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentiment", + "description": "Indicates whether the fact is a negative, neutral or positive contributor with regards to risk.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RiskFactSentiment", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderRiskLevel", + "description": "The likelihood that an order is fraudulent.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HIGH", + "description": "There is a high level of risk that this order is fraudulent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "There is a low level of risk that this order is fraudulent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "There is a medium level of risk that this order is fraudulent.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderRiskRecommendationResult", + "description": "List of possible values for an OrderRiskRecommendation recommendation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPT", + "description": "Recommends fulfilling the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCEL", + "description": "Recommends cancelling the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVESTIGATE", + "description": "Recommends investigating the order by contacting buyers.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "There is no recommended action for the order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderRiskSummary", + "description": "Summary of risk characteristics for an order.", + "fields": [ + { + "name": "assessments", + "description": "The list of risk assessments for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderRiskAssessment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recommendation", + "description": "The recommendation for the order based on the results of the risk assessments. This suggests the action the merchant should take with regards to its risk of fraud.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderRiskRecommendationResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderSortKeys", + "description": "The set of valid sort keys for the Order query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_NAME", + "description": "Sort by the `customer_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DESTINATION", + "description": "Sort orders by their shipping address country and city.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FINANCIAL_STATUS", + "description": "Sort by the `financial_status` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_STATUS", + "description": "Sort by the `fulfillment_status` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_NUMBER", + "description": "Sort by the `order_number` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PO_NUMBER", + "description": "Sort orders by their purchase order number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSED_AT", + "description": "Sort by the `processed_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_ITEMS_QUANTITY", + "description": "Sort orders by the total quantity of all line items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOTAL_PRICE", + "description": "Sort by the `total_price` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "OrderStagedChange", + "description": "A change that has been applied to an order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddCustomItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddLineItemDiscount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddShippingLine", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddVariant", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeDecrementItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeIncrementItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeRemoveShippingLine", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddCustomItem", + "description": "A change to the order representing the addition of a\ncustom line item. For example, you might want to add gift wrapping service\nas a custom line item.", + "fields": [ + { + "name": "originalUnitPrice", + "description": "The price of an individual item without any discounts applied. This value can't be negative.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the custom item to add to the order. This value must be greater than zero.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the custom item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddLineItemDiscount", + "description": "The discount applied to an item that was added during the current order edit.", + "fields": [ + { + "name": "description", + "description": "The description of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The pricing value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddShippingLine", + "description": "A new [shipping line](https://shopify.dev/api/admin-graphql/latest/objects/shippingline)\nadded as part of an order edit.", + "fields": [ + { + "name": "phone", + "description": "The phone number at the shipping address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The shipping line's title that's shown to the buyer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price that applies to the shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeAddVariant", + "description": "A change to the order representing the addition of an existing product variant.", + "fields": [ + { + "name": "quantity", + "description": "The quantity of the product variant that was added.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant that was added.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeConnection", + "description": "An auto-generated type for paginating through multiple OrderStagedChanges.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderStagedChangeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in OrderStagedChangeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "OrderStagedChange", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeDecrementItem", + "description": "An removal of items from an existing line item on the order.", + "fields": [ + { + "name": "delta", + "description": "The number of items removed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The original line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restock", + "description": "The intention to restock the removed items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeEdge", + "description": "An auto-generated type which holds one OrderStagedChange and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of OrderStagedChangeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "OrderStagedChange", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeIncrementItem", + "description": "An addition of items to an existing line item on the order.", + "fields": [ + { + "name": "delta", + "description": "The number of items added.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The original line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderStagedChangeRemoveShippingLine", + "description": "A shipping line removed during an order edit.", + "fields": [ + { + "name": "shippingLine", + "description": "The removed shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderTransaction", + "description": "A payment transaction in the context of an order.", + "fields": [ + { + "name": "accountNumber", + "description": "The masked account number associated with the payment method.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount of money.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `amountSet` instead." + }, + { + "name": "amountRoundingSet", + "description": "The rounding adjustment applied on the cash amount in shop and presentment currencies.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amountSet", + "description": "The amount and currency of the transaction in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amountV2", + "description": "The amount and currency of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `amountSet` instead." + }, + { + "name": "authorizationCode", + "description": "Authorization code associated with the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "authorizationExpiresAt", + "description": "The time when the authorization expires. This field is available only to stores on a Shopify Plus plan.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "Date and time when the transaction was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorCode", + "description": "A standardized error code, independent of the payment provider.", + "args": [], + "type": { + "kind": "ENUM", + "name": "OrderTransactionErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fees", + "description": "The transaction fees charged on the order transaction. Only present for Shopify Payments transactions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TransactionFee", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formattedGateway", + "description": "The human-readable payment gateway name used to process the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gateway", + "description": "The payment gateway used to process the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderTransactionKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manuallyCapturable", + "description": "Whether the transaction can be manually captured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumRefundable", + "description": "Specifies the available amount to refund on the gateway.\nThis value is only available for transactions of type `SuggestedRefund`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `maximumRefundableV2` instead." + }, + { + "name": "maximumRefundableV2", + "description": "Specifies the available amount with currency to refund on the gateway.\nThis value is only available for transactions of type `SuggestedRefund`.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiCapturable", + "description": "Whether the transaction can be captured multiple times.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The associated order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentTransaction", + "description": "The associated parent transaction, for example the authorization of a capture.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentDetails", + "description": "The payment details for the transaction.", + "args": [], + "type": { + "kind": "UNION", + "name": "PaymentDetails", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentIcon", + "description": "The payment icon to display for the transaction.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentId", + "description": "The payment ID associated with the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethod", + "description": "The payment method used for the transaction. This value is `null` if the payment method is unknown.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PaymentMethods", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `paymentIcon` instead." + }, + { + "name": "processedAt", + "description": "Date and time when the transaction was processed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "receiptJson", + "description": "The transaction receipt that the payment gateway attaches to the transaction.\nThe value of this field depends on which payment gateway processed the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "settlementCurrency", + "description": "The settlement currency.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "settlementCurrencyRate", + "description": "The rate used when converting the transaction amount to settlement currency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyPaymentsSet", + "description": "Contains all Shopify Payments information related to an order transaction. This field is available only to stores on a Shopify Plus plan.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsTransactionSet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderTransactionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the transaction is a test transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalUnsettled", + "description": "Specifies the available amount to capture on the gateway.\nOnly available when an amount is capturable or manually mark as paid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `totalUnsettledSet` instead." + }, + { + "name": "totalUnsettledSet", + "description": "Specifies the available amount with currency to capture on the gateway in shop and presentment currencies.\nOnly available when an amount is capturable or manually mark as paid.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalUnsettledV2", + "description": "Specifies the available amount with currency to capture on the gateway.\nOnly available when an amount is capturable or manually mark as paid.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `totalUnsettledSet` instead." + }, + { + "name": "user", + "description": "Staff member who was logged into the Shopify POS device when the transaction was processed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderTransactionConnection", + "description": "An auto-generated type for paginating through multiple OrderTransactions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransactionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in OrderTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderTransactionEdge", + "description": "An auto-generated type which holds one OrderTransaction and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of OrderTransactionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderTransactionErrorCode", + "description": "A standardized error code, independent of the payment provider.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AMAZON_PAYMENTS_INVALID_PAYMENT_METHOD", + "description": "The payment method was invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMAZON_PAYMENTS_MAX_AMOUNT_CHARGED", + "description": "The maximum amount has been captured.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMAZON_PAYMENTS_MAX_AMOUNT_REFUNDED", + "description": "The maximum amount has been refunded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMAZON_PAYMENTS_MAX_AUTHORIZATIONS_CAPTURED", + "description": "The maximum of 10 authorizations has been captured for an order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMAZON_PAYMENTS_MAX_REFUNDS_PROCESSED", + "description": "The maximum of 10 refunds has been processed for an order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMAZON_PAYMENTS_ORDER_REFERENCE_CANCELED", + "description": "The order was canceled, which canceled all open authorizations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMAZON_PAYMENTS_STALE", + "description": "The order was not confirmed within three hours.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CALL_ISSUER", + "description": "Call the card issuer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CARD_DECLINED", + "description": "The card was declined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONFIG_ERROR", + "description": "There is an error in the gateway or merchant configuration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_CARD", + "description": "The card is expired.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "There was an unknown error with processing the payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCORRECT_ADDRESS", + "description": "The address does not match the card number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCORRECT_CVC", + "description": "The CVC does not match the card number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCORRECT_NUMBER", + "description": "The card number is incorrect.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCORRECT_PIN", + "description": "The entered PIN is incorrect.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCORRECT_ZIP", + "description": "The ZIP or postal code does not match the card number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_AMOUNT", + "description": "The amount is either too high or too low for the provider.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_COUNTRY", + "description": "The payment method is not available in the customer's country.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CVC", + "description": "The format of the CVC is incorrect.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_EXPIRY_DATE", + "description": "The format of the expiry date is incorrect.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_NUMBER", + "description": "The format of the card number is incorrect.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_METHOD_UNAVAILABLE", + "description": "The payment method is momentarily unavailable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PICK_UP_CARD", + "description": "The card has been reported as lost or stolen, and the card issuer has requested that the merchant keep the card and call the number on the back.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING_ERROR", + "description": "There was an error while processing the payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEST_MODE_LIVE_CARD", + "description": "A real card was used but the gateway was in test mode.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_FEATURE", + "description": "The gateway or merchant configuration doesn't support a feature, such as network tokenization.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "OrderTransactionInput", + "description": "The input fields for the information needed to create an order transaction.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The amount of money for this transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gateway", + "description": "The payment gateway to use for this transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "The kind of transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderTransactionKind", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "The ID of the order associated with the transaction.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentId", + "description": "The ID of the optional parent transaction, for example the authorization of a capture.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderTransactionKind", + "description": "The different kinds of order transactions.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTHORIZATION", + "description": "An amount reserved against the cardholder's funding source.\nMoney does not change hands until the authorization is captured.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPTURE", + "description": "A transfer of the money that was reserved by an authorization.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANGE", + "description": "The money returned to the customer when they've paid too much during a cash transaction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMV_AUTHORIZATION", + "description": "An authorization for a payment taken with an EMV credit card reader.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND", + "description": "A partial or full return of captured funds to the cardholder.\nA refund can happen only after a capture is processed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SALE", + "description": "An authorization and capture performed together in a single step.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUGGESTED_REFUND", + "description": "A suggested refund transaction that can be used to create a refund.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VOID", + "description": "A cancelation of an authorization transaction.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "OrderTransactionStatus", + "description": "The different states that an `OrderTransaction` can have.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AWAITING_RESPONSE", + "description": "Awaiting a response.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": "There was an error while processing the transaction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILURE", + "description": "The transaction failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The transaction is pending.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "The transaction succeeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "The transaction status is unknown.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "OrderUpdatePayload", + "description": "Return type for `orderUpdate` mutation.", + "fields": [ + { + "name": "order", + "description": "The updated order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Page", + "description": "A page on the Online Store.", + "fields": [ + { + "name": "body", + "description": "The text content of the page, complete with HTML markup.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodySummary", + "description": "The first 150 characters of the page body. If the page body contains more than 150 characters, additional characters are truncated by ellipses.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time (ISO 8601 format) of the page creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the page.\nIn themes, the Liquid templating language refers to a page by its handle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether or not the page is visible.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "publishedAt", + "description": "The date and time (ISO 8601 format) when the page became or will become visible.\nReturns null when the page isn't visible.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The suffix of the template that's used to render the page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time (ISO 8601 format) of the latest page update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageConnection", + "description": "An auto-generated type for paginating through multiple Pages.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PageCreateInput", + "description": "The input fields to create a page.", + "fields": null, + "inputFields": [ + { + "name": "body", + "description": "The text content of the page, complete with HTML markup.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the page. If no handle is specified, a handle will be generated automatically from the page title.\nIn themes, the Liquid templating language refers to a page by its handle.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether or not the page should be visible. Defaults to `true` if no publish date is specified.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The input fields to create or update a metafield.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date and time (ISO 8601 format) when the page should become visible.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The suffix of the template that's used to render the page.\nIf the value is an empty string or `null`, then the default page template is used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the page.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageCreatePayload", + "description": "Return type for `pageCreate` mutation.", + "fields": [ + { + "name": "page", + "description": "The page that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageCreateUserError", + "description": "An error that occurs during the execution of `PageCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PageCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PageCreateUserErrorCode", + "description": "Possible error codes that can be returned by `PageCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_PUBLISH_DATE", + "description": "Can’t set isPublished to true and also set a future publish date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The metafield type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or for the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageDeletePayload", + "description": "Return type for `pageDelete` mutation.", + "fields": [ + { + "name": "deletedPageId", + "description": "The ID of the deleted page.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageDeleteUserError", + "description": "An error that occurs during the execution of `PageDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PageDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PageDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `PageDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageEdge", + "description": "An auto-generated type which holds one Page and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PageEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageInfo", + "description": "Returns information about pagination in a connection, in accordance with the\n[Relay specification](https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo).\nFor more information, please read our [GraphQL Pagination Usage Guide](https://shopify.dev/api/usage/pagination-graphql).", + "fields": [ + { + "name": "endCursor", + "description": "The cursor corresponding to the last node in edges.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasNextPage", + "description": "Whether there are more pages to fetch following the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasPreviousPage", + "description": "Whether there are any pages prior to the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCursor", + "description": "The cursor corresponding to the first node in edges.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PageUpdateInput", + "description": "The input fields to update a page.", + "fields": null, + "inputFields": [ + { + "name": "body", + "description": "The text content of the page, complete with HTML markup.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-friendly string for the page. If no handle is specified, a handle will be generated automatically from the page title.\nIn themes, the Liquid templating language refers to a page by its handle.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether or not the page should be visible. Defaults to `true` if no publish date is specified.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The input fields to create or update a metafield.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date and time (ISO 8601 format) when the page should become visible.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Whether a redirect is required after a new handle has been provided.\nIf `true`, then the old handle is redirected to the new one automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The suffix of the template that's used to render the page.\nIf the value is an empty string or `null`, then the default page template is used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the page.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageUpdatePayload", + "description": "Return type for `pageUpdate` mutation.", + "fields": [ + { + "name": "page", + "description": "The page that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PageUpdateUserError", + "description": "An error that occurs during the execution of `PageUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PageUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PageUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `PageUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_PUBLISH_DATE", + "description": "Can’t set isPublished to true and also set a future publish date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomization", + "description": "A payment customization.", + "fields": [ + { + "name": "enabled", + "description": "The enabled status of the payment customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorHistory", + "description": "The error history on the most recent version of the payment customization.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FunctionsErrorHistory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID of the Shopify Function implementing the payment customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "shopifyFunction", + "description": "The Shopify Function implementing the payment customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the payment customization.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationActivationPayload", + "description": "Return type for `paymentCustomizationActivation` mutation.", + "fields": [ + { + "name": "ids", + "description": "The IDs of the updated payment customizations.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationConnection", + "description": "An auto-generated type for paginating through multiple PaymentCustomizations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomizationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PaymentCustomizationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationCreatePayload", + "description": "Return type for `paymentCustomizationCreate` mutation.", + "fields": [ + { + "name": "paymentCustomization", + "description": "Returns the created payment customization.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationDeletePayload", + "description": "Return type for `paymentCustomizationDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "Returns the deleted payment customization ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationEdge", + "description": "An auto-generated type which holds one PaymentCustomization and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PaymentCustomizationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationError", + "description": "An error that occurs during the execution of a payment customization mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PaymentCustomizationErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaymentCustomizationErrorCode", + "description": "Possible error codes that can be returned by `PaymentCustomizationError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOM_APP_FUNCTION_NOT_ELIGIBLE", + "description": "Shop plan not eligible to use Functions from a custom app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_DOES_NOT_IMPLEMENT", + "description": "Function does not implement the required interface.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_ID_CANNOT_BE_CHANGED", + "description": "Function ID cannot be changed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_NOT_FOUND", + "description": "Function not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_PENDING_DELETION", + "description": "Function is pending deletion.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_METAFIELDS", + "description": "Could not create or update metafields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_ACTIVE_PAYMENT_CUSTOMIZATIONS", + "description": "Maximum payment customizations are already enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_CUSTOMIZATION_FUNCTION_NOT_ELIGIBLE", + "description": "Shop must be on a Shopify Plus plan to activate payment customizations from a custom app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_CUSTOMIZATION_NOT_FOUND", + "description": "Payment customization not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRED_INPUT_FIELD", + "description": "Required input field must be present.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PaymentCustomizationInput", + "description": "The input fields to create and update a payment customization.", + "fields": null, + "inputFields": [ + { + "name": "enabled", + "description": "The enabled status of the payment customization.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The ID of the function providing the payment customization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the payment customization.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the payment customization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentCustomizationUpdatePayload", + "description": "Return type for `paymentCustomizationUpdate` mutation.", + "fields": [ + { + "name": "paymentCustomization", + "description": "Returns the updated payment customization.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomizationError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PaymentDetails", + "description": "Payment details related to a transaction.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CardPaymentDetails", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocalPaymentMethodsPaymentDetails", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopPayInstallmentsPaymentDetails", + "ofType": null + } + ] + }, + { + "kind": "UNION", + "name": "PaymentInstrument", + "description": "All possible instrument outputs for Payment Mandates.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "VaultCreditCard", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "VaultPaypalBillingAgreement", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PaymentMandate", + "description": "A payment instrument and the permission\nthe owner of the instrument gives to the merchant to debit it.", + "fields": [ + { + "name": "id", + "description": "The unique ID of a payment mandate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentInstrument", + "description": "The outputs details of the payment instrument.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PaymentInstrument", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaymentMethods", + "description": "Some of the payment methods used in Shopify.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AMERICAN_EXPRESS", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BITCOIN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BOGUS", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DANKORT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DINERS_CLUB", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOVER", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOGECOIN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EFTPOS", + "description": "The payment method for eftpos_au payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ELO", + "description": "The payment method for Elo payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FORBRUGSFORENINGEN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERAC", + "description": "The payment method for Interac payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JCB", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LITECOIN", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAESTRO", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MASTERCARD", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYPAL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNIONPAY", + "description": "The payment method for UnionPay payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VISA", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentReminderSendPayload", + "description": "Return type for `paymentReminderSend` mutation.", + "fields": [ + { + "name": "success", + "description": "Whether the payment reminder email was successfully sent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentReminderSendUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentReminderSendUserError", + "description": "An error that occurs during the execution of `PaymentReminderSend`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PaymentReminderSendUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaymentReminderSendUserErrorCode", + "description": "Possible error codes that can be returned by `PaymentReminderSendUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PAYMENT_REMINDER_SEND_UNSUCCESSFUL", + "description": "An error occurred while sending the payment reminder.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentSchedule", + "description": "Represents the payment schedule for a single payment defined in the payment terms.", + "fields": [ + { + "name": "amount", + "description": "Amount owed for this payment schedule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `balanceDue`, `totalBalance`, or `Order.totalOutstandingSet` instead." + }, + { + "name": "completedAt", + "description": "Date and time when the payment schedule is paid or fulfilled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueAt", + "description": "Date and time when the payment schedule is due.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuedAt", + "description": "Date and time when the invoice is sent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTerms", + "description": "The payment terms the payment schedule belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentTerms", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentScheduleConnection", + "description": "An auto-generated type for paginating through multiple PaymentSchedules.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentScheduleEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PaymentScheduleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentSchedule", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentScheduleEdge", + "description": "An auto-generated type which holds one PaymentSchedule and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PaymentScheduleEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentSchedule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PaymentScheduleInput", + "description": "The input fields used to create a payment schedule for payment terms.", + "fields": null, + "inputFields": [ + { + "name": "dueAt", + "description": "Specifies the date and time when the payment schedule is due. This field must be provided for fixed type payment terms.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuedAt", + "description": "Specifies the date and time that the payment schedule was issued. This field must be provided for net type payment terms.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentSettings", + "description": "Settings related to payments.", + "fields": [ + { + "name": "supportedDigitalWallets", + "description": "List of the digital wallets which the shop supports.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DigitalWallet", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTerms", + "description": "Represents the payment terms for an order or draft order.", + "fields": [ + { + "name": "draftOrder", + "description": "The draft order associated with the payment terms.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueInDays", + "description": "Duration of payment terms in days based on the payment terms template used to create the payment terms.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order associated with the payment terms.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "overdue", + "description": "Whether the payment terms have overdue payment schedules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentSchedules", + "description": "List of schedules for the payment terms.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentScheduleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsName", + "description": "The name of the payment terms template used to create the payment terms.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsType", + "description": "The payment terms template type used to create the payment terms.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PaymentTermsType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatedName", + "description": "The payment terms name, translated into the shop admin's preferred language.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsCreateInput", + "description": "The input fields used to create a payment terms.", + "fields": null, + "inputFields": [ + { + "name": "paymentSchedules", + "description": "Specifies the payment schedules for the payment terms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentScheduleInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsTemplateId", + "description": "Specifies the payment terms template ID used to generate payment terms.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsCreatePayload", + "description": "Return type for `paymentTermsCreate` mutation.", + "fields": [ + { + "name": "paymentTerms", + "description": "The created payment terms.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PaymentTerms", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentTermsCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsCreateUserError", + "description": "An error that occurs during the execution of `PaymentTermsCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PaymentTermsCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaymentTermsCreateUserErrorCode", + "description": "Possible error codes that can be returned by `PaymentTermsCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PAYMENT_TERMS_CREATION_UNSUCCESSFUL", + "description": "An error occurred while creating payment terms.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsDeleteInput", + "description": "The input fields used to delete the payment terms.", + "fields": null, + "inputFields": [ + { + "name": "paymentTermsId", + "description": "The ID of the payment terms being deleted.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsDeletePayload", + "description": "Return type for `paymentTermsDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The deleted payment terms ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentTermsDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsDeleteUserError", + "description": "An error that occurs during the execution of `PaymentTermsDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PaymentTermsDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaymentTermsDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `PaymentTermsDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PAYMENT_TERMS_DELETE_UNSUCCESSFUL", + "description": "An error occurred while deleting payment terms.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsInput", + "description": "The input fields to create payment terms. Payment terms set the date that payment is due.", + "fields": null, + "inputFields": [ + { + "name": "paymentSchedules", + "description": "Specifies the payment schedules for the payment terms.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentScheduleInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsTemplateId", + "description": "Specifies the ID of the payment terms template.\n Payment terms templates provide preset configurations to create common payment terms.\n Refer to the\n [PaymentTermsTemplate](https://shopify.dev/api/admin-graphql/latest/objects/paymenttermstemplate)\n object for more details.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsTemplate", + "description": "Represents the payment terms template object.", + "fields": [ + { + "name": "description", + "description": "The description of the payment terms template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dueInDays", + "description": "The number of days between the issued date and due date if this is the net type of payment terms.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the payment terms template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsType", + "description": "The type of the payment terms template.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PaymentTermsType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatedName", + "description": "The translated payment terms template name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaymentTermsType", + "description": "The type of a payment terms or a payment terms template.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIXED", + "description": "The payment terms or payment terms template is a fixed type. It's due on a specified date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT", + "description": "The payment terms or payment terms template is due on fulfillment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NET", + "description": "The payment terms or payment terms template is a net type. It's due a number of days after issue.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RECEIPT", + "description": "The payment terms or payment terms template is due on receipt.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "The type of the payment terms or payment terms template is unknown.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsUpdateInput", + "description": "The input fields used to update the payment terms.", + "fields": null, + "inputFields": [ + { + "name": "paymentTermsAttributes", + "description": "The attributes used to update the payment terms.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PaymentTermsInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsId", + "description": "The ID of the payment terms being updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsUpdatePayload", + "description": "Return type for `paymentTermsUpdate` mutation.", + "fields": [ + { + "name": "paymentTerms", + "description": "The updated payment terms.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PaymentTerms", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentTermsUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PaymentTermsUpdateUserError", + "description": "An error that occurs during the execution of `PaymentTermsUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PaymentTermsUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaymentTermsUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `PaymentTermsUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PAYMENT_TERMS_UPDATE_UNSUCCESSFUL", + "description": "An error occurred while updating payment terms.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PayoutSortKeys", + "description": "The set of valid sort keys for the Payout query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADJUSTMENT_GROSS", + "description": "Sort by the `adjustment_gross` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADVANCE_GROSS", + "description": "Sort by the `advance_gross` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AMOUNT", + "description": "Sort by the `amount` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGE_GROSS", + "description": "Sort by the `charge_gross` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUTIES_GROSS", + "description": "Sort by the `duties_gross` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FEE_AMOUNT", + "description": "Sort by the `fee_amount` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ISSUED_AT", + "description": "Sort by the `issued_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND_GROSS", + "description": "Sort by the `refund_gross` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LABEL_GROSS", + "description": "Sort by the `shipping_label_gross` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STATUS", + "description": "Sort by the `status` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PaypalExpressSubscriptionsGatewayStatus", + "description": "Represents a valid PayPal Express subscriptions gateway status.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISABLED", + "description": "The status is disabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENABLED", + "description": "The status is enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The status is pending.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PreparedFulfillmentOrderLineItemsInput", + "description": "The input fields used to include the line items of a specified fulfillment order that should be marked as prepared for pickup by a customer.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentOrderId", + "description": "The ID of the fulfillment order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceCalculationType", + "description": "How to caluclate the parent product variant's price while bulk updating variant relationships.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMPONENTS_SUM", + "description": "The price of the parent will be the sum of the components price times their quantity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIXED", + "description": "The price of the parent will be set to the price provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "The price of the parent will not be adjusted.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceInput", + "description": "The input fields for updating the price of a parent product variant.", + "fields": null, + "inputFields": [ + { + "name": "calculation", + "description": "The specific type of calculation done to determine the price of the parent variant.\nThe price is calculated during Bundle creation. Updating a component variant won't recalculate the price.", + "type": { + "kind": "ENUM", + "name": "PriceCalculationType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the parent product variant. This will be be used if calcualtion is set to 'FIXED'.", + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceList", + "description": "Represents a price list, including information about related prices and eligibility rules.\nYou can use price lists to specify either fixed prices or adjusted relative prices that\noverride initial product variant prices. Price lists are applied to customers\nusing context rules, which determine price list eligibility.\n\n For more information on price lists, refer to\n [Support different pricing models](https://shopify.dev/apps/internationalization/product-price-lists).", + "fields": [ + { + "name": "catalog", + "description": "The catalog that the price list is associated with.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "The currency for fixed prices associated with this price list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fixedPricesCount", + "description": "The number of fixed prices on the price list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The unique name of the price list, used as a human-readable identifier.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Relative adjustments to other prices.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceListParent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prices", + "description": "A list of prices associated with the price list.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originType", + "description": "The origin of this price, either fixed (defined on the price list)\n or relative (calculated using an adjustment via a price list parent configuration).", + "type": { + "kind": "ENUM", + "name": "PriceListPriceOriginType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| product_id | id |\n| variant_id | id |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPriceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityRules", + "description": "A list of quantity rules associated with the price list, ordered by product variants.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originType", + "description": "Whether the quantity rule is fixed (defined on the price list) or relative\n(the default quantity rule for the shop).", + "type": { + "kind": "ENUM", + "name": "QuantityRuleOriginType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRuleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListAdjustment", + "description": "The type and value of a price list adjustment.\n\nFor more information on price lists, refer to\n[Support different pricing models](https://shopify.dev/apps/internationalization/product-price-lists).", + "fields": [ + { + "name": "type", + "description": "The type of price adjustment, such as percentage increase or decrease.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceListAdjustmentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of price adjustment, where positive numbers reduce the prices and negative numbers\nincrease them.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListAdjustmentInput", + "description": "The input fields to set a price list adjustment.", + "fields": null, + "inputFields": [ + { + "name": "type", + "description": "The type of price adjustment, such as percentage increase or decrease.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceListAdjustmentType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the price adjustment as specified by the `type`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListAdjustmentSettings", + "description": "Represents the settings of price list adjustments.", + "fields": [ + { + "name": "compareAtMode", + "description": "The type of price list adjustment setting for compare at price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceListCompareAtMode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListAdjustmentSettingsInput", + "description": "The input fields to set a price list's adjustment settings.", + "fields": null, + "inputFields": [ + { + "name": "compareAtMode", + "description": "Determines how adjustments are applied to compare at prices.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceListCompareAtMode", + "ofType": null + } + }, + "defaultValue": "ADJUSTED", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceListAdjustmentType", + "description": "Represents a percentage price adjustment type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PERCENTAGE_DECREASE", + "description": "Percentage decrease type. Prices will have a lower value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERCENTAGE_INCREASE", + "description": "Percentage increase type. Prices will have a higher value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceListCompareAtMode", + "description": "Represents how the compare at price will be determined for a price list.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADJUSTED", + "description": "The compare at price is adjusted based on percentage specified in price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NULLIFY", + "description": "The compare at prices are set to `null` unless explicitly defined by a fixed price value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListConnection", + "description": "An auto-generated type for paginating through multiple PriceLists.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PriceListEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListCreateInput", + "description": "The input fields to create a price list.", + "fields": null, + "inputFields": [ + { + "name": "catalogId", + "description": "The ID of the catalog to associate with this price list.If the catalog was already associated with another price list then it will be unlinked.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "Three letter currency code for fixed prices associated with this price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The unique name of the price list, used as a human-readable identifier.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Relative adjustments to other prices.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListParentCreateInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListCreatePayload", + "description": "Return type for `priceListCreate` mutation.", + "fields": [ + { + "name": "priceList", + "description": "The newly created price list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListDeletePayload", + "description": "Return type for `priceListDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted price list.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListEdge", + "description": "An auto-generated type which holds one PriceList and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PriceListEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListFixedPricesAddPayload", + "description": "Return type for `priceListFixedPricesAdd` mutation.", + "fields": [ + { + "name": "prices", + "description": "The list of fixed prices that were added to or updated in the price list.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPrice", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPriceUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListFixedPricesByProductBulkUpdateUserError", + "description": "Error codes for failed price list fixed prices by product bulk update operations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PriceListFixedPricesByProductBulkUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceListFixedPricesByProductBulkUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `PriceListFixedPricesByProductBulkUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUPLICATE_ID_IN_INPUT", + "description": "Duplicate ID in input.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID_MUST_BE_MUTUALLY_EXCLUSIVE", + "description": "IDs must be mutually exclusive across add or delete operations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_UPDATE_OPERATIONS_SPECIFIED", + "description": "No update operations specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICES_TO_ADD_CURRENCY_MISMATCH", + "description": "The currency specified does not match the price list's currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIMIT_EXCEEDED", + "description": "Exceeded the 10000 prices to add limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_DOES_NOT_EXIST", + "description": "Price list does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListFixedPricesByProductUpdatePayload", + "description": "Return type for `priceListFixedPricesByProductUpdate` mutation.", + "fields": [ + { + "name": "priceList", + "description": "The price list for which the fixed prices were modified.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricesToAddProducts", + "description": "The product for which the fixed prices were added.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricesToDeleteProducts", + "description": "The product for which the fixed prices were deleted.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListFixedPricesByProductBulkUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListFixedPricesDeletePayload", + "description": "Return type for `priceListFixedPricesDelete` mutation.", + "fields": [ + { + "name": "deletedFixedPriceVariantIds", + "description": "A list of product variant IDs whose fixed prices were removed from the price list.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPriceUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListFixedPricesUpdatePayload", + "description": "Return type for `priceListFixedPricesUpdate` mutation.", + "fields": [ + { + "name": "deletedFixedPriceVariantIds", + "description": "A list of deleted variant IDs for prices.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "The price list for which the fixed prices were modified.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricesAdded", + "description": "The prices that were added to the price list.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPrice", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPriceUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListParent", + "description": "Represents relative adjustments from one price list to other prices.\n You can use a `PriceListParent` to specify an adjusted relative price using a percentage-based\n adjustment. Adjusted prices work in conjunction with exchange rules and rounding.\n\n [Adjustment types](https://shopify.dev/api/admin-graphql/latest/enums/pricelistadjustmenttype)\n support both percentage increases and decreases.", + "fields": [ + { + "name": "adjustment", + "description": "A price list adjustment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListAdjustment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "settings", + "description": "A price list's settings for adjustment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListAdjustmentSettings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListParentCreateInput", + "description": "The input fields to create a price list adjustment.", + "fields": null, + "inputFields": [ + { + "name": "adjustment", + "description": "The relative adjustments to other prices.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListAdjustmentInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "settings", + "description": "The price list adjustment settings.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PriceListAdjustmentSettingsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListParentUpdateInput", + "description": "The input fields used to update a price list's adjustment.", + "fields": null, + "inputFields": [ + { + "name": "adjustment", + "description": "The relative adjustments to other prices..", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListAdjustmentInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "settings", + "description": "The price list adjustment settings.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PriceListAdjustmentSettingsInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListPrice", + "description": "Represents information about pricing for a product variant\n as defined on a price list, such as the price, compare at price, and origin type. You can use a `PriceListPrice` to specify a fixed price for a specific product variant. For examples, refer to [PriceListFixedPricesAdd](https://shopify.dev/api/admin-graphql/latest/mutations/priceListFixedPricesAdd) and [PriceList](https://shopify.dev/api/admin-graphql/latest/queries/priceList#section-examples).", + "fields": [ + { + "name": "compareAtPrice", + "description": "The compare-at price of the product variant on this price list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originType", + "description": "The origin of a price, either fixed (defined on the price list) or relative (calculated using a price list adjustment configuration).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceListPriceOriginType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the product variant on this price list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityPriceBreaks", + "description": "A list of quantity breaks for the product variant.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "QuantityPriceBreakSortKeys", + "ofType": null + }, + "defaultValue": "MINIMUM_QUANTITY", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityPriceBreakConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant associated with this price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListPriceConnection", + "description": "An auto-generated type for paginating through multiple PriceListPrices.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPriceEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PriceListPriceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPrice", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListPriceEdge", + "description": "An auto-generated type which holds one PriceListPrice and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PriceListPriceEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListPrice", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListPriceInput", + "description": "The input fields for providing the fields and values to use when creating or updating a fixed price list price.", + "fields": null, + "inputFields": [ + { + "name": "compareAtPrice", + "description": "The compare-at price of the product variant on this price list.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the product variant on this price list.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The product variant ID associated with the price list price.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceListPriceOriginType", + "description": "Represents the origin of a price, either fixed (defined on the price list) or relative (calculated using a price list adjustment configuration). For examples, refer to [PriceList](https://shopify.dev/api/admin-graphql/latest/queries/priceList#section-examples).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIXED", + "description": "The price is defined on the price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELATIVE", + "description": "The price is relative to the adjustment type and value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListPriceUserError", + "description": "An error for a failed price list price operation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PriceListPriceUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceListPriceUserErrorCode", + "description": "Possible error codes that can be returned by `PriceListPriceUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_CURRENCY_MISMATCH", + "description": "The specified currency doesn't match the price list's currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_NOT_FOUND", + "description": "The price list doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_NOT_FIXED", + "description": "Only fixed prices can be deleted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_NOT_FOUND", + "description": "A fixed price for the specified product variant doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListProductPriceInput", + "description": "The input fields representing the price for all variants of a product.", + "fields": null, + "inputFields": [ + { + "name": "price", + "description": "The price of the product to use for all variants with its currency.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "Specifies the ID of the product to update its variants for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceListSortKeys", + "description": "The set of valid sort keys for the PriceList query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PriceListUpdateInput", + "description": "The input fields used to update a price list.", + "fields": null, + "inputFields": [ + { + "name": "catalogId", + "description": "The ID of the catalog to associate with this price list.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "The three-letter currency code for fixed prices associated with this price list.", + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The unique name of the price list, used as a human-readable identifier.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parent", + "description": "Relative adjustments to other prices.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PriceListParentUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListUpdatePayload", + "description": "Return type for `priceListUpdate` mutation.", + "fields": [ + { + "name": "priceList", + "description": "The updated price list.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceListUserError", + "description": "Error codes for failed contextual pricing operations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PriceListUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceListUserErrorCode", + "description": "Possible error codes that can be returned by `PriceListUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_CATALOG_PRICE_LIST_ASSIGNMENT", + "description": "An app catalog cannot be assigned to a price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_ASSIGNMENT_NOT_ALLOWED", + "description": "Cannot assign a catalog to a price list that also has context rules.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_CANNOT_CHANGE_CONTEXT_TYPE", + "description": "The context type of a catalog cannot be changed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_PRICE_BREAKS", + "description": "Quantity price breaks can be associated only with company location catalogs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_RULES", + "description": "Quantity rules can be associated only with company location catalogs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_DOES_NOT_EXIST", + "description": "The specified catalog does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_MARKET_AND_PRICE_LIST_CURRENCY_MISMATCH", + "description": "The price list currency must match the market catalog currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_TAKEN", + "description": "Catalog has a price list already assigned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_RULE_COUNTRIES_LIMIT", + "description": "A price list context rule cannot have more than one country.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_RULE_COUNTRY_TAKEN", + "description": "A price list for this country is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_RULE_LIMIT_ONE_OPTION", + "description": "Only one context rule option may be specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_RULE_LIMIT_REACHED", + "description": "Cannot save the price list with context rule because the limit of context rules per shop was reached.", + "isDeprecated": true, + "deprecationReason": "The limit is removed." + }, + { + "name": "CONTEXT_RULE_MARKET_NOT_FOUND", + "description": "The specified market wasn't found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONTEXT_RULE_MARKET_TAKEN", + "description": "A price list for this market is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COUNTRY_CURRENCY_MISMATCH", + "description": "A country in a context rule must use a valid currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COUNTRY_PRICE_LIST_ASSIGNMENT", + "description": "A country catalog cannot be assigned to a price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CURRENCY_COUNTRY_MISMATCH", + "description": "A price list’s currency must be of the pricing rule’s country.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CURRENCY_MARKET_MISMATCH", + "description": "A price list’s currency must be the market currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CURRENCY_NOT_SUPPORTED", + "description": "The price list currency is not supported by the shop's payment gateway.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "Something went wrong when trying to save the price list. Please try again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ADJUSTMENT_MAX_VALUE", + "description": "The adjustment value must not be greater than 1000% for `type` `PERCENTAGE_INCREASE`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ADJUSTMENT_MIN_VALUE", + "description": "The adjustment value must not be greater than 100% for `type` `PERCENTAGE_DECREASE`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ADJUSTMENT_VALUE", + "description": "The adjustment value must be a positive value and not be greater than 100% for `type` `PERCENTAGE_DECREASE` and not be greater than 1000% for `type` `PERCENTAGE_INCREASE`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_CURRENCY_MISMATCH", + "description": "The context rule's market does not use the price list currency.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_LOCKED", + "description": "The price list is currently being modified. Please try again later.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_NOT_ALLOWED_FOR_PRIMARY_MARKET", + "description": "Cannot create price list for a primary market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_NOT_FOUND", + "description": "The specified price list doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRule", + "description": "Price rules are a set of conditions, including entitlements and prerequisites, that must be met in order for a discount code to apply.\n\nWe recommend using the types and queries detailed at [Getting started with discounts](https://shopify.dev/docs/apps/selling-strategies/discounts/getting-started) instead. These will replace the GraphQL `PriceRule` object and REST Admin `PriceRule` and `DiscountCode` resources.", + "fields": [ + { + "name": "allocationLimit", + "description": "The maximum number of times that the price rule can be allocated onto an order.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allocationMethod", + "description": "The method by which the price rule's value is allocated to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceRuleAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "app", + "description": "The application that created the price rule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinesWith", + "description": "Determines which discount classes the discount can combine with.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCombinesWith", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the price rule was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSelection", + "description": "The customers that can use this price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleCustomerSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountClass", + "description": "The class of the discount for combining purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountClass", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodes", + "description": "List of the price rule's discount codes.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| times_used | integer |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountCodeSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleDiscountCodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodesCount", + "description": "How many discount codes associated with the price rule.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endsAt", + "description": "The date and time when the price rule ends. For open-ended price rules, use `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "entitlementToPrerequisiteQuantityRatio", + "description": "Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceRuleEntitlementToPrerequisiteQuantityRatio", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `prerequisiteToEntitlementQuantityRatio` instead." + }, + { + "name": "events", + "description": "The paginated list of events associated with the price rule.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "features", + "description": "A list of the price rule's features.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceRuleFeature", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasTimelineComment", + "description": "Indicates whether there are any timeline comments on the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemEntitlements", + "description": "The items to which the price rule applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleItemEntitlements", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "itemPrerequisites", + "description": "The items required for the price rule to be applicable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleLineItemPrerequisites", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "oncePerCustomer", + "description": "Whether the price rule can be applied only once per customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prerequisiteQuantityRange", + "description": "The number of the entitled items must fall within this range for the price rule to be applicable.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceRuleQuantityRange", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prerequisiteShippingPriceRange", + "description": "The shipping cost must fall within this range for the price rule to be applicable.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceRuleMoneyRange", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prerequisiteSubtotalRange", + "description": "The sum of the entitled items subtotal prices must fall within this range for the price rule to be applicable.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceRuleMoneyRange", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prerequisiteToEntitlementQuantityRatio", + "description": "Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PriceRulePrerequisiteToEntitlementQuantityRatio", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shareableUrls", + "description": "URLs that can be used to share the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleShareableUrl", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingEntitlements", + "description": "The shipping lines to which the price rule applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleShippingLineEntitlements", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startsAt", + "description": "The date and time when the price rule starts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceRuleStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A detailed summary of the price rule.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "The type of lines (line_item or shipping_line) to which the price rule applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceRuleTarget", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalSales", + "description": "The total sales from orders where the price rule was used.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "traits", + "description": "A list of the price rule's features.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceRuleTrait", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `features` instead." + }, + { + "name": "usageCount", + "description": "The number of times that the price rule has been used. This value is updated asynchronously and can be different than the actual usage count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageLimit", + "description": "The maximum number of times that the price rule can be used in total.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validityPeriod", + "description": "A time period during which a price rule is applicable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleValidityPeriod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PriceRuleValue", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `valueV2` instead." + }, + { + "name": "valueV2", + "description": "The value of the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "CommentEventSubject", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceRuleAllocationMethod", + "description": "The method by which the price rule's value is allocated to its entitled items.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACROSS", + "description": "The value will be applied once across the entitled items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EACH", + "description": "The value will be applied to each of the entitled items.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleCustomerSelection", + "description": "A selection of customers for whom the price rule applies.", + "fields": [ + { + "name": "customers", + "description": "List of customers to whom the price rule applies.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| email | string | The customer's email address, used to communicate information about orders and for the purposes of email marketing campaigns. You can use a wildcard value to filter the query by customers who have an email address specified. | | | - `email:bo.wang@example.com`
- `email:*` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| phone | string | The phone number of the customer, used to communicate information about orders and for the purposes of SMS marketing campaigns. You can use a wildcard value to filter the query by customers who have a phone number specified. | | | - `phone:+18005550100`
- `phone:*` |\n| updated_at | time | The date and time, matching a whole day, when the customer's information was last updated. | | | - `updated_at:2024-01-01T00:00:00Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CustomerSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forAllCustomers", + "description": "Whether the price rule applies to all customers.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segments", + "description": "A list of customer segments that contain the customers who can use the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleDiscountCode", + "description": "A discount code of a price rule.", + "fields": [ + { + "name": "app", + "description": "The application that created the discount code.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The code to apply the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageCount", + "description": "The number of times that the price rule has been used. This value is updated asynchronously and can be different than the actual usage count.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleDiscountCodeConnection", + "description": "An auto-generated type for paginating through multiple PriceRuleDiscountCodes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleDiscountCodeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PriceRuleDiscountCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleDiscountCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleDiscountCodeEdge", + "description": "An auto-generated type which holds one PriceRuleDiscountCode and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PriceRuleDiscountCodeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceRuleDiscountCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleEntitlementToPrerequisiteQuantityRatio", + "description": "Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items.", + "fields": [ + { + "name": "entitlementQuantity", + "description": "The quantity of entitled items in the ratio.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prerequisiteQuantity", + "description": "The quantity of prerequisite items in the ratio.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceRuleFeature", + "description": "The list of features that can be supported by a price rule.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BULK", + "description": "The price rule supports bulk discounts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUY_ONE_GET_ONE", + "description": "The price rule supports Buy X, Get Y (BXGY) discounts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUY_ONE_GET_ONE_WITH_ALLOCATION_LIMIT", + "description": "The price rule supports Buy X, Get Y (BXGY) discounts that specify a custom allocation limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_DISCOUNTS", + "description": "The price rule supports discounts that require a quantity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SPECIFIC_CUSTOMERS", + "description": "The price rule targets specific customers.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleFixedAmountValue", + "description": "The value of a fixed amount price rule.", + "fields": [ + { + "name": "amount", + "description": "The monetary value of the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleItemEntitlements", + "description": "The items to which this price rule applies. This may be multiple products, product variants, collections or combinations of the aforementioned.", + "fields": [ + { + "name": "collections", + "description": "The collections to which the price rule applies.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "The product variants to which the price rule applies.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "The products to which the price rule applies.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetAllLineItems", + "description": "Whether the price rule applies to all line items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleLineItemPrerequisites", + "description": "Single or multiple line item products, product variants or collections required for the price rule to be applicable, can also be provided in combination.", + "fields": [ + { + "name": "collections", + "description": "The collections required for the price rule to be applicable.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "The product variants required for the price rule to be applicable.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "The products required for the price rule to be applicable.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleMoneyRange", + "description": "A money range within which the price rule is applicable.", + "fields": [ + { + "name": "greaterThan", + "description": "The lower bound of the money range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "greaterThanOrEqualTo", + "description": "The lower bound or equal of the money range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lessThan", + "description": "The upper bound of the money range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lessThanOrEqualTo", + "description": "The upper bound or equal of the money range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRulePercentValue", + "description": "The value of a percent price rule.", + "fields": [ + { + "name": "percentage", + "description": "The percent value of the price rule.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRulePrerequisiteToEntitlementQuantityRatio", + "description": "Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items.", + "fields": [ + { + "name": "entitlementQuantity", + "description": "The quantity of entitled items in the ratio.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prerequisiteQuantity", + "description": "The quantity of prerequisite items in the ratio.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleQuantityRange", + "description": "A quantity range within which the price rule is applicable.", + "fields": [ + { + "name": "greaterThan", + "description": "The lower bound of the quantity range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "greaterThanOrEqualTo", + "description": "The lower bound or equal of the quantity range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lessThan", + "description": "The upper bound of the quantity range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lessThanOrEqualTo", + "description": "The upper bound or equal of the quantity range.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleShareableUrl", + "description": "Shareable URL for the discount code associated with the price rule.", + "fields": [ + { + "name": "targetItemImage", + "description": "The image URL of the item (product or collection) to which the discount applies.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "The type of page that's associated with the URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PriceRuleShareableUrlTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the page that's associated with the URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL for the discount code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceRuleShareableUrlTargetType", + "description": "The type of page where a shareable price rule URL lands.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLLECTION", + "description": "The URL lands on a collection page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HOME", + "description": "The URL lands on a home page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "The URL lands on a product page.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleShippingLineEntitlements", + "description": "The shipping lines to which the price rule applies to.", + "fields": [ + { + "name": "countryCodes", + "description": "The codes for the countries to which the price rule applies to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeRestOfWorld", + "description": "Whether the price rule is applicable to countries that haven't been defined in the shop's shipping zones.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetAllShippingLines", + "description": "Whether the price rule applies to all shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceRuleStatus", + "description": "The status of the price rule.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The price rule is active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The price rule is expired.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "The price rule is scheduled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceRuleTarget", + "description": "The type of lines (line_item or shipping_line) to which the price rule applies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LINE_ITEM", + "description": "The price rule applies to line items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LINE", + "description": "The price rule applies to shipping lines.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PriceRuleTrait", + "description": "The list of features that can be supported by a price rule.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BULK", + "description": "The price rule supports bulk discounts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUY_ONE_GET_ONE", + "description": "The price rule supports Buy X, Get Y (BXGY) discounts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUY_ONE_GET_ONE_WITH_ALLOCATION_LIMIT", + "description": "The price rule supports Buy X, Get Y (BXGY) discounts that specify a custom allocation limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_DISCOUNTS", + "description": "The price rule supports discounts that require a quantity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SPECIFIC_CUSTOMERS", + "description": "The price rule targets specific customers.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PriceRuleValidityPeriod", + "description": "A time period during which a price rule is applicable.", + "fields": [ + { + "name": "end", + "description": "The time after which the price rule becomes invalid.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "start", + "description": "The time after which the price rule is valid.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PriceRuleValue", + "description": "The type of the price rule value. The price rule value might be a percentage value, or a fixed amount.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "PriceRuleFixedAmountValue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PriceRulePercentValue", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PricingPercentageValue", + "description": "One type of value given to a customer when a discount is applied to an order.\nThe application of a discount with this value gives the customer the specified percentage off a specified item.", + "fields": [ + { + "name": "percentage", + "description": "The percentage value of the object. This is a number between -100 (free) and 0 (no discount).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PricingValue", + "description": "The type of value given to a customer when a discount is applied to an order. For example, the application of the discount might give the customer a percentage off a specified item. Alternatively, the application of the discount might give the customer a monetary value in a given currency off an order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PricingPercentageValue", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PrivateMetafield", + "description": "Private metafields represent custom metadata that is attached to a resource.\nPrivate metafields are accessible only by the application that created them and only from the GraphQL Admin API.\n\nAn application can create a maximum of 10 private metafields per shop resource.\n\nPrivate metafields are deprecated. Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the private metafield was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the private metafield.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The key name of the private metafield.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the private metafield.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the private metafield was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of a private metafield.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueType", + "description": "Represents the private metafield value type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PrivateMetafieldValueType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "description": "An auto-generated type for paginating through multiple PrivateMetafields.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PrivateMetafieldEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PrivateMetafieldDeleteInput", + "description": "The input fields for the private metafield to delete.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "owner", + "description": "The ID of the resource that owns the metafield. If the field is blank, then the `Shop` resource owns the metafield.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PrivateMetafieldDeletePayload", + "description": "Return type for `privateMetafieldDelete` mutation.", + "fields": [ + { + "name": "deletedPrivateMetafieldId", + "description": "The ID of private metafield that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PrivateMetafieldEdge", + "description": "An auto-generated type which holds one PrivateMetafield and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PrivateMetafieldEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PrivateMetafieldInput", + "description": "The input fields for a private metafield.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "The key of the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace of the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "owner", + "description": "The resource that owns the metafield. If the field is blank, then the `Shop` resource owns the metafield.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueInput", + "description": "The `value` and `valueType` of the private metafield, wrapped in a `ValueInput` object.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PrivateMetafieldValueInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PrivateMetafieldUpsertPayload", + "description": "Return type for `privateMetafieldUpsert` mutation.", + "fields": [ + { + "name": "privateMetafield", + "description": "The private metafield that was created or updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PrivateMetafieldValueInput", + "description": "The input fields for the value and value type of the private metafield.", + "fields": null, + "inputFields": [ + { + "name": "value", + "description": "The value of a private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "valueType", + "description": "Represents the private metafield value type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PrivateMetafieldValueType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PrivateMetafieldValueType", + "description": "Supported private metafield value types.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INTEGER", + "description": "An integer metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JSON_STRING", + "description": "A JSON string metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRING", + "description": "A string metafield.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Product", + "description": "The `Product` object lets you manage products in a merchant’s store.\n\nProducts are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color.\nYou can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product.\nYou can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media).\nProducts can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection).\n\nLearn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components),\nincluding limitations and considerations.", + "fields": [ + { + "name": "availablePublicationsCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bodyHtml", + "description": "The description of the product, with\nHTML tags. For example, the description might include\nbold `` and italic `` text.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `descriptionHtml` instead." + }, + { + "name": "bundleComponents", + "description": "A list of [components](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-product-fixed-bundle)\nthat are associated with a product in a bundle.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleComponentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "category", + "description": "The category of a product\nfrom [Shopify's Standard Product Taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TaxonomyCategory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collections", + "description": "A list of [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection)\nthat include the product.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| collection_type | string | | - `custom`
- `smart` |\n| handle | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| product_id | id | Filter by collections containing a product by its ID. |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the collection was published to the Online Store. |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| title | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CollectionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinedListing", + "description": "A special product type that combines separate products from a store into a single product listing.\n[Combined listings](https://shopify.dev/apps/build/product-merchandising/combined-listings) are connected\nby a shared option, such as color, model, or dimension.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CombinedListing", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinedListingRole", + "description": "The [role of the product](https://shopify.dev/docs/apps/build/product-merchandising/combined-listings/build-for-combined-listings)\nin a combined listing.\n\nIf `null`, then the product isn't part of any combined listing.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CombinedListingsRole", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compareAtPriceRange", + "description": "The [compare-at price range](https://help.shopify.com/manual/products/details/product-pricing/sale-pricing)\nof the product in the shop's default currency.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductCompareAtPriceRange", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contextualPricing", + "description": "The pricing that applies to a customer in a specific context. For example, a price might vary depending on the customer's location.", + "args": [ + { + "name": "context", + "description": "The context used to generate contextual pricing for the variant.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContextualPricingContext", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductContextualPricing", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the product was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customProductType", + "description": "The custom product type specified by the merchant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Deprecated in API version 2022-10. Use `productType` instead." + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A single-line description of the product,\nwith [HTML tags](https://developer.mozilla.org/en-US/docs/Web/HTML) removed.", + "args": [ + { + "name": "truncateAt", + "description": "Truncates a string after the given length.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "The description of the product, with\nHTML tags. For example, the description might include\nbold `` and italic `` text.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionPlainSummary", + "description": "Stripped description of the product, single line with HTML tags removed.\nTruncated to 60 characters.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `description` instead." + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "featuredImage", + "description": "The featured image for the product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `featuredMedia` instead." + }, + { + "name": "featuredMedia", + "description": "The featured [media](https://shopify.dev/docs/apps/build/online-store/product-media)\nassociated with the product.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "feedback", + "description": "The information that lets merchants know what steps they need to take\nto make sure that the app is set up correctly.\n\nFor example, if a merchant hasn't set up a product correctly in the app,\nthen the feedback might include a message that says \"You need to add a price\nto this product\".", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ResourceFeedback", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardTemplateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view the gift card in a store.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces.\nThe handle is used in the online store URL for the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasOnlyDefaultVariant", + "description": "Whether the product has only a single variant with the default option and value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasOutOfStockVariants", + "description": "Whether the product has variants that are out of stock.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasVariantsThatRequiresComponents", + "description": "Whether at least one of the product variants requires\n[bundle components](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-product-fixed-bundle).\n\nLearn more about\n[store eligibility for bundles](https://shopify.dev/docs/apps/build/product-merchandising/bundles#store-eligibility).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "images", + "description": "The images associated with the product.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductImageSortKeys", + "ofType": null + }, + "defaultValue": "POSITION", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `media` instead." + }, + { + "name": "inCollection", + "description": "Whether the product\nis in a specified\n[collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection).", + "args": [ + { + "name": "id", + "description": "The ID of the collection to check. For example, `id: \"gid://shopify/Collection/123\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isGiftCard", + "description": "Whether the product is a gift card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "media", + "description": "The [media](https://shopify.dev/docs/apps/build/online-store/product-media) associated with the product. Valid media are images, 3D models, videos.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| media_type | string | | - `IMAGE`
- `VIDEO`
- `MODEL_3D`
- `EXTERNAL_VIDEO` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductMediaSortKeys", + "ofType": null + }, + "defaultValue": "POSITION", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaCount", + "description": "The total count of [media](https://shopify.dev/docs/apps/build/online-store/product-media)\nthat's associated with a product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlineStorePreviewUrl", + "description": "The [preview URL](https://help.shopify.com/manual/online-store/setting-up#preview-your-store) for the online store.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlineStoreUrl", + "description": "The product's URL on the online store.\nIf `null`, then the product isn't published to the online store sales channel.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "A list of product options. The limit is defined by the\n[shop's resource limits for product options](https://shopify.dev/docs/api/admin-graphql/latest/objects/Shop#field-resourcelimits) (`Shop.resourceLimits.maxProductOptions`).", + "args": [ + { + "name": "first", + "description": "Truncate the array result to this size.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceRange", + "description": "The price range of the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPriceRange", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Deprecated in API version 2020-10. Use `priceRangeV2` instead." + }, + { + "name": "priceRangeV2", + "description": "The minimum and maximum prices of a product, expressed in decimal numbers.\nFor example, if the product is priced between $10.00 and $50.00,\nthen the price range is $10.00 - $50.00.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPriceRangeV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "productCategory", + "description": "The product category specified by the merchant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductCategory", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Deprecated in API version 2024-04. Use `category` instead." + }, + { + "name": "productPublications", + "description": "A list of the channels where the product is published.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPublicationConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `resourcePublications` instead." + }, + { + "name": "productType", + "description": "The [product type](https://help.shopify.com/manual/products/details/product-type)\nthat merchants define.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [ + { + "name": "onlyPublished", + "description": "Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `resourcePublicationsCount` instead." + }, + { + "name": "publications", + "description": "A list of the channels where the product is published.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Return only the publications that are published. If false, then return all publications.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPublicationConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `resourcePublications` instead." + }, + { + "name": "publishedAt", + "description": "The date and time when the product was published to the online store.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedInContext", + "description": "Whether the product is published for a customer only in a specified context. For example, a product might be published for a customer only in a specific location.", + "args": [ + { + "name": "context", + "description": "The context used to determine publication status.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContextualPublicationContext", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedOnChannel", + "description": "Whether the resource is published to a specific channel.", + "args": [ + { + "name": "channelId", + "description": "The ID of the channel to check.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publishedOnPublication` instead." + }, + { + "name": "publishedOnCurrentChannel", + "description": "Whether the resource is published to a\n[channel](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel).\nFor example, the resource might be published to the online store channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publishedOnCurrentPublication` instead." + }, + { + "name": "publishedOnCurrentPublication", + "description": "Whether the resource is published to the app's\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).\nFor example, the resource might be published to the app's online store channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedOnPublication", + "description": "Whether the resource is published to a specified\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "publicationId", + "description": "The ID of the publication to check. For example, `id: \"gid://shopify/Publication/123\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresSellingPlan", + "description": "Whether the product can only be purchased with\na [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans).\nProducts that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores.\nIf you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels, except the online store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublicationOnCurrentPublication", + "description": "The resource that's either published or staged to be published to\nthe [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ResourcePublicationV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublications", + "description": "The list of resources that are published to a\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled to be published.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublicationsCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [ + { + "name": "onlyPublished", + "description": "Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublicationsV2", + "description": "The list of resources that are either published or staged to be published to a\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogType", + "description": "Filter publications by catalog type.", + "type": { + "kind": "ENUM", + "name": "CatalogType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled or staged to be published.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationV2Connection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restrictedForResource", + "description": "Whether the merchant can make changes to the product when they\n[edit the order](https://shopify.dev/docs/apps/build/orders-fulfillment/order-management-apps/edit-orders)\nassociated with the product. For example, a merchant might be restricted from changing product details when they\nedit an order.", + "args": [ + { + "name": "calculatedOrderId", + "description": "The resource Id of the order with edits applied but not saved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RestrictedForResource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupCount", + "description": "A count of [selling plan groups](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan)\nthat are associated with the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `sellingPlanGroupsCount` instead." + }, + { + "name": "sellingPlanGroups", + "description": "A list of all [selling plan groups](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan)\nthat are associated with the product either directly, or through the product's variants.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupsCount", + "description": "A count of [selling plan groups](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan)\nthat are associated with the product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": "The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords)\nthat are associated with a product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SEO", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standardizedProductType", + "description": "The standardized product type in the Shopify product taxonomy.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StandardizedProductType", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Deprecated in API version 2022-10. Use `productCategory` instead." + }, + { + "name": "status", + "description": "The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status),\nwhich controls visibility across all sales channels.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefrontId", + "description": "The Storefront GraphQL API ID of the `Product`.\n\nAs of the `2022-04` version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the `id` field's value instead.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "StorefrontID", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `id` instead." + }, + { + "name": "tags", + "description": "A comma-separated list of searchable keywords that are\nassociated with the product. For example, a merchant might apply the `sports`\nand `summer` tags to products that are associated with sportwear for summer.\n\nUpdating `tags` overwrites\nany existing tags that were previously added to the product. To add new tags without overwriting\nexisting tags, use the [`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)\nmutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view the product in a store.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name for the product that displays to customers. The title is used to construct the product's handle.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalInventory", + "description": "The quantity of inventory that's in stock.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalVariants", + "description": "The number of [variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant)\nthat are associated with the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `variantsCount` instead." + }, + { + "name": "tracksInventory", + "description": "Whether [inventory tracking](https://help.shopify.com/manual/products/inventory/getting-started-with-inventory/set-up-inventory-tracking)\nhas been enabled for the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unpublishedChannels", + "description": "The list of channels that the resource is not published to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChannelConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `unpublishedPublications` instead." + }, + { + "name": "unpublishedPublications", + "description": "The list of [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat the resource isn't published to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the product was last modified.\nA product's `updatedAt` value can change for different reasons. For example, if an order\nis placed for a product that has inventory tracking set up, then the inventory adjustment\nis counted as an update.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variants", + "description": "A list of [variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant) associated with the product.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductVariantSortKeys", + "ofType": null + }, + "defaultValue": "POSITION", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantsCount", + "description": "The number of [variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant)\nthat are associated with the product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the product's vendor.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "OnlineStorePreviewable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleComponent", + "description": "The product's component information.", + "fields": [ + { + "name": "componentProduct", + "description": "The product that's related as a component.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentVariants", + "description": "The list of products' variants that are components.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "componentVariantsCount", + "description": "The number of component variants for the product component.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionSelections", + "description": "The options in the parent and the component options they're connected to, along with the chosen option values\nthat appear in the bundle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleComponentOptionSelection", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the component product set for this bundle line.\nIt will be null if there's a quantityOption present.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityOption", + "description": "The quantity as option of the component product. It will be null if there's a quantity set.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductBundleComponentQuantityOption", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleComponentConnection", + "description": "An auto-generated type for paginating through multiple ProductBundleComponents.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleComponentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ProductBundleComponentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleComponent", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleComponentEdge", + "description": "An auto-generated type which holds one ProductBundleComponent and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ProductBundleComponentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleComponent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentInput", + "description": "The input fields for a single component related to a componentized product.", + "fields": null, + "inputFields": [ + { + "name": "optionSelections", + "description": "The options to use in the component product, and the values for the option.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentOptionSelectionInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the component product to add to the bundle product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the component product to add to the bundle product.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityOption", + "description": "New option to be created on the bundle parent that enables the buyer to select different quantities for\nthis component (e.g. two-pack, three-pack). Can only be used if quantity isn't set.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentQuantityOptionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleComponentOptionSelection", + "description": "A relationship between a component option and a parent option.", + "fields": [ + { + "name": "componentOption", + "description": "The option that existed on the component product prior to the fixed bundle creation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOption", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentOption", + "description": "The option that was created on the parent product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductOption", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "The component option values that are actively selected for this relationship.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleComponentOptionSelectionValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentOptionSelectionInput", + "description": "The input fields for a single option related to a component product.", + "fields": null, + "inputFields": [ + { + "name": "componentOptionId", + "description": "The ID of the option present on the component product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name to create for this option on the parent product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "Array of selected option values.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductBundleComponentOptionSelectionStatus", + "description": "The status of a component option value related to a bundle.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DESELECTED", + "description": "The component option value is not selected as sellable in the bundle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEW", + "description": "The component option value was not initially selected, but is now available for the bundle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELECTED", + "description": "The component option value is selected as sellable in the bundle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNAVAILABLE", + "description": "The component option value was selected, is no longer available for the bundle.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleComponentOptionSelectionValue", + "description": "A component option value related to a bundle line.", + "fields": [ + { + "name": "selectionStatus", + "description": "Selection status of the option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductBundleComponentOptionSelectionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleComponentQuantityOption", + "description": "A quantity option related to a bundle.", + "fields": [ + { + "name": "name", + "description": "The name of the option value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentOption", + "description": "The option that was created on the parent product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductOption", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "The quantity values of the option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleComponentQuantityOptionValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentQuantityOptionInput", + "description": "Input for the quantity option related to a component product. This will become a new option on the parent bundle product that doesn't have a corresponding option on the component.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "The option name to create on the parent product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "Array of option values.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentQuantityOptionValueInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleComponentQuantityOptionValue", + "description": "A quantity option value related to a componentized product.", + "fields": [ + { + "name": "name", + "description": "The name of the option value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the option value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentQuantityOptionValueInput", + "description": "The input fields for a single quantity option value related to a component product.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "The name associated with the option, e.g. one-pack, two-pack.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "How many of the variant will be included for the option value (e.g. two-pack has quantity 2).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductBundleCreateInput", + "description": "The input fields for creating a componentized product.", + "fields": null, + "inputFields": [ + { + "name": "components", + "description": "The component products to bundle with the bundle product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product to create.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleCreatePayload", + "description": "Return type for `productBundleCreate` mutation.", + "fields": [ + { + "name": "productBundleOperation", + "description": "The asynchronous ProductBundleOperation creating the componentized product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductBundleOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleMutationUserError", + "description": "Defines errors encountered while managing a product bundle.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductBundleMutationUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductBundleMutationUserErrorCode", + "description": "Possible error codes that can be returned by `ProductBundleMutationUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GENERIC_ERROR", + "description": "Something went wrong, please try again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT", + "description": "Input is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JOB_ERROR", + "description": "Error processing request in the background job.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleOperation", + "description": "An entity that represents details of an asynchronous\n[ProductBundleCreate](https://shopify.dev/api/admin-graphql/current/mutations/productBundleCreate) or\n[ProductBundleUpdate](https://shopify.dev/api/admin-graphql/current/mutations/productBundleUpdate) mutation.\n\nBy querying this entity with the\n[productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query\nusing the ID that was returned when the bundle was created or updated, this can be used to check the status of an operation.\n\nThe `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`.\n\nThe `product` field provides the details of the created or updated product.\n\nThe `userErrors` field provides mutation errors that occurred during the operation.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product on which the operation is being performed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "Returns mutation errors occurred during background mutation processing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductBundleMutationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ProductOperation", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductBundleUpdateInput", + "description": "The input fields for updating a componentized product.", + "fields": null, + "inputFields": [ + { + "name": "components", + "description": "The components to update existing ones. If none provided, no changes occur. Note: This replaces, not adds to, current components.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductBundleComponentInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the componentized product to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title to rename the componentized product to, if provided.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductBundleUpdatePayload", + "description": "Return type for `productBundleUpdate` mutation.", + "fields": [ + { + "name": "productBundleOperation", + "description": "The asynchronous ProductBundleOperation updating the componentized product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductBundleOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductCategory", + "description": "The details of a specific product category within the [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17).", + "fields": [ + { + "name": "productTaxonomyNode", + "description": "The product taxonomy node associated with the product category.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductTaxonomyNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductChangeStatusPayload", + "description": "Return type for `productChangeStatus` mutation.", + "fields": [ + { + "name": "product", + "description": "The product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductChangeStatusUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductChangeStatusUserError", + "description": "An error that occurs during the execution of `ProductChangeStatus`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductChangeStatusUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductChangeStatusUserErrorCode", + "description": "Possible error codes that can be returned by `ProductChangeStatusUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COMBINED_LISTINGS_NOT_COMPATIBLE_WITH_SHOP", + "description": "Cannot be unarchived because combined listings are not compatible with this store.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_NOT_FOUND", + "description": "Product could not be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductClaimOwnershipInput", + "description": "The input fields to claim ownership for Product features such as Bundles.", + "fields": null, + "inputFields": [ + { + "name": "bundles", + "description": "Claiming ownership of bundles lets the app render a custom UI for the bundles' card on the\nproducts details page in the Shopify admin.\n\nBundle ownership can only be claimed when creating the product. If you create `ProductVariantComponents`\nin any of its product variants, then the bundle ownership is automatically assigned to the app making the call.\n\n[Learn more](https://shopify.dev/docs/apps/selling-strategies/bundles/product-config).", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductCollectionSortKeys", + "description": "The set of valid sort keys for the ProductCollection query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BEST_SELLING", + "description": "Sort by the `best-selling` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_DEFAULT", + "description": "Sort by the `collection-default` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED", + "description": "Sort by the `created` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "Sort by the `manual` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE", + "description": "Sort by the `price` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductCompareAtPriceRange", + "description": "The compare-at price range of the product.", + "fields": [ + { + "name": "maxVariantCompareAtPrice", + "description": "The highest variant's compare-at price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minVariantCompareAtPrice", + "description": "The lowest variant's compare-at price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductConnection", + "description": "An auto-generated type for paginating through multiple Products.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ProductEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductContextualPricing", + "description": "The price of a product in a specific country.\nPrices vary between countries.\nRefer to [Product](https://shopify.dev/docs/api/admin-graphql/latest/queries/product?example=Get+the+price+range+for+a+product+for+buyers+from+Canada)\nfor more information on how to use this object.", + "fields": [ + { + "name": "fixedQuantityRulesCount", + "description": "The number of fixed quantity rules for the product's variants on the price list.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxVariantPricing", + "description": "The pricing of the variant with the highest price in the given context.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariantContextualPricing", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minVariantPricing", + "description": "The pricing of the variant with the lowest price in the given context.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariantContextualPricing", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceRange", + "description": "The minimum and maximum prices of a product, expressed in decimal numbers.\nFor example, if the product is priced between $10.00 and $50.00,\nthen the price range is $10.00 - $50.00.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPriceRangeV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductCreateInput", + "description": "The input fields required to create a product.", + "fields": null, + "inputFields": [ + { + "name": "category", + "description": "The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17)\nthat's associated with the product.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "claimOwnership", + "description": "The input field to enable an app to provide additional product features.\nFor example, you can specify\n[`bundles: true`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductClaimOwnershipInput#field-bundles)\nin the `claimOwnership` field to let an app add a\n[product configuration extension](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-merchant-config-ui).", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProductClaimOwnershipInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionsToJoin", + "description": "A list of collection IDs to associate with the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinedListingRole", + "description": "The role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings).", + "type": { + "kind": "ENUM", + "name": "CombinedListingsRole", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "The description of the product, with HTML tags.\nFor example, the description might include bold `` and italic `` text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "Whether the product is a gift card.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardTemplateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces.\nThe handle is used in the online store URL for the product.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The [custom fields](https://shopify.dev/docs/apps/build/custom-data) to associate with the product\nfor the purposes of adding and storing additional information.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOptions", + "description": "A list of product options and option values. Maximum product options: three. There's no limit on the number of option values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionCreateInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productType", + "description": "The [product type](https://help.shopify.com/manual/products/details/product-type)\nthat merchants define.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresSellingPlan", + "description": "Whether the product can only be purchased with\na [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans).\nProducts that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores.\nIf you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels except the online store.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": "The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords)\nthat are associated with a product.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SEOInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status),\nwhich controls visibility across all sales channels.", + "type": { + "kind": "ENUM", + "name": "ProductStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma-separated list of searchable keywords that are\nassociated with the product. For example, a merchant might apply the `sports`\nand `summer` tags to products that are associated with sportwear for summer.\n\nUpdating `tags` overwrites any existing tags that were previously added to the product.\nTo add new tags without overwriting existing tags, use the\n[`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)\nmutation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name for the product that displays to customers. The title is used to construct the product's handle.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the product's vendor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductCreateMediaPayload", + "description": "Return type for `productCreateMedia` mutation.", + "fields": [ + { + "name": "media", + "description": "The newly created media.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product associated with the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `mediaUserErrors` instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductCreatePayload", + "description": "Return type for `productCreate` mutation.", + "fields": [ + { + "name": "product", + "description": "The product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The shop associated with the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductDeleteInput", + "description": "The input fields for specifying the product to delete.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductDeleteMediaPayload", + "description": "Return type for `productDeleteMedia` mutation.", + "fields": [ + { + "name": "deletedMediaIds", + "description": "List of media IDs which were deleted.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletedProductImageIds", + "description": "List of product image IDs which were deleted.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product associated with the deleted media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `mediaUserErrors` instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductDeleteOperation", + "description": "An entity that represents details of an asynchronous\n[ProductDelete](https://shopify.dev/api/admin-graphql/current/mutations/productDelete) mutation.\n\nBy querying this entity with the\n[productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query\nusing the ID that was returned when the product was deleted, this can be used to check the status of an operation.\n\nThe `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`.\n\nThe `deletedProductId` field provides the ID of the deleted product.\n\nThe `userErrors` field provides mutation errors that occurred during the operation.", + "fields": [ + { + "name": "deletedProductId", + "description": "The ID of the deleted product.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product on which the operation is being performed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "Returns mutation errors occurred during background mutation processing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ProductOperation", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductDeletePayload", + "description": "Return type for `productDelete` mutation.", + "fields": [ + { + "name": "deletedProductId", + "description": "The ID of the deleted product.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDeleteOperation", + "description": "The product delete operation, returned when run in asynchronous mode.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductDeleteOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The shop associated with the product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductDuplicateJob", + "description": "Represents a product duplication job.", + "fields": [ + { + "name": "done", + "description": "This indicates if the job is still queued or has been run.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID that's returned when running an asynchronous mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductDuplicateOperation", + "description": "An entity that represents details of an asynchronous\n[ProductDuplicate](https://shopify.dev/api/admin-graphql/current/mutations/productDuplicate) mutation.\n\nBy querying this entity with the\n[productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query\nusing the ID that was returned\n[when the product was duplicated](https://shopify.dev/api/admin/migrate/new-product-model/sync-data#create-a-product-with-variants-and-options-asynchronously),\nthis can be used to check the status of an operation.\n\nThe `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`.\n\nThe `product` field provides the details of the original product.\n\nThe `newProduct` field provides the details of the new duplicate of the product.\n\nThe `userErrors` field provides mutation errors that occurred during the operation.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newProduct", + "description": "The newly created duplicate of the original product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product on which the operation is being performed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "Returns mutation errors occurred during background mutation processing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ProductOperation", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductDuplicatePayload", + "description": "Return type for `productDuplicate` mutation.", + "fields": [ + { + "name": "imageJob", + "description": "The asynchronous job that duplicates the product images.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "newProduct", + "description": "The duplicated product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDuplicateOperation", + "description": "The product duplicate operation, returned when run in asynchronous mode.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductDuplicateOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductEdge", + "description": "An auto-generated type which holds one Product and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ProductEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFeed", + "description": "A product feed.", + "fields": [ + { + "name": "country", + "description": "The country of the product feed.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "language", + "description": "The language of the product feed.", + "args": [], + "type": { + "kind": "ENUM", + "name": "LanguageCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the product feed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductFeedStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedConnection", + "description": "An auto-generated type for paginating through multiple ProductFeeds.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductFeedEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ProductFeedEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductFeed", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedCreatePayload", + "description": "Return type for `productFeedCreate` mutation.", + "fields": [ + { + "name": "productFeed", + "description": "The newly created product feed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductFeed", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductFeedCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedCreateUserError", + "description": "An error that occurs during the execution of `ProductFeedCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductFeedCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductFeedCreateUserErrorCode", + "description": "Possible error codes that can be returned by `ProductFeedCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedDeletePayload", + "description": "Return type for `productFeedDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the product feed that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductFeedDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedDeleteUserError", + "description": "An error that occurs during the execution of `ProductFeedDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductFeedDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductFeedDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `ProductFeedDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFeedEdge", + "description": "An auto-generated type which holds one ProductFeed and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ProductFeedEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductFeed", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductFeedInput", + "description": "The input fields required to create a product feed.", + "fields": null, + "inputFields": [ + { + "name": "country", + "description": "The country of the product feed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "language", + "description": "The language of the product feed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LanguageCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductFeedStatus", + "description": "The valid values for the status of product feed.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The product feed is active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INACTIVE", + "description": "The product feed is inactive.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFullSyncPayload", + "description": "Return type for `productFullSync` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductFullSyncUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductFullSyncUserError", + "description": "An error that occurs during the execution of `ProductFullSync`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductFullSyncUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductFullSyncUserErrorCode", + "description": "Possible error codes that can be returned by `ProductFullSyncUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductImageSortKeys", + "description": "The set of valid sort keys for the ProductImage query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSITION", + "description": "Sort by the `position` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductInput", + "description": "The input fields for creating or updating a product.", + "fields": null, + "inputFields": [ + { + "name": "category", + "description": "The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17)\nthat's associated with the product.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "claimOwnership", + "description": "The input field to enable an app to provide additional product features.\nFor example, you can specify\n[`bundles: true`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductClaimOwnershipInput#field-bundles)\nin the `claimOwnership` field to let an app add a\n[product configuration extension](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-merchant-config-ui).", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProductClaimOwnershipInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionsToJoin", + "description": "A list of collection IDs to associate with the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionsToLeave", + "description": "The collection IDs to disassociate from the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinedListingRole", + "description": "The role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings).\nYou can specify this field only when you create a product.", + "type": { + "kind": "ENUM", + "name": "CombinedListingsRole", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "The description of the product, with HTML tags.\nFor example, the description might include bold `` and italic `` text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "Whether the product is a gift card.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardTemplateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces.\nThe handle is used in the online store URL for the product.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The product's ID.\n\nIf you're creating a product, then you don't need to pass the `id` as input to the\n[`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate) mutation.\nIf you're updating a product, then you do need to pass the `id` as input to the\n[`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate) mutation\nto identify which product you want to update.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The [custom fields](https://shopify.dev/docs/apps/build/custom-data) to associate with the product\nfor the purposes of adding and storing additional information.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOptions", + "description": "A list of product options and option values. Maximum product options: three. There's no limit on the number of option values.\nThis input is supported only with the [`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate)\nmutation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionCreateInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productType", + "description": "The [product type](https://help.shopify.com/manual/products/details/product-type)\nthat merchants define.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Whether a redirect is required after a new handle has been provided.\nIf `true`, then the old handle is redirected to the new one automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresSellingPlan", + "description": "Whether the product can only be purchased with\na [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans).\nProducts that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores.\nIf you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels except the online store.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": "The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords)\nthat are associated with a product.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SEOInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status),\nwhich controls visibility across all sales channels.", + "type": { + "kind": "ENUM", + "name": "ProductStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma-separated list of searchable keywords that are\nassociated with the product. For example, a merchant might apply the `sports`\nand `summer` tags to products that are associated with sportwear for summer.\n\nUpdating `tags` overwrites any existing tags that were previously added to the product.\nTo add new tags without overwriting existing tags, use the\n[`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)\nmutation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name for the product that displays to customers. The title is used to construct the product's handle.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the product's vendor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductJoinSellingPlanGroupsPayload", + "description": "Return type for `productJoinSellingPlanGroups` mutation.", + "fields": [ + { + "name": "product", + "description": "The product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductLeaveSellingPlanGroupsPayload", + "description": "Return type for `productLeaveSellingPlanGroups` mutation.", + "fields": [ + { + "name": "product", + "description": "The product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductMediaSortKeys", + "description": "The set of valid sort keys for the ProductMedia query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSITION", + "description": "Sort by the `position` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ProductOperation", + "description": "An entity that represents details of an asynchronous operation on a product.", + "fields": [ + { + "name": "product", + "description": "The product on which the operation is being performed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ProductBundleOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductDeleteOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductDuplicateOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductSetOperation", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "ProductOperationStatus", + "description": "Represents the state of this product operation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "Operation is currently running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLETE", + "description": "Operation is complete.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED", + "description": "Operation has been created.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOption", + "description": "The product property names. For example, \"Size\", \"Color\", and \"Material\".\nVariants are selected based on permutations of these options.\nThe limit for each product property name is 255 characters.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedMetafield", + "description": "The metafield identifier linked to this option.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "LinkedMetafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The product option’s name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionValues", + "description": "Similar to values, option_values returns all the corresponding option value objects to the product option, including values not assigned to any variants.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOptionValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The product option's position.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "The corresponding value to the product option name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductOptionCreateVariantStrategy", + "description": "The set of variant strategies available for use in the `productOptionsCreate` mutation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATE", + "description": "Existing variants are updated with the first option value of each added option. New variants are\ncreated for each combination of existing variant option values and new option values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEAVE_AS_IS", + "description": "No additional variants are created in response to the added options. Existing variants are updated with the\nfirst option value of each option added.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductOptionDeleteStrategy", + "description": "The set of strategies available for use on the `productOptionDelete` mutation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "The default strategy, the specified `Option` may only have one corresponding `value`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_DESTRUCTIVE", + "description": "An `Option` with multiple `values` can be deleted, but the operation only succeeds if no product variants get deleted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSITION", + "description": "An `Option` with multiple `values` can be deleted. Remaining variants will be deleted, highest `position` first, in the event of duplicates being detected.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionUpdatePayload", + "description": "Return type for `productOptionUpdate` mutation.", + "fields": [ + { + "name": "product", + "description": "The product with which the option being updated is associated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOptionUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionUpdateUserError", + "description": "Error codes for failed `ProductOptionUpdate` mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductOptionUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductOptionUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `ProductOptionUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_COMBINE_LINKED_AND_NONLINKED_OPTION_VALUES", + "description": "An option cannot have both metafield linked and nonlinked option values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_CREATE_VARIANTS_ABOVE_LIMIT", + "description": "The number of variants will be above the limit after this operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_ALL_OPTION_VALUES_IN_OPTION", + "description": "Deleting all option values of an option is not allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_VARIANT_WITHOUT_PERMISSION", + "description": "Cannot update the option because it would result in deleting variants, and you don't have the required permissions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_LEAVE_OPTIONS_WITHOUT_VARIANTS", + "description": "An option cannot be left only with option values that are not linked to any variant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU", + "description": "At least one of the product variants has invalid SKUs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_OPTION_VALUE", + "description": "Duplicated option value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_LINKED_OPTION", + "description": "Cannot link multiple options to the same metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION", + "description": "Invalid metafield value for linked option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_NAME", + "description": "The name provided is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_POSITION", + "description": "The option position provided is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KEY_MISSING_IN_INPUT", + "description": "A key is missing in the input.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_METAFIELD_DEFINITION_NOT_FOUND", + "description": "No valid metafield definition found for linked option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP", + "description": "Linked options are currently not supported for this shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_OPTION_UPDATE_MISSING_VALUES", + "description": "Updating the linked_metafield of an option requires a linked_metafield_value for each option value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_KEY_ON_CREATE", + "description": "On create, this key cannot be used.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_ALREADY_EXISTS", + "description": "Option already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_DOES_NOT_EXIST", + "description": "Option does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_LINKED_METAFIELD_ALREADY_TAKEN", + "description": "An option linked to the provided metafield already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_NAME_TOO_LONG", + "description": "Option name is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_OVER_LIMIT", + "description": "Option values count is over the allowed limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_ALREADY_EXISTS", + "description": "Option value already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_CONFLICTING_OPERATION", + "description": "Performing conflicting actions on an option value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_DOES_NOT_EXIST", + "description": "Option value does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_HAS_VARIANTS", + "description": "Option value with variants linked cannot be deleted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_NAME_TOO_LONG", + "description": "Option value name is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_SUSPENDED", + "description": "Product is suspended.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_VARIANTS_CREATED", + "description": "The number of option values created with the MANAGE strategy would exceed the variant limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION", + "description": "Operation is not supported for a combined listing parent product.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductOptionUpdateVariantStrategy", + "description": "The set of variant strategies available for use in the `productOptionUpdate` mutation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "LEAVE_AS_IS", + "description": "Variants are not created nor deleted in response to option values to add or delete.\nIn cases where deleting a variant would be necessary to complete the operation, an error will be returned.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANAGE", + "description": "Variants are created and deleted according to the option values to add and to delete.\n\nIf an option value is added, a new variant will be added for each existing option combination\navailable on the product. For example, if the existing options are `Size` and `Color`, with\nvalues `S`/`XL` and `Red`/`Blue`, adding a new option value `Green` for the option `Color` will create\nvariants with the option value combinations `S`/`Green` and `XL`/`Green`.\n\nIf an option value is deleted, all variants referencing that option value will be deleted.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionValue", + "description": "The product option value names. For example, \"Red\", \"Blue\", and \"Green\" for a \"Color\" option.", + "fields": [ + { + "name": "hasVariants", + "description": "Whether the product option value has any linked variants.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedMetafieldValue", + "description": "The value of the linked metafield.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product option value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "swatch", + "description": "The swatch associated with the product option value.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductOptionValueSwatch", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionValueSwatch", + "description": "A swatch associated with a product option value.", + "fields": [ + { + "name": "color", + "description": "The color representation of the swatch.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Color", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "An image representation of the swatch.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsCreatePayload", + "description": "Return type for `productOptionsCreate` mutation.", + "fields": [ + { + "name": "product", + "description": "The updated product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOptionsCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsCreateUserError", + "description": "Error codes for failed `ProductOptionsCreate` mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductOptionsCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductOptionsCreateUserErrorCode", + "description": "Possible error codes that can be returned by `ProductOptionsCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_COMBINE_LINKED_METAFIELD_AND_OPTION_VALUES", + "description": "Cannot combine linked metafield and option values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU", + "description": "At least one of the product variants has invalid SKUs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_OPTION_NAME", + "description": "Duplicated option name.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_OPTION_VALUE", + "description": "Duplicated option value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_LINKED_OPTION", + "description": "Cannot link multiple options to the same metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION", + "description": "Invalid metafield value for linked option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_NAME", + "description": "The name provided is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_METAFIELD_DEFINITION_NOT_FOUND", + "description": "No valid metafield definition found for linked option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_METAFIELD_VALUE_WITHOUT_LINKED_OPTION", + "description": "Cannot specify 'linkedMetafieldValue' for an option that is not linked to a metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP", + "description": "Linked options are currently not supported for this shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_METAFIELD_VALUES_FOR_LINKED_OPTION", + "description": "Missing metafield values for linked option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEW_OPTION_WITHOUT_VALUE_FOR_EXISTING_VARIANTS", + "description": "Cannot create new options without values for all existing variants.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTIONS_OVER_LIMIT", + "description": "Options count is over the allowed limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_ALREADY_EXISTS", + "description": "Option already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_LINKED_METAFIELD_ALREADY_TAKEN", + "description": "An option linked to the provided metafield already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_NAME_MISSING", + "description": "Each option must have a name specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_POSITION_MISSING", + "description": "If specified, position field must be present in all option inputs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_MISSING", + "description": "Each option must have at least one option value specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_OVER_LIMIT", + "description": "Option values count is over the allowed limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSITION_OUT_OF_BOUNDS", + "description": "Position must be between 1 and the maximum number of options per product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_SUSPENDED", + "description": "Product is suspended.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_VARIANTS_CREATED", + "description": "The number of option values created with the CREATE strategy would exceed the variant limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION", + "description": "Operation is not supported for a combined listing parent product.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsDeletePayload", + "description": "Return type for `productOptionsDelete` mutation.", + "fields": [ + { + "name": "deletedOptionsIds", + "description": "IDs of the options deleted.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The updated product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOptionsDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsDeleteUserError", + "description": "Error codes for failed `ProductOptionsDelete` mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductOptionsDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductOptionsDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `ProductOptionsDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_DELETE_OPTION_WITH_MULTIPLE_VALUES", + "description": "Can't delete option with multiple values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU", + "description": "At least one of the product variants has invalid SKUs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_USE_NON_DESTRUCTIVE_STRATEGY", + "description": "Cannot delete options without deleting variants.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTIONS_DO_NOT_BELONG_TO_THE_SAME_PRODUCT", + "description": "Options do not belong to the same product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_DOES_NOT_EXIST", + "description": "Option does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_SUSPENDED", + "description": "Product is suspended.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION", + "description": "Operation is not supported for a combined listing parent product.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsReorderPayload", + "description": "Return type for `productOptionsReorder` mutation.", + "fields": [ + { + "name": "product", + "description": "The updated product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOptionsReorderUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductOptionsReorderUserError", + "description": "Error codes for failed `ProductOptionsReorder` mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductOptionsReorderUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductOptionsReorderUserErrorCode", + "description": "Possible error codes that can be returned by `ProductOptionsReorderUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU", + "description": "At least one of the product variants has invalid SKUs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_OPTION_NAME", + "description": "Duplicated option name.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_OPTION_VALUE", + "description": "Duplicated option value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_OPTION_NAME", + "description": "Missing option name.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_OPTION_VALUE", + "description": "Missing option value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MIXING_ID_AND_NAME_KEYS_IS_NOT_ALLOWED", + "description": "Cannot specify different options or option values using mixed id and name reference key.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_KEY_ON_REORDER", + "description": "On reorder, this key cannot be used.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_ID_DOES_NOT_EXIST", + "description": "Option id does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_NAME_DOES_NOT_EXIST", + "description": "Option name does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_DOES_NOT_EXIST", + "description": "Option value does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_ID_DOES_NOT_EXIST", + "description": "Option value id does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductPriceRange", + "description": "The price range of the product.", + "fields": [ + { + "name": "maxVariantPrice", + "description": "The highest variant's price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minVariantPrice", + "description": "The lowest variant's price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductPriceRangeV2", + "description": "The price range of the product.", + "fields": [ + { + "name": "maxVariantPrice", + "description": "The highest variant's price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minVariantPrice", + "description": "The lowest variant's price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductPublication", + "description": "Represents the channels where a product is published.", + "fields": [ + { + "name": "channel", + "description": "The channel where the product was or is published.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isPublished", + "description": "Whether the publication is published or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product that was or is going to be published on the channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date that the product was or is going to be published on the channel.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductPublicationConnection", + "description": "An auto-generated type for paginating through multiple ProductPublications.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPublicationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ProductPublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPublication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductPublicationEdge", + "description": "An auto-generated type which holds one ProductPublication and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ProductPublicationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPublication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductPublicationInput", + "description": "The input fields for specifying a publication to which a product will be published.", + "fields": null, + "inputFields": [ + { + "name": "publicationId", + "description": "ID of the publication.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date and time that the product was (or will be) published.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductPublishInput", + "description": "The input fields for specifying a product to publish and the channels to publish it to.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The product to create or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productPublications", + "description": "The publication that the product is published to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductPublicationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductPublishPayload", + "description": "Return type for `productPublish` mutation.", + "fields": [ + { + "name": "product", + "description": "The product that has been published.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productPublications", + "description": "The channels where the product is published.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductPublication", + "ofType": null + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use Product.publications instead." + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductReorderMediaPayload", + "description": "Return type for `productReorderMedia` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job which reorders the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `mediaUserErrors` instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductResourceFeedback", + "description": "Reports the status of product for a Sales Channel or Storefront API.\nThis might include why a product is not available in a Sales Channel\nand how a merchant might fix this.", + "fields": [ + { + "name": "feedbackGeneratedAt", + "description": "The time when the feedback was generated. Used to help determine whether\nincoming feedback is outdated compared to existing feedback.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messages", + "description": "The feedback messages presented to the merchant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product associated with the feedback.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productUpdatedAt", + "description": "The timestamp of the product associated with the feedback.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Conveys the state of the feedback and whether it requires merchant action or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceFeedbackState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductResourceFeedbackInput", + "description": "The input fields used to create a product feedback.", + "fields": null, + "inputFields": [ + { + "name": "feedbackGeneratedAt", + "description": "The date and time when the payload is constructed.\nUsed to help determine whether incoming feedback is outdated compared to feedback already received, and if it should be ignored upon arrival.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messages", + "description": "A concise set of copy strings to be displayed to merchants. Used to guide merchants in resolving problems that your app encounters when trying to make use of their products.\nYou can specify up to four messages. Each message is limited to 100 characters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The ID of the product that the feedback was created on.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productUpdatedAt", + "description": "The timestamp of the product associated with the feedback.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "Whether the merchant needs to take action on the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceFeedbackState", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductSale", + "description": "A sale associated with a product.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The line item for the associated sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductSetInput", + "description": "The input fields required to create or update a product via ProductSet mutation.", + "fields": null, + "inputFields": [ + { + "name": "category", + "description": "The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17)\nthat's associated with the product.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "claimOwnership", + "description": "The input field to enable an app to provide additional product features.\nFor example, you can specify\n[`bundles: true`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductClaimOwnershipInput#field-bundles)\nin the `claimOwnership` field to let an app add a\n[product configuration extension](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-merchant-config-ui).", + "type": { + "kind": "INPUT_OBJECT", + "name": "ProductClaimOwnershipInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collections", + "description": "The IDs of collections that this product will be a member of.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "combinedListingRole", + "description": "The role of the product in a product grouping. It can only be set during creation.", + "type": { + "kind": "ENUM", + "name": "CombinedListingsRole", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "The description of the product, with HTML tags.\nFor example, the description might include bold `` and italic `` text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "files", + "description": "The files to associate with the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "FileSetInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "Whether the product is a gift card.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardTemplateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces.\nThe handle is used in the online store URL for the product.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The product's ID.\n\nIf you're creating a product, then you don't need to pass the `id` as input to the\n[`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate) mutation.\nIf you're updating a product, then you do need to pass the `id` as input to the\n[`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate) mutation\nto identify which product you want to update.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The metafields to associate with this product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOptions", + "description": "List of custom product options and option values (maximum of 3 per product).", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OptionSetInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productType", + "description": "The [product type](https://help.shopify.com/manual/products/details/product-type)\nthat merchants define.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Whether a redirect is required after a new handle has been provided.\nIf `true`, then the old handle is redirected to the new one automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresSellingPlan", + "description": "Whether the product can only be purchased with a selling plan (subscription). Products that are sold exclusively on subscription can only be created on online stores. If set to `true` on an already existing product, then the product will be marked unavailable on channels that don't support subscriptions.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": "The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords)\nthat are associated with a product.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SEOInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the product.", + "type": { + "kind": "ENUM", + "name": "ProductStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma-separated list of searchable keywords that are\nassociated with the product. For example, a merchant might apply the `sports`\nand `summer` tags to products that are associated with sportwear for summer.\n\nUpdating `tags` overwrites any existing tags that were previously added to the product.\nTo add new tags without overwriting existing tags, use the\n[`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)\nmutation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name for the product that displays to customers. The title is used to construct the product's handle.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variants", + "description": "A list of variants associated with the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantSetInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the product's vendor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductSetInventoryInput", + "description": "The input fields required to set inventory quantities using `productSet` mutation.", + "fields": null, + "inputFields": [ + { + "name": "locationId", + "description": "The ID of the location of the inventory quantity being set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the inventory quantity being set. Must be one of `available` or `on_hand`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The values to which each quantities will be set.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductSetOperation", + "description": "An entity that represents details of an asynchronous\n[ProductSet](https://shopify.dev/api/admin-graphql/current/mutations/productSet) mutation.\n\nBy querying this entity with the\n[productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query\nusing the ID that was returned\n[when the product was created or updated](https://shopify.dev/api/admin/migrate/new-product-model/sync-data#create-a-product-with-variants-and-options-asynchronously),\nthis can be used to check the status of an operation.\n\nThe `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`.\n\nThe `product` field provides the details of the created or updated product.\n\nThe `userErrors` field provides mutation errors that occurred during the operation.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product on which the operation is being performed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "Returns mutation errors occurred during background mutation processing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductSetUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ProductOperation", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductSetPayload", + "description": "Return type for `productSet` mutation.", + "fields": [ + { + "name": "product", + "description": "The product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productSetOperation", + "description": "The product set operation, returned when run in asynchronous mode.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductSetOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductSetUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductSetUserError", + "description": "Defines errors for ProductSet mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductSetUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductSetUserErrorCode", + "description": "Possible error codes that can be returned by `ProductSetUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_COMBINE_LINKED_AND_NONLINKED_OPTION_VALUES", + "description": "An option cannot have both metafield linked and nonlinked option values.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPABILITY_VIOLATION", + "description": "The metafield violates a capability restriction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_OPTION_NAME", + "description": "Duplicated option name.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_OPTION_VALUE", + "description": "Duplicated option value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATED_VALUE", + "description": "Duplicated value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_LINKED_OPTION", + "description": "Cannot link multiple options to the same metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "Something went wrong, please try again.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIFT_CARDS_NOT_ACTIVATED", + "description": "Gift card products can only be created after they have been activated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIFT_CARD_ATTRIBUTE_CANNOT_BE_CHANGED", + "description": "The product gift_card attribute cannot be changed after creation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT", + "description": "Input is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_METAFIELD", + "description": "Metafield is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION", + "description": "Invalid metafield value for linked option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_PRODUCT", + "description": "Product is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VARIANT", + "description": "Product variant is not valid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "JOB_ERROR", + "description": "Error processing request in the background job.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_METAFIELD_DEFINITION_NOT_FOUND", + "description": "No valid metafield definition found for linked option.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP", + "description": "Linked options are currently not supported for this shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTIONS_OVER_LIMIT", + "description": "Options over limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_DOES_NOT_EXIST", + "description": "Option does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_MISSING", + "description": "Each option must have at least one option value specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_OVER_LIMIT", + "description": "Option values over limit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_DOES_NOT_EXIST", + "description": "Option value does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_OPTIONS_INPUT_MISSING", + "description": "Must specify product options when updating variants.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_DOES_NOT_EXIST", + "description": "Product variant does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANTS_INPUT_MISSING", + "description": "Must specify variants when updating options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANTS_OVER_LIMIT", + "description": "Number of product variants exceeds shop limit.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductSortKeys", + "description": "The set of valid sort keys for the Product query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_TOTAL", + "description": "Sort by the `inventory_total` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_TYPE", + "description": "Sort by the `product_type` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_AT", + "description": "Sort by the `published_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.\n[Pagination](https://shopify.dev/api/usage/pagination-graphql) isn't supported when using this sort key.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VENDOR", + "description": "Sort by the `vendor` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductStatus", + "description": "The possible product statuses.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The product is ready to sell and can be published to sales channels and apps. Products with an active status aren't automatically published to sales channels, such as the online store, or apps. By default, existing products are set to active.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARCHIVED", + "description": "The product is no longer being sold and isn't available to customers on sales channels and apps.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT", + "description": "The product isn't ready to sell and is unavailable to customers on sales channels and apps. By default, duplicated and unarchived products are set to draft.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductTaxonomyNode", + "description": "Represents a [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17) node.", + "fields": [ + { + "name": "fullName", + "description": "The full name of the product taxonomy node. For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the product taxonomy node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isLeaf", + "description": "Whether the node is a leaf node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRoot", + "description": "Whether the node is a root node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product taxonomy node. For example, Dog Beds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductUnpublishInput", + "description": "The input fields for specifying a product to unpublish from a channel and the sales channels to unpublish it from.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the product to create or update publications for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productPublications", + "description": "The channels to unpublish the product from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductPublicationInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductUnpublishPayload", + "description": "Return type for `productUnpublish` mutation.", + "fields": [ + { + "name": "product", + "description": "The product that has been unpublished.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductUpdateInput", + "description": "The input fields for updating a product.", + "fields": null, + "inputFields": [ + { + "name": "category", + "description": "The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17)\nthat's associated with the product.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionsToJoin", + "description": "A list of collection IDs to associate with the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionsToLeave", + "description": "The collection IDs to disassociate from the product.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descriptionHtml", + "description": "The description of the product, with HTML tags.\nFor example, the description might include bold `` and italic `` text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardTemplateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "handle", + "description": "A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces.\nThe handle is used in the online store URL for the product.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The product's ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The [custom fields](https://shopify.dev/docs/apps/build/custom-data) to associate with the product\nfor the purposes of adding and storing additional information.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productType", + "description": "The [product type](https://help.shopify.com/manual/products/details/product-type)\nthat merchants define.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectNewHandle", + "description": "Whether a redirect is required after a new handle has been provided.\nIf `true`, then the old handle is redirected to the new one automatically.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresSellingPlan", + "description": "Whether the product can only be purchased with\na [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans).\nProducts that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores.\nIf you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels except the online store.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "seo", + "description": "The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords)\nthat are associated with a product.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SEOInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status),\nwhich controls visibility across all sales channels.", + "type": { + "kind": "ENUM", + "name": "ProductStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "A comma-separated list of searchable keywords that are\nassociated with the product. For example, a merchant might apply the `sports`\nand `summer` tags to products that are associated with sportwear for summer.\n\nUpdating `tags` overwrites any existing tags that were previously added to the product.\nTo add new tags without overwriting existing tags, use the\n[`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd)\nmutation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "templateSuffix", + "description": "The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name for the product that displays to customers. The title is used to construct the product's handle.\nFor example, if a product is titled \"Black Sunglasses\", then the handle is `black-sunglasses`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "vendor", + "description": "The name of the product's vendor.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductUpdateMediaPayload", + "description": "Return type for `productUpdateMedia` mutation.", + "fields": [ + { + "name": "media", + "description": "The updated media object.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaUserErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "product", + "description": "The product on which media was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `mediaUserErrors` instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductUpdatePayload", + "description": "Return type for `productUpdate` mutation.", + "fields": [ + { + "name": "product", + "description": "The updated product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariant", + "description": "Represents a product variant.", + "fields": [ + { + "name": "availableForSale", + "description": "Whether the product variant is available for sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "barcode", + "description": "The value of the barcode associated with the product.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compareAtPrice", + "description": "The compare-at price of the variant in the default shop currency.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contextualPricing", + "description": "The pricing that applies for a customer in a given context.", + "args": [ + { + "name": "context", + "description": "The context used to generate contextual pricing for the variant.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ContextualPricingContext", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantContextualPricing", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the variant was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCursor", + "description": "A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryProfile", + "description": "The [delivery profile](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryProfile) for the variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayName", + "description": "Display name of the variant, based on product's title + variant's title.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the host subject.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "The featured image for the variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItem", + "description": "The inventory item, which is used to query for inventory information.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryPolicy", + "description": "Whether customers are allowed to place an order for the product variant when it's out of stock.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ProductVariantInventoryPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryQuantity", + "description": "The total sellable quantity of the variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "media", + "description": "The media associated with the product variant.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The order of the product variant in the list of product variants. The first position in the list is 1.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentPrices", + "description": "List of prices and compare-at prices in the presentment currencies for this shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentCurrencies", + "description": "The presentment currencies prices should return in.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantPricePairConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `contextualPricing` instead." + }, + { + "name": "price", + "description": "The price of the product variant in the default shop currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "product", + "description": "The product that this variant belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantComponents", + "description": "A list of the product variant components.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantComponentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresComponents", + "description": "Whether a product variant requires components. The default value is `false`.\nIf `true`, then the product variant can only be purchased as a parent bundle with components and it will be omitted\nfrom channels that don't support bundles.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selectedOptions", + "description": "List of product options applied to the variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SelectedOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellableOnlineQuantity", + "description": "The total sellable quantity of the variant for online channels.\nThis doesn't represent the total available inventory or capture\n[limitations based on customer location](https://help.shopify.com/manual/markets/inventory_and_fulfillment).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupCount", + "description": "Count of selling plan groups associated with the product variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `sellingPlanGroupsCount` instead." + }, + { + "name": "sellingPlanGroups", + "description": "A list of all selling plan groups defined in the current shop associated with the product variant.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroupsCount", + "description": "Count of selling plan groups associated with the product variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "A case-sensitive identifier for the product variant in the shop.\nRequired in order to connect to a fulfillment service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefrontId", + "description": "The Storefront GraphQL API ID of the `ProductVariant`.\n\nAs of the `2022-04` version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the `id` field's value instead.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "StorefrontID", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `id` instead." + }, + { + "name": "taxCode", + "description": "The tax code for the product variant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether a tax is charged when the product variant is sold.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the product variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unitPriceMeasurement", + "description": "The unit price measurement for the variant.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UnitPriceMeasurement", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time (ISO 8601 format) when the product variant was last modified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasEvents", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Navigable", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductVariantAppendMediaInput", + "description": "The input fields required to append media to a single variant.", + "fields": null, + "inputFields": [ + { + "name": "mediaIds", + "description": "Specifies the media to append to the variant.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "Specifies the variant to which media will be appended.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantAppendMediaPayload", + "description": "Return type for `productVariantAppendMedia` mutation.", + "fields": [ + { + "name": "product", + "description": "The product associated with the variants and media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "The product variants that were updated.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantComponent", + "description": "A product variant component associated with a product variant.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariant", + "description": "The product variant associated with the component.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The required quantity of the component.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantComponentConnection", + "description": "An auto-generated type for paginating through multiple ProductVariantComponents.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantComponentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ProductVariantComponentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantComponent", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantComponentEdge", + "description": "An auto-generated type which holds one ProductVariantComponent and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ProductVariantComponentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantComponent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "description": "An auto-generated type for paginating through multiple ProductVariants.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ProductVariantEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantContextualPricing", + "description": "The price of a product variant in a specific country.\nPrices vary between countries.", + "fields": [ + { + "name": "compareAtPrice", + "description": "The final compare-at price after all adjustments are applied.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The final price after all adjustments are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityPriceBreaks", + "description": "A list of quantity breaks for the product variant.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "QuantityPriceBreakSortKeys", + "ofType": null + }, + "defaultValue": "MINIMUM_QUANTITY", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityPriceBreakConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityRule", + "description": "The quantity rule applied for a given context.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductVariantDetachMediaInput", + "description": "The input fields required to detach media from a single variant.", + "fields": null, + "inputFields": [ + { + "name": "mediaIds", + "description": "Specifies the media to detach from the variant.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "Specifies the variant from which media will be detached.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantDetachMediaPayload", + "description": "Return type for `productVariantDetachMedia` mutation.", + "fields": [ + { + "name": "product", + "description": "The product associated with the variants and media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "The product variants that were updated.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantEdge", + "description": "An auto-generated type which holds one ProductVariant and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ProductVariantEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductVariantGroupRelationshipInput", + "description": "The input fields for the bundle components for core.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the product variant that's a component of the bundle.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units of the product variant required to construct one unit of the bundle.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantInventoryPolicy", + "description": "The valid values for the inventory policy of a product variant once it is out of stock.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONTINUE", + "description": "Customers can buy this product variant after it's out of stock.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DENY", + "description": "Customers can't buy this product variant after it's out of stock.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantJoinSellingPlanGroupsPayload", + "description": "Return type for `productVariantJoinSellingPlanGroups` mutation.", + "fields": [ + { + "name": "productVariant", + "description": "The product variant object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantLeaveSellingPlanGroupsPayload", + "description": "Return type for `productVariantLeaveSellingPlanGroups` mutation.", + "fields": [ + { + "name": "productVariant", + "description": "The product variant object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductVariantPositionInput", + "description": "The input fields representing a product variant position.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the ID of the product variant to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The order of the product variant in the list of product variants. The first position in the list is 1.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantPricePair", + "description": "The compare-at price and price of a variant sharing a currency.", + "fields": [ + { + "name": "compareAtPrice", + "description": "The compare-at price of the variant with associated currency.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the variant with associated currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantPricePairConnection", + "description": "An auto-generated type for paginating through multiple ProductVariantPricePairs.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantPricePairEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ProductVariantPricePairEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantPricePair", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantPricePairEdge", + "description": "An auto-generated type which holds one ProductVariantPricePair and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ProductVariantPricePairEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantPricePair", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantRelationshipBulkUpdatePayload", + "description": "Return type for `productVariantRelationshipBulkUpdate` mutation.", + "fields": [ + { + "name": "parentProductVariants", + "description": "The product variants with successfully updated product variant relationships.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantRelationshipBulkUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantRelationshipBulkUpdateUserError", + "description": "An error that occurs during the execution of `ProductVariantRelationshipBulkUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductVariantRelationshipBulkUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantRelationshipBulkUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `ProductVariantRelationshipBulkUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHILD_PRODUCT_VARIANT_CANNOT_BE_COMBINED_LISTING", + "description": "Combined listing cannot be child product variants.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CIRCULAR_REFERENCE", + "description": "A parent product variant cannot contain itself as a component.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_PRODUCT_VARIANT_RELATIONSHIP", + "description": "A parent product variant must not contain duplicate product variant relationships.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXCEEDED_PRODUCT_VARIANT_RELATIONSHIP_LIMIT", + "description": "Exceeded the maximum allowable product variant relationships in a parent product variant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_CREATE", + "description": "Unable to create parent product variant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_REMOVE", + "description": "Unable to remove product variant relationships.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_UPDATE", + "description": "Unable to update product variant relationships.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED_TO_UPDATE_PARENT_PRODUCT_VARIANT_PRICE", + "description": "Unable to update parent product variant price.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_QUANTITY", + "description": "Product variant relationships must have a quantity greater than 0.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUST_SPECIFY_COMPONENTS", + "description": "The product variant relationships to remove must be specified if all the parent product variant's components aren't being removed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NESTED_PARENT_PRODUCT_VARIANT", + "description": "Nested parent product variants aren't supported.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT_PRODUCT_VARIANT_CANNOT_BE_COMBINED_LISTING", + "description": "Combined listing cannot be parent product variants.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT_PRODUCT_VARIANT_CANNOT_BE_GIFT_CARD", + "description": "Gift cards cannot be parent product variants.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT_PRODUCT_VARIANT_CANNOT_REQUIRE_SELLING_PLAN", + "description": "Parent product variants cannot require a selling plan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PARENT_REQUIRED", + "description": "A parent product variant ID or product ID must be provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_EXPANDER_APP_OWNERSHIP_ALREADY_EXISTS", + "description": "The products for these product variants are already owned by another App.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANTS_NOT_COMPONENTS", + "description": "Some of the provided product variants are not components of the specified parent product variant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANTS_NOT_FOUND", + "description": "The product variants were not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_RELATIONSHIP_TYPE_CONFLICT", + "description": "A Core type relationship cannot be added to a composite product variant with SFN type relationships.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNEXPECTED_ERROR", + "description": "Unexpected error.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_MULTIPACK_RELATIONSHIP", + "description": "Multipack bundles are not supported.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATE_PARENT_VARIANT_PRICE_REQUIRED", + "description": "A price must be provided for a parent product variant if the price calucation is set to fixed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductVariantRelationshipUpdateInput", + "description": "The input fields for updating a composite product variant.", + "fields": null, + "inputFields": [ + { + "name": "parentProductId", + "description": "A product ID which contains product variants that have relationships with other variants.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentProductVariantId", + "description": "The product variant ID representing that which contains the relationships with other variants.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceInput", + "description": "Method in which to update the price of the parent product variant.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PriceInput", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantRelationshipsToCreate", + "description": "The product variants and associated quantitites to add to the product variant.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantGroupRelationshipInput", + "ofType": null + } + } + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantRelationshipsToRemove", + "description": "The bundle component product variants to be removed from the product variant.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantRelationshipsToUpdate", + "description": "The product variants and associated quantitites to update in specified product variant.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductVariantGroupRelationshipInput", + "ofType": null + } + } + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeAllProductVariantRelationships", + "description": "Whether to remove all components from the product variant. The default value is `false`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductVariantSetInput", + "description": "The input fields for specifying a product variant to create or update.", + "fields": null, + "inputFields": [ + { + "name": "barcode", + "description": "The value of the barcode associated with the product.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compareAtPrice", + "description": "The compare-at price of the variant.", + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "file", + "description": "The file to associate with the variant.", + "type": { + "kind": "INPUT_OBJECT", + "name": "FileSetInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Specifies the product variant to update or create a new variant if absent.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryPolicy", + "description": "Whether customers are allowed to place an order for the product variant when it's out of stock.", + "type": { + "kind": "ENUM", + "name": "ProductVariantInventoryPolicy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryQuantities", + "description": "The inventory quantities at each location where the variant is stocked.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ProductSetInventoryInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional customizable information about the product variant.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionValues", + "description": "The custom properties that a shop owner uses to define product variants.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VariantOptionValueInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The order of the product variant in the list of product variants. The first position in the list is 1.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the variant.", + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresComponents", + "description": "Whether a product variant requires components. The default value is `false`.\nIf `true`, then the product variant can only be purchased as a parent bundle with components and it will be omitted\nfrom channels that don't support bundles.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "The SKU for the variant. Case-sensitive string.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxCode", + "description": "The tax code associated with the variant.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the variant is taxable.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantSortKeys", + "description": "The set of valid sort keys for the ProductVariant query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULL_TITLE", + "description": "Sort by the `full_title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_LEVELS_AVAILABLE", + "description": "Sort by available inventory quantity in the location specified by the `query:\"location_id:\"` argument.\nDon't use this sort key when no `location_id` in query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_MANAGEMENT", + "description": "Sort by the `inventory_management` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_POLICY", + "description": "Sort by the `inventory_policy` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_QUANTITY", + "description": "Sort by the `inventory_quantity` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POPULAR", + "description": "Sort by the `popular` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSITION", + "description": "Sort by the `position` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SKU", + "description": "Sort by the `sku` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkCreatePayload", + "description": "Return type for `productVariantsBulkCreate` mutation.", + "fields": [ + { + "name": "product", + "description": "The updated product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "The newly created variants.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantsBulkCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantsBulkCreateStrategy", + "description": "The set of strategies available for use on the `productVariantsBulkCreate` mutation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "The default strategy; keep the standalone variant (when product has only a single or default variant) when creating variants in bulk.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMOVE_STANDALONE_VARIANT", + "description": "Delete the standalone variant (when product has only a single or default variant) when creating new variants in bulk.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkCreateUserError", + "description": "Error codes for failed product variant bulk create mutations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductVariantsBulkCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantsBulkCreateUserErrorCode", + "description": "Possible error codes that can be returned by `ProductVariantsBulkCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_SET_NAME_FOR_LINKED_OPTION_VALUE", + "description": "Cannot set name for an option value linked to a metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "Variant price must be greater than or equal to zero.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "Invalid input detected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT", + "description": "Input is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUST_BE_FOR_THIS_PRODUCT", + "description": "Input must be for this product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEED_TO_ADD_OPTION_VALUES", + "description": "Variant options are not enough.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEGATIVE_PRICE_VALUE", + "description": "Price cannot take a negative value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_DEFINED_FOR_SHOP", + "description": "Input is not defined for this shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_KEY_ON_CREATE", + "description": "On create, this key cannot be used.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_FOR_NUMBER_OF_UNKNOWN_OPTIONS", + "description": "Variant options are more than the product options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_VIOLATION", + "description": "You reached the limit of available SKUs in your current plan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_INVENTORY_LOCATIONS", + "description": "Inventory locations cannot exceed the allowed resource limit or 10.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRACKED_VARIANT_LOCATION_NOT_FOUND", + "description": "Quantity could not be set. The location was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION", + "description": "Operation is not supported for a combined listing parent product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_ALREADY_EXISTS", + "description": "Variant already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_ALREADY_EXISTS_CHANGE_OPTION_VALUE", + "description": "Variant options already exist. Please change the variant option(s).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkDeletePayload", + "description": "Return type for `productVariantsBulkDelete` mutation.", + "fields": [ + { + "name": "product", + "description": "The updated product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantsBulkDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkDeleteUserError", + "description": "Error codes for failed bulk variant delete mutations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductVariantsBulkDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantsBulkDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `ProductVariantsBulkDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AT_LEAST_ONE_VARIANT_DOES_NOT_BELONG_TO_THE_PRODUCT", + "description": "The variant does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_DELETE_LAST_VARIANT", + "description": "Cannot delete default variant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION", + "description": "Operation is not supported for a combined listing parent product.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ProductVariantsBulkInput", + "description": "The input fields for specifying a product variant to create as part of a variant bulk mutation.", + "fields": null, + "inputFields": [ + { + "name": "barcode", + "description": "The value of the barcode associated with the product variant.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "compareAtPrice", + "description": "The compare-at price of the variant.", + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Specifies the product variant to update or delete.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItem", + "description": "The inventory item associated with the variant, used for unit cost.", + "type": { + "kind": "INPUT_OBJECT", + "name": "InventoryItemInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryPolicy", + "description": "Whether customers are allowed to place an order for the variant when it's out of stock.", + "type": { + "kind": "ENUM", + "name": "ProductVariantInventoryPolicy", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryQuantities", + "description": "The inventory quantities at each location where the variant is stocked. The number of elements\nin the array of inventory quantities can't exceed the amount specified for the plan.\nSupported as input with the `productVariantsBulkCreate` mutation only.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "InventoryLevelInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaId", + "description": "The ID of the media that's associated with the variant.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaSrc", + "description": "The URL of the media to associate with the variant.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "The additional customizable information about the product variant.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionValues", + "description": "The custom properties that a shop owner uses to define product variants.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "VariantOptionValueInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the variant.", + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresComponents", + "description": "Whether a product variant requires components. The default value is `false`.\nIf `true`, then the product variant can only be purchased as a parent bundle with components and it will be\nomitted from channels that don't support bundles.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxCode", + "description": "The tax code associated with the variant.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the variant is taxable.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkReorderPayload", + "description": "Return type for `productVariantsBulkReorder` mutation.", + "fields": [ + { + "name": "product", + "description": "The updated product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantsBulkReorderUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkReorderUserError", + "description": "Error codes for failed bulk product variants reorder operation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductVariantsBulkReorderUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantsBulkReorderUserErrorCode", + "description": "Possible error codes that can be returned by `ProductVariantsBulkReorderUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DUPLICATED_VARIANT_ID", + "description": "Product variant IDs must be unique.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_POSITION", + "description": "Product variant position cannot be zero or negative number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_VARIANT", + "description": "Product variant does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkUpdatePayload", + "description": "Return type for `productVariantsBulkUpdate` mutation.", + "fields": [ + { + "name": "product", + "description": "The updated product object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "The updated variants.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantsBulkUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ProductVariantsBulkUpdateUserError", + "description": "Error codes for failed variant bulk update mutations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ProductVariantsBulkUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProductVariantsBulkUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `ProductVariantsBulkUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_SET_NAME_FOR_LINKED_OPTION_VALUE", + "description": "Cannot set name for an option value linked to a metafield.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_SPECIFY_BOTH", + "description": "Mutually exclusive input fields provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "The price of the variant must be greater than or equal to zero.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT", + "description": "Input is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUST_BE_FOR_THIS_PRODUCT", + "description": "Input must be for this product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUST_SPECIFY_ONE_OF_PAIR", + "description": "Mandatory field input field missing.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEED_TO_ADD_OPTION_VALUES", + "description": "Variant options are not enough.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEGATIVE_PRICE_VALUE", + "description": "Price cannot take a negative value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_INVENTORY_QUANTITES_DURING_UPDATE", + "description": "Inventory quantities cannot be provided during update.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_INVENTORY_QUANTITIES_ON_VARIANTS_UPDATE", + "description": "Inventory quantities can only be provided during create. To update inventory for existing variants, use inventoryAdjustQuantities.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_DOES_NOT_EXIST", + "description": "Option does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUES_FOR_NUMBER_OF_UNKNOWN_OPTIONS", + "description": "Variant options are more than the product options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTION_VALUE_DOES_NOT_EXIST", + "description": "Option value does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_DOES_NOT_EXIST", + "description": "Product variant does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_ID_MISSING", + "description": "Product variant is missing ID attribute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_VIOLATION", + "description": "You reached the limit of available SKUs in your current plan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION", + "description": "Operation is not supported for a combined listing parent product.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_ALREADY_EXISTS", + "description": "The variant already exists.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ProfileItemSortKeys", + "description": "The set of valid sort keys for the ProfileItem query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_TOTAL", + "description": "Sort by the `inventory_total` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_TYPE", + "description": "Sort by the `product_type` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLISHED_AT", + "description": "Sort by the `published_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TITLE", + "description": "Sort by the `title` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VENDOR", + "description": "Sort by the `vendor` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PubSubServerPixelUpdatePayload", + "description": "Return type for `pubSubServerPixelUpdate` mutation.", + "fields": [ + { + "name": "serverPixel", + "description": "The server pixel as configured by the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ServerPixel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorsServerPixelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionCreatePayload", + "description": "Return type for `pubSubWebhookSubscriptionCreate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "The webhook subscription that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionCreateUserError", + "description": "An error that occurs during the execution of `PubSubWebhookSubscriptionCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PubSubWebhookSubscriptionCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PubSubWebhookSubscriptionCreateUserErrorCode", + "description": "Possible error codes that can be returned by `PubSubWebhookSubscriptionCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_PARAMETERS", + "description": "Invalid parameters provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "Address for this topic has already been taken.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PubSubWebhookSubscriptionInput", + "description": "The input fields for a PubSub webhook subscription.", + "fields": null, + "inputFields": [ + { + "name": "filter", + "description": "A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "The format in which the webhook subscription should send the data.", + "type": { + "kind": "ENUM", + "name": "WebhookSubscriptionFormat", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeFields", + "description": "The list of fields to be included in the webhook subscription.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldNamespaces", + "description": "The list of namespaces for any metafields that should be included in the webhook subscription.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pubSubProject", + "description": "The Pub/Sub project ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pubSubTopic", + "description": "The Pub/Sub topic ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionUpdatePayload", + "description": "Return type for `pubSubWebhookSubscriptionUpdate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "The webhook subscription that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PubSubWebhookSubscriptionUpdateUserError", + "description": "An error that occurs during the execution of `PubSubWebhookSubscriptionUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PubSubWebhookSubscriptionUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PubSubWebhookSubscriptionUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `PubSubWebhookSubscriptionUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_PARAMETERS", + "description": "Invalid parameters provided.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Publication", + "description": "A publication is a group of products and collections that is published to an app.", + "fields": [ + { + "name": "app", + "description": "The app associated with the publication.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use [AppCatalog.apps](https://shopify.dev/api/admin-graphql/unstable/objects/AppCatalog#connection-appcatalog-apps) instead." + }, + { + "name": "autoPublish", + "description": "Whether new products are automatically published to this publication.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalog", + "description": "The catalog associated with the publication.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionPublicationsV3", + "description": "The collection publications for the list of collections published to the publication.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collections", + "description": "The list of collections published to the publication.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasCollection", + "description": "Whether the collection is available to the publication.", + "args": [ + { + "name": "id", + "description": "Collection ID to check.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name of the publication.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use [Catalog.title](https://shopify.dev/api/admin-graphql/unstable/interfaces/Catalog#field-catalog-title) instead." + }, + { + "name": "operation", + "description": "A background operation associated with this publication.", + "args": [], + "type": { + "kind": "UNION", + "name": "PublicationOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productPublicationsV3", + "description": "The product publications for the list of products published to the publication.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "The list of products published to the publication.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "supportsFuturePublishing", + "description": "Whether the publication supports future publishing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublicationConnection", + "description": "An auto-generated type for paginating through multiple Publications.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in PublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PublicationCreateInput", + "description": "The input fields for creating a publication.", + "fields": null, + "inputFields": [ + { + "name": "autoPublish", + "description": "Whether to automatically add newly created products to this publication.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogId", + "description": "The ID of the catalog.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultState", + "description": "Whether to create an empty publication or prepopulate it with all products.", + "type": { + "kind": "ENUM", + "name": "PublicationCreateInputPublicationDefaultState", + "ofType": null + }, + "defaultValue": "EMPTY", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PublicationCreateInputPublicationDefaultState", + "description": "The input fields for the possible values for the default state of a publication.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL_PRODUCTS", + "description": "The publication is populated with all products.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMPTY", + "description": "The publication is empty.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublicationCreatePayload", + "description": "Return type for `publicationCreate` mutation.", + "fields": [ + { + "name": "publication", + "description": "The publication that's been created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublicationDeletePayload", + "description": "Return type for `publicationDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the publication that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublicationEdge", + "description": "An auto-generated type which holds one Publication and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of PublicationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PublicationInput", + "description": "The input fields required to publish a resource.", + "fields": null, + "inputFields": [ + { + "name": "publicationId", + "description": "ID of the publication.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date and time that the resource was published. Setting this to a date in the future will schedule the resource to be published. Only online store channels support future publishing. This field has no effect if you include it in the `publishableUnpublish` mutation.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PublicationOperation", + "description": "The possible types of publication operations.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AddAllProductsOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CatalogCsvOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PublicationResourceOperation", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PublicationResourceOperation", + "description": "A bulk update operation on a publication.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedRowCount", + "description": "The count of processed rows, summing imported, failed, and skipped rows.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rowCount", + "description": "Represents a rows objects within this background operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RowCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PublicationUpdateInput", + "description": "The input fields for updating a publication.", + "fields": null, + "inputFields": [ + { + "name": "autoPublish", + "description": "Whether new products should be automatically published to the publication.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishablesToAdd", + "description": "A list of publishable IDs to add. The maximum number of publishables to update simultaneously is 50.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishablesToRemove", + "description": "A list of publishable IDs to remove. The maximum number of publishables to update simultaneously is 50.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublicationUpdatePayload", + "description": "Return type for `publicationUpdate` mutation.", + "fields": [ + { + "name": "publication", + "description": "The publication that's been updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublicationUserError", + "description": "Defines errors encountered while managing a publication.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "PublicationUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "PublicationUserErrorCode", + "description": "Possible error codes that can be returned by `PublicationUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MODIFY_APP_CATALOG", + "description": "Cannot modify a catalog for an app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MODIFY_APP_CATALOG_PUBLICATION", + "description": "Can't modify a publication that belongs to an app catalog.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MODIFY_MARKET_CATALOG", + "description": "Cannot modify a catalog for a market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANNOT_MODIFY_MARKET_CATALOG_PUBLICATION", + "description": "Can't modify a publication that belongs to a market catalog.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_NOT_FOUND", + "description": "Catalog does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_PUBLISHABLE_ID", + "description": "Publishable ID not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_NOT_FOUND", + "description": "Market does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_TYPE_INCOMPATIBLE_WITH_CATALOG_TYPE", + "description": "A product publication cannot be created because the catalog type associated with this publication does not permit publications of this product type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLICATION_LOCKED", + "description": "The publication is currently being modified. Please try again later.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLICATION_NOT_FOUND", + "description": "Publication not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLICATION_UPDATE_LIMIT_EXCEEDED", + "description": "The limit for simultaneous publication updates has been exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_PUBLICATION_ACTION", + "description": "Can't perform this action on a publication.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSUPPORTED_PUBLISHABLE_TYPE", + "description": "A catalog publication can only contain products.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Publishable", + "description": "Represents a resource that can be published to a channel.\nA publishable resource can be either a Product or Collection.", + "fields": [ + { + "name": "availablePublicationsCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [ + { + "name": "onlyPublished", + "description": "Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `resourcePublicationsCount` instead." + }, + { + "name": "publishedOnChannel", + "description": "Whether the resource is published to a specific channel.", + "args": [ + { + "name": "channelId", + "description": "The ID of the channel to check.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publishedOnPublication` instead." + }, + { + "name": "publishedOnCurrentChannel", + "description": "Whether the resource is published to a\n[channel](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel).\nFor example, the resource might be published to the online store channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publishedOnCurrentPublication` instead." + }, + { + "name": "publishedOnCurrentPublication", + "description": "Whether the resource is published to the app's\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).\nFor example, the resource might be published to the app's online store channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedOnPublication", + "description": "Whether the resource is published to a specified\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "publicationId", + "description": "The ID of the publication to check. For example, `id: \"gid://shopify/Publication/123\"`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublications", + "description": "The list of resources that are published to a\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled to be published.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublicationsCount", + "description": "The number of\n[publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat a resource is published to, without\n[feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback).", + "args": [ + { + "name": "onlyPublished", + "description": "Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourcePublicationsV2", + "description": "The list of resources that are either published or staged to be published to a\n[publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogType", + "description": "Filter publications by catalog type.", + "type": { + "kind": "ENUM", + "name": "CatalogType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlyPublished", + "description": "Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled or staged to be published.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationV2Connection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unpublishedChannels", + "description": "The list of channels that the resource is not published to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChannelConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `unpublishedPublications` instead." + }, + { + "name": "unpublishedPublications", + "description": "The list of [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication)\nthat the resource isn't published to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "Product", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "PublishablePublishPayload", + "description": "Return type for `publishablePublish` mutation.", + "fields": [ + { + "name": "publishable", + "description": "Resource that has been published.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublishablePublishToCurrentChannelPayload", + "description": "Return type for `publishablePublishToCurrentChannel` mutation.", + "fields": [ + { + "name": "publishable", + "description": "Resource that has been published.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublishableUnpublishPayload", + "description": "Return type for `publishableUnpublish` mutation.", + "fields": [ + { + "name": "publishable", + "description": "Resource that has been unpublished.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PublishableUnpublishToCurrentChannelPayload", + "description": "Return type for `publishableUnpublishToCurrentChannel` mutation.", + "fields": [ + { + "name": "publishable", + "description": "Resource that has been unpublished.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "PurchasingCompany", + "description": "Represents information about the purchasing company for the order or draft order.", + "fields": [ + { + "name": "company", + "description": "The company associated to the order or draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contact", + "description": "The company contact associated to the order or draft order.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The company location associated to the order or draft order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "PurchasingCompanyInput", + "description": "The input fields for a purchasing company, which is a combination of company, company contact, and company location.", + "fields": null, + "inputFields": [ + { + "name": "companyContactId", + "description": "ID of the company contact.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyId", + "description": "ID of the company.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocationId", + "description": "ID of the company location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "PurchasingEntity", + "description": "Represents information about the purchasing entity for the order or draft order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PurchasingCompany", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "PurchasingEntityInput", + "description": "The input fields for a purchasing entity. Can either be a customer or a purchasing company.", + "fields": null, + "inputFields": [ + { + "name": "customerId", + "description": "Represents a customer. Null if there's a purchasing company.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "purchasingCompany", + "description": "Represents a purchasing company. Null if there's a customer.", + "type": { + "kind": "INPUT_OBJECT", + "name": "PurchasingCompanyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityPriceBreak", + "description": "Quantity price breaks lets you offer different rates that are based on the\namount of a specific variant being ordered.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimumQuantity", + "description": "Minimum quantity required to reach new quantity break price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of variant after reaching the minimum quanity.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "The price list associated with this quantity break.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variant", + "description": "The product variant associated with this quantity break.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityPriceBreakConnection", + "description": "An auto-generated type for paginating through multiple QuantityPriceBreaks.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityPriceBreakEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in QuantityPriceBreakEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityPriceBreak", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityPriceBreakEdge", + "description": "An auto-generated type which holds one QuantityPriceBreak and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of QuantityPriceBreakEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityPriceBreak", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "QuantityPriceBreakInput", + "description": "The input fields and values to use when creating quantity price breaks.", + "fields": null, + "inputFields": [ + { + "name": "minimumQuantity", + "description": "The minimum required quantity for a variant to qualify for this price.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the product variant when its quantity meets the break's minimum quantity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The product variant ID associated with the quantity break.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "QuantityPriceBreakSortKeys", + "description": "The set of valid sort keys for the QuantityPriceBreak query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINIMUM_QUANTITY", + "description": "Sort by the `minimum_quantity` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "QuantityPricingByVariantUpdateInput", + "description": "The input fields used to update quantity pricing.", + "fields": null, + "inputFields": [ + { + "name": "pricesToAdd", + "description": "A list of fixed prices to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "PriceListPriceInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricesToDeleteByVariantId", + "description": "A list of variant IDs that identify which fixed prices to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityPriceBreaksToAdd", + "description": "A list of quantity price breaks to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "QuantityPriceBreakInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityPriceBreaksToDelete", + "description": "A list of quantity price break IDs that identify which quantity breaks to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityRulesToAdd", + "description": "A list of quantity rules to add.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "QuantityRuleInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityRulesToDeleteByVariantId", + "description": "A list of variant IDs that identify which quantity rules to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityPricingByVariantUpdatePayload", + "description": "Return type for `quantityPricingByVariantUpdate` mutation.", + "fields": [ + { + "name": "productVariants", + "description": "The variants for which quantity pricing was created successfully in the price list.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityPricingByVariantUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityPricingByVariantUserError", + "description": "Error codes for failed volume pricing operations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "QuantityPricingByVariantUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "QuantityPricingByVariantUserErrorCode", + "description": "Possible error codes that can be returned by `QuantityPricingByVariantUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "Something went wrong when trying to update quantity pricing. Please try again later.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_ADD_CURRENCY_MISMATCH", + "description": "Price list and fixed price currency mismatch.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_ADD_DUPLICATE_INPUT_FOR_VARIANT", + "description": "Prices to add inputs must be unique by variant id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_ADD_VARIANT_NOT_FOUND", + "description": "Fixed price's variant not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_DELETE_PRICE_NOT_FIXED", + "description": "Price is not fixed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_DELETE_VARIANT_NOT_FOUND", + "description": "Fixed price's variant not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_NOT_FOUND", + "description": "Price List does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_CURRENCY_MISMATCH", + "description": "Price list and quantity price break currency mismatch.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_DUPLICATE_INPUT_FOR_VARIANT_AND_MIN", + "description": "Quantity price breaks to add inputs must be unique by variant id and minimum quantity.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_FAILED_TO_SAVE", + "description": "Failed to save quantity price break.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_INVALID", + "description": "Invalid quantity price break.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_LIMIT_EXCEEDED", + "description": "Exceeded the allowed number of quantity price breaks per variant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_MIN_HIGHER_THAN_QUANTITY_RULES_MAX", + "description": "Quantity price break miniumum is higher than the quantity rule maximum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_MIN_LOWER_THAN_QUANTITY_RULES_MIN", + "description": "Quantity price break miniumum is less than the quantity rule minimum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_MIN_NOT_A_MULTIPLE_OF_QUANTITY_RULES_INCREMENT", + "description": "Quantity price break miniumum is not multiple of the quantity rule increment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_PRICE_LIST_PRICE_NOT_FOUND", + "description": "Quantity price break's fixed price not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_ADD_VARIANT_NOT_FOUND", + "description": "Quantity price break variant not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_DELETE_FAILED", + "description": "Failed to delete quantity price break.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_PRICE_BREAK_DELETE_NOT_FOUND", + "description": "Quantity price break not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_CATALOG_CONTEXT_NOT_SUPPORTED", + "description": "Quantity rule catalog context not supported.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_DUPLICATE_INPUT_FOR_VARIANT", + "description": "Quantity rules to add inputs must be unique by variant id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_INCREMENT_IS_GREATER_THAN_MINIMUM", + "description": "Quantity rule increment is greater than minimum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_INCREMENT_IS_LESS_THAN_ONE", + "description": "Quantity rule increment is less than one.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_INCREMENT_NOT_A_MULTIPLE_OF_QUANTITY_PRICE_BREAK_MIN", + "description": "Quantity rule increment must be a multiple of the quantity price break minimum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_MAXIMUM_IS_LESS_THAN_ONE", + "description": "Quantity rule maximum is less than one.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_MAXIMUM_NOT_A_MULTIPLE_OF_INCREMENT", + "description": "Quantity rule maximum is not a multiple of increment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_MAX_LOWER_THAN_QUANTITY_PRICE_BREAK_MIN", + "description": "Quantity rule maximum is less than the quantity price break minimum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_MINIMUM_GREATER_THAN_MAXIMUM", + "description": "Quantity rule minimum is greater than maximum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_MINIMUM_IS_LESS_THAN_ONE", + "description": "Quantity rule minimum is less than one.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_MINIMUM_NOT_A_MULTIPLE_OF_INCREMENT", + "description": "Quantity rule minimum is not a multiple of increment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_MIN_HIGHER_THAN_QUANTITY_PRICE_BREAK_MIN", + "description": "Quantity rule minimum is higher than the quantity price break minimum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_ADD_VARIANT_NOT_FOUND", + "description": "Quantity rule variant not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_DELETE_RULE_NOT_FOUND", + "description": "Quantity rule not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_RULE_DELETE_VARIANT_NOT_FOUND", + "description": "Quantity rule variant not found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityRule", + "description": "The quantity rule for the product variant in a given context.", + "fields": [ + { + "name": "increment", + "description": "The value that specifies the quantity increment between minimum and maximum of the rule.\nOnly quantities divisible by this value will be considered valid.\n\nThe increment must be lower than or equal to the minimum and the maximum, and both minimum and maximum\nmust be divisible by this value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDefault", + "description": "Whether the quantity rule fields match one increment, one minimum and no maximum.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximum", + "description": "An optional value that defines the highest allowed quantity purchased by the customer.\nIf defined, maximum must be lower than or equal to the minimum and must be a multiple of the increment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimum", + "description": "The value that defines the lowest allowed quantity purchased by the customer.\nThe minimum must be a multiple of the quantity rule's increment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originType", + "description": "Whether the values of the quantity rule were explicitly set.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "QuantityRuleOriginType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariant", + "description": "The product variant for which the quantity rule is applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityRuleConnection", + "description": "An auto-generated type for paginating through multiple QuantityRules.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRuleEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in QuantityRuleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRule", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityRuleEdge", + "description": "An auto-generated type which holds one QuantityRule and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of QuantityRuleEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "QuantityRuleInput", + "description": "The input fields for the per-order quantity rule to be applied on the product variant.", + "fields": null, + "inputFields": [ + { + "name": "increment", + "description": "The quantity increment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximum", + "description": "The maximum quantity.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minimum", + "description": "The minimum quantity.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "Product variant on which to apply the quantity rule.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "QuantityRuleOriginType", + "description": "The origin of quantity rule on a price list.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIXED", + "description": "Quantity rule is explicitly defined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELATIVE", + "description": "Quantity rule falls back to the relative rule.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityRuleUserError", + "description": "An error for a failed quantity rule operation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "QuantityRuleUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "QuantityRuleUserErrorCode", + "description": "Possible error codes that can be returned by `QuantityRuleUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_RULES", + "description": "Quantity rules can be associated only with company location catalogs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_INPUT_FOR_VARIANT", + "description": "Quantity rule inputs must be unique by variant id.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "Something went wrong when trying to save the quantity rule. Please try again later.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "Value must be greater than or equal to 1.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCREMENT_IS_GREATER_THAN_MINIMUM", + "description": "Increment must be lower than or equal to the minimum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCREMENT_NOT_A_MULTIPLE_OF_QUANTITY_PRICE_BREAK_MINIMUM", + "description": "Increment must be a multiple of all quantity price break minimums associated with this variant in the specified price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_IS_LOWER_THAN_QUANTITY_PRICE_BREAK_MINIMUM", + "description": "Maximum must be greater than or equal to all quantity price break minimums associated with this variant in the specified price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAXIMUM_NOT_MULTIPLE_OF_INCREMENT", + "description": "The maximum must be a multiple of the increment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINIMUM_IS_GREATER_THAN_MAXIMUM", + "description": "Minimum must be lower than or equal to the maximum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINIMUM_IS_HIGHER_THAN_QUANTITY_PRICE_BREAK_MINIMUM", + "description": "Minimum must be less than or equal to all quantity price break minimums associated with this variant in the specified price list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MINIMUM_NOT_MULTIPLE_OF_INCREMENT", + "description": "The minimum must be a multiple of the increment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_LIST_DOES_NOT_EXIST", + "description": "Price list does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_DOES_NOT_EXIST", + "description": "Product variant ID does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANT_QUANTITY_RULE_DOES_NOT_EXIST", + "description": "Quantity rule for variant associated with the price list provided does not exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityRulesAddPayload", + "description": "Return type for `quantityRulesAdd` mutation.", + "fields": [ + { + "name": "quantityRules", + "description": "The list of quantity rules that were added to or updated in the price list.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRule", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRuleUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QuantityRulesDeletePayload", + "description": "Return type for `quantityRulesDelete` mutation.", + "fields": [ + { + "name": "deletedQuantityRulesVariantIds", + "description": "A list of product variant IDs whose quantity rules were removed from the price list.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "QuantityRuleUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "QueryRoot", + "description": "The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start.", + "fields": [ + { + "name": "abandonedCheckouts", + "description": "List of abandoned checkouts. Includes checkouts that were recovered after being abandoned.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | The date and time (in [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the abandoned cart was created. |\n| email_state | string | Filter by `abandoned_email_state` value. Possible values: `sent`, `not_sent`, `scheduled` and `suppressed`. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| recovery_state | string | Possible values: `recovered` and `not_recovered`. |\n| status | string | Possible values: `open` and `closed`. |\n| updated_at | time | The date and time (in [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the abandoned cart was last updated. |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AbandonedCheckoutSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AbandonedCheckoutConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "abandonedCheckoutsCount", + "description": "Returns the count of abandoned checkouts for the given shop. Limited to a maximum of 10000.", + "args": [ + { + "name": "limit", + "description": "The upper bound on count value before returning a result.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | The date and time (in [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the abandoned cart was created. |\n| email_state | string | Filter by `abandoned_email_state` value. Possible values: `sent`, `not_sent`, `scheduled` and `suppressed`. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| recovery_state | string | Possible values: `recovered` and `not_recovered`. |\n| status | string | Possible values: `open` and `closed`. |\n| updated_at | time | The date and time (in [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the abandoned cart was last updated. |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of an existing saved search.\nThe search’s query string is used as the query argument.\nRefer to the [`SavedSearch`](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch) object.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "abandonment", + "description": "Returns an abandonment by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Abandonment to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Abandonment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "abandonmentByAbandonedCheckoutId", + "description": "Returns an Abandonment by the Abandoned Checkout ID.", + "args": [ + { + "name": "abandonedCheckoutId", + "description": "The ID of the Abandoned Checkout ID to query by.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Abandonment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "app", + "description": "Lookup an App by ID or return the currently authenticated App.", + "args": [ + { + "name": "id", + "description": "The ID to lookup the App by.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appByHandle", + "description": "Fetches app by handle.\nReturns null if the app doesn't exist.", + "args": [ + { + "name": "handle", + "description": "Handle of the App.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appByKey", + "description": "Fetches an app by its client ID.\nReturns null if the app doesn't exist.", + "args": [ + { + "name": "apiKey", + "description": "Client ID of the app.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appDiscountType", + "description": "An app discount type.", + "args": [ + { + "name": "functionId", + "description": "The ID for the function providing the app discount type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppDiscountType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appDiscountTypes", + "description": "A list of app discount types installed by apps.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppDiscountType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appInstallation", + "description": "Lookup an AppInstallation by ID or return the AppInstallation for the currently authenticated App.", + "args": [ + { + "name": "id", + "description": "ID used to lookup AppInstallation.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appInstallations", + "description": "A list of app installations. To use this query, you need to contact [Shopify Support](https://partners.shopify.com/current/support/) to grant your custom app the `read_apps` access scope. Public apps can't be granted this access scope.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "category", + "description": "The category of app installations to fetch.", + "type": { + "kind": "ENUM", + "name": "AppInstallationCategory", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privacy", + "description": "The privacy level of app installations to fetch.", + "type": { + "kind": "ENUM", + "name": "AppInstallationPrivacy", + "ofType": null + }, + "defaultValue": "PUBLIC", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AppInstallationSortKeys", + "ofType": null + }, + "defaultValue": "INSTALLED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppInstallationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "article", + "description": "Returns an Article resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Article to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Article", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "articleTags", + "description": "List of all article tags.", + "args": [ + { + "name": "limit", + "description": "The maximum number of tags to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sort", + "description": "Type of sort order.", + "type": { + "kind": "ENUM", + "name": "ArticleTagSort", + "ofType": null + }, + "defaultValue": "ALPHABETICAL", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "articles", + "description": "List of the shop's articles.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| author | string | Filter by the author of the article. |\n| blog_title | string |\n| created_at | time | Filter by the date and time when the article was created. | | | - `created_at:>'2020-10-21T23:39:20Z'`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| published_status | string | Filter by published status |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| updated_at | time | Filter by the date and time when the article was last updated. | | | - `updated_at:>'2020-10-21T23:39:20Z'`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ArticleSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ArticleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignedFulfillmentOrders", + "description": "The paginated list of fulfillment orders assigned to the shop locations owned by the app.\n\nAssigned fulfillment orders are fulfillment orders that are set to be fulfilled from locations\nmanaged by\n[fulfillment services](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService)\nthat are registered by the app.\nOne app (api_client) can host multiple fulfillment services on a shop.\nEach fulfillment service manages a dedicated location on a shop.\nAssigned fulfillment orders can have associated\n[fulfillment requests](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderRequestStatus),\nor might currently not be requested to be fulfilled.\n\nThe app must have the `read_assigned_fulfillment_orders`\n[access scope](https://shopify.dev/docs/api/usage/access-scopes)\nto be able to retrieve the fulfillment orders assigned to its locations.\n\nAll assigned fulfillment orders (except those with the `CLOSED` status) will be returned by default.\nPerform filtering with the `assignmentStatus` argument\nto receive only fulfillment orders that have been requested to be fulfilled.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignmentStatus", + "description": "The assigment status of the fulfillment orders that should be returned.\nIf `assignmentStatus` argument is not provided, then\nthe query will return all assigned fulfillment orders,\nexcept those that have the `CLOSED` status.", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderAssignmentStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationIds", + "description": "Returns fulfillment orders only for certain locations, specified by a list of location IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "automaticDiscount", + "description": "Returns an automatic discount resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DiscountAutomatic to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "DiscountAutomatic", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `automaticDiscountNode` instead." + }, + { + "name": "automaticDiscountNode", + "description": "Returns an automatic discount resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DiscountAutomaticNode to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountAutomaticNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "automaticDiscountNodes", + "description": "List of automatic discounts.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| status | string |\n| type | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AutomaticDiscountSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAutomaticNodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "automaticDiscountSavedSearches", + "description": "List of the shop's automatic discount saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "automaticDiscounts", + "description": "List of automatic discounts.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| status | string |\n| type | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "AutomaticDiscountSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAutomaticConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `automaticDiscountNodes` instead." + }, + { + "name": "availableCarrierServices", + "description": "Returns a list of activated carrier services and associated shop locations that support them.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCarrierServiceAndLocations", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "availableLocales", + "description": "A list of available locales.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Locale", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blog", + "description": "Returns a Blog resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Blog to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Blog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blogs", + "description": "List of the shop's blogs.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| handle | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| title | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "BlogSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BlogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "blogsCount", + "description": "Count of blogs.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| handle | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| title | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "businessEntities", + "description": "Returns a list of Business Entities associated with the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessEntity", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "businessEntity", + "description": "Returns a Business Entity by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Business Entity to return. Returns the primary Business Entity if not provided.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BusinessEntity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "carrierService", + "description": "Returns a `DeliveryCarrierService` object by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DeliveryCarrierService to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "carrierServices", + "description": "Retrieve a list of CarrierServices.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| active | boolean |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CarrierServiceSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCarrierServiceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cartTransforms", + "description": "List of Cart transform objects owned by the current API client.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransformConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cashTrackingSession", + "description": "Lookup a cash tracking session by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the CashTrackingSession to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CashTrackingSession", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cashTrackingSessions", + "description": "Returns a shop's cash tracking sessions for locations with a POS Pro subscription.\n\nTip: To query for cash tracking sessions in bulk, you can\n[perform a bulk operation](https://shopify.dev/docs/api/usage/bulk-operations/queries).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| closing_time | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_id | id |\n| opening_time | time |\n| point_of_sale_device_ids | string |\n| status | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CashTrackingSessionsSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CashTrackingSessionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalog", + "description": "Returns a Catalog resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Catalog to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Catalog", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogOperations", + "description": "Returns the most recent catalog operations for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ResourceOperation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogs", + "description": "The catalogs belonging to the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| app_id | id |\n| company_id | id |\n| company_location_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| managed_country_id | id |\n| market_id | id |\n| status | string |\n| title | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CatalogSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the catalogs to be returned.", + "type": { + "kind": "ENUM", + "name": "CatalogType", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CatalogConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogsCount", + "description": "The count of catalogs belonging to the shop. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| app_id | id |\n| company_id | id |\n| company_location_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| managed_country_id | id |\n| market_id | id |\n| status | string |\n| title | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the catalogs to be returned.", + "type": { + "kind": "ENUM", + "name": "CatalogType", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channel", + "description": "Lookup a channel by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Channel to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `publication` instead." + }, + { + "name": "channels", + "description": "List of the active sales channels.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChannelConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publications` instead." + }, + { + "name": "checkoutBranding", + "description": "Returns the visual customizations for checkout for a given checkout profile.\n\nTo learn more about updating checkout branding settings, refer to the\n[checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert)\nmutation and the checkout branding [tutorial](https://shopify.dev/docs/apps/checkout/styling).", + "args": [ + { + "name": "checkoutProfileId", + "description": "A globally-unique identifier.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CheckoutBranding", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checkoutProfile", + "description": "A checkout profile on a shop.", + "args": [ + { + "name": "id", + "description": "The ID of the checkout profile.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CheckoutProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "checkoutProfiles", + "description": "List of checkout profiles on a shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| is_published | boolean |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CheckoutProfileSortKeys", + "ofType": null + }, + "defaultValue": "UPDATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CheckoutProfileConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeDiscountNode", + "description": "Returns a code discount resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DiscountCodeNode to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeDiscountNodeByCode", + "description": "Returns a code discount identified by its discount code.", + "args": [ + { + "name": "code", + "description": "The case-insensitive code of the `DiscountCodeNode` to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountCodeNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeDiscountNodes", + "description": "List of code discounts. Special fields for query params:\n * status: active, expired, scheduled\n * discount_type: bogo, fixed_amount, free_shipping, percentage.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| combines_with | string |\n| created_at | time |\n| discount_type | string |\n| ends_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| starts_at | time |\n| status | string |\n| times_used | integer |\n| title | string |\n| type | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CodeDiscountSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountCodeNodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "codeDiscountSavedSearches", + "description": "List of the shop's code discount saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collection", + "description": "Returns a Collection resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Collection to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionByHandle", + "description": "Return a collection by its handle.", + "args": [ + { + "name": "handle", + "description": "The handle of the collection.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionRulesConditions", + "description": "Lists all rules that can be used to create smart collections.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionRuleConditions", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionSavedSearches", + "description": "Returns a list of the shop's collection saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collections", + "description": "Returns a list of collections.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| collection_type | string | | - `custom`
- `smart` |\n| handle | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| product_id | id | Filter by collections containing a product by its ID. |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the collection was published to the Online Store. |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| title | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CollectionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionsCount", + "description": "Count of collections. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| collection_type | string | | - `custom`
- `smart` |\n| handle | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| product_id | id | Filter by collections containing a product by its ID. |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the collection was published to the Online Store. |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| title | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of an existing saved search.\nThe search’s query string is used as the query argument.\nRefer to the [`SavedSearch`](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch) object.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comment", + "description": "Returns a Comment resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Comment to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comments", + "description": "List of the shop's comments.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| published_status | string | Filter by published status | - `any`
- `published`
- `unpublished` | | - `published_status:any`
- `published_status:published`
- `published_status:unpublished` |\n| status | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CommentSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companies", + "description": "Returns the list of companies in the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| active_customers_count | integer |\n| created_at | time |\n| external_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| name | string |\n| since_date | time |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanySortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companiesCount", + "description": "The number of companies for a shop.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "Returns a `Company` object by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Company to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Company", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContact", + "description": "Returns a `CompanyContact` object by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the CompanyContact to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContact", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyContactRole", + "description": "Returns a `CompanyContactRole` object by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the CompanyContactRole to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyContactRole", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocation", + "description": "Returns a `CompanyLocation` object by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the CompanyLocation to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CompanyLocation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "companyLocations", + "description": "Returns the list of company locations in the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| company_id | id |\n| created_at | time |\n| external_id | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| ids | string |\n| name | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "CompanyLocationSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CompanyLocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentAppInstallation", + "description": "Return the AppInstallation for the currently authenticated App.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppInstallation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentBulkOperation", + "description": "Returns the current app's most recent BulkOperation. Apps can run one bulk query and one bulk mutation operation at a time, by shop.", + "args": [ + { + "name": "type", + "description": "The current bulk operation's type.", + "type": { + "kind": "ENUM", + "name": "BulkOperationType", + "ofType": null + }, + "defaultValue": "QUERY", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BulkOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentStaffMember", + "description": "The staff member making the API request.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "Returns a Customer resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Customer to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccountPage", + "description": "Returns a customer account page.", + "args": [ + { + "name": "id", + "description": "The ID of the CustomerAccountPage to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "CustomerAccountPage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccountPages", + "description": "List of the shop's customer account pages.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerAccountPageConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerMergeJobStatus", + "description": "Returns the status of a customer merge request job.", + "args": [ + { + "name": "jobId", + "description": "The ID of the job performing the customer merge request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerMergeRequest", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerMergePreview", + "description": "Returns a preview of a customer merge request.", + "args": [ + { + "name": "customerOneId", + "description": "The ID of the first customer that will be merged.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerTwoId", + "description": "The ID of the second customer that will be merged.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "overrideFields", + "description": "The fields to override the default customer merge rules.", + "type": { + "kind": "INPUT_OBJECT", + "name": "CustomerMergeOverrideFields", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerMergePreview", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethod", + "description": "Returns a CustomerPaymentMethod resource by its ID.", + "args": [ + { + "name": "id", + "description": "The ID of the CustomerPaymentMethod to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "showRevoked", + "description": "Whether to show the customer's revoked payment method.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSegmentMembers", + "description": "The list of members, such as customers, that's associated with an individual segment.\nThe maximum page size is 1000.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "The query that's used to filter the members. The query is composed of a combination of conditions on facts about customers such as `email_subscription_status = 'SUBSCRIBED'` with [this syntax](https://shopify.dev/api/shopifyql/segment-query-language-reference).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryId", + "description": "The ID of the segment members query.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the list. The sorting behaviour defaults to ascending order.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentId", + "description": "The ID of the segment.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the list by a given key.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timezone", + "description": "The timezone that's used to interpret relative date arguments. The timezone defaults to UTC if the timezone isn't provided.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerSegmentMemberConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSegmentMembersQuery", + "description": "Returns a segment members query resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the CustomerSegmentMembersQuery to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerSegmentMembersQuery", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSegmentMembership", + "description": "Whether a member, which is a customer, belongs to a segment.", + "args": [ + { + "name": "customerId", + "description": "The ID of the customer that has the membership.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentIds", + "description": "The segments to evaluate for the given customer.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentMembershipResponse", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customers", + "description": "Returns a list of customers.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| email | string | The customer's email address, used to communicate information about orders and for the purposes of email marketing campaigns. You can use a wildcard value to filter the query by customers who have an email address specified. | | | - `email:bo.wang@example.com`
- `email:*` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| phone | string | The phone number of the customer, used to communicate information about orders and for the purposes of SMS marketing campaigns. You can use a wildcard value to filter the query by customers who have a phone number specified. | | | - `phone:+18005550100`
- `phone:*` |\n| updated_at | time | The date and time, matching a whole day, when the customer's information was last updated. | | | - `updated_at:2024-01-01T00:00:00Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CustomerSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customersCount", + "description": "The number of customers.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deletionEvents", + "description": "The paginated list of deletion events.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| occurred_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DeletionEventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subjectTypes", + "description": "List of subject types to filter by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DeletionEventSubjectType", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeletionEventConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `events` instead." + }, + { + "name": "deliveryCustomization", + "description": "The delivery customization.", + "args": [ + { + "name": "id", + "description": "The ID of the delivery customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryCustomization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryCustomizations", + "description": "The delivery customizations.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| enabled | boolean |\n| function_id | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryCustomizationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryProfile", + "description": "Returns a Delivery Profile resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DeliveryProfile to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryProfile", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryProfiles", + "description": "Returns a list of saved delivery profiles.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantOwnedOnly", + "description": "If `true`, returns only delivery profiles that were created by the merchant.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DeliveryProfileConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPromiseProvider", + "description": "Lookup a delivery promise provider.", + "args": [ + { + "name": "locationId", + "description": "The ID of the location associated with the delivery promise provider.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeliveryPromiseProvider", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliverySettings", + "description": "Returns the shop-wide shipping settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliverySetting", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodesCount", + "description": "The total number of discount codes for the shop.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| times_used | integer |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountNode", + "description": "Returns a discount resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DiscountNode to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountNodes", + "description": "List of discounts.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| combines_with | string | | - `PRODUCT_DISCOUNTS`
- `ORDER_DISCOUNTS`
- `SHIPPING_DISCOUNTS` |\n| discount_class | string | | - `PRODUCT`
- `ORDER`
- `SHIPPING` |\n| discount_type | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| method | string |\n| starts_at | time |\n| status | string |\n| times_used | integer |\n| title | string |\n| type | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountNodeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountNodesCount", + "description": "The total number of discounts for the shop. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| combines_with | string | | - `PRODUCT_DISCOUNTS`
- `ORDER_DISCOUNTS`
- `SHIPPING_DISCOUNTS` |\n| discount_class | string | | - `PRODUCT`
- `ORDER`
- `SHIPPING` |\n| discount_type | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| method | string |\n| starts_at | time |\n| status | string |\n| times_used | integer |\n| title | string |\n| type | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of an existing saved search.\nThe search’s query string is used as the query argument.\nRefer to the [`SavedSearch`](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch) object.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountRedeemCodeBulkCreation", + "description": "Returns a bulk code creation resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DiscountRedeemCodeBulkCreation to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DiscountRedeemCodeBulkCreation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountRedeemCodeSavedSearches", + "description": "List of the shop's redeemed discount code saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| times_used | integer |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DiscountCodeSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dispute", + "description": "Returns dispute details based on ID.", + "args": [ + { + "name": "id", + "description": "The ID of the ShopifyPaymentsDispute to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDispute", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disputeEvidence", + "description": "Returns dispute evidence details based on ID.", + "args": [ + { + "name": "id", + "description": "The ID of the ShopifyPaymentsDisputeEvidence to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeEvidence", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disputes", + "description": "All disputes related to the Shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| initiated_at | time |\n| status | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "domain", + "description": "Lookup a Domain by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Domain to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Domain", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrder", + "description": "Returns a DraftOrder resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DraftOrder to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderSavedSearches", + "description": "List of the shop's draft order saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrderTag", + "description": "Returns a DraftOrderTag resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the DraftOrderTag to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DraftOrderTag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrders", + "description": "List of saved draft orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| customer_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| source | string |\n| status | string |\n| tag | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DraftOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "event", + "description": "Get a single event by its id.", + "args": [ + { + "name": "id", + "description": "The ID of the event.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Event", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "events", + "description": "The paginated list of events associated with the store.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "EventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "EventConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eventsCount", + "description": "Count of events. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| action | string | The action that occured. | | | - `action:create` |\n| comments | boolean | Whether or not to include [comment-events](https://shopify.dev/api/admin-graphql/latest/objects/CommentEvent) in your search, passing `false` will exclude comment-events, any other value will include comment-events. | | | - `false`
- `true` |\n| created_at | time | Filter by the date and time when the event happened. | | | - `created_at:>2020-10-21`
- `created_at: - `id:>=1234`
- `id:<=1234` |\n| subject_type | string | The resource type affected by this event, See [EventSubjectType](https://shopify.dev/api/admin-graphql/latest/enums/EventSubjectType) for possible values. | | | - `COMPANY` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileSavedSearches", + "description": "A list of the shop's file saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "files", + "description": "Returns a paginated list of files that have been uploaded to Shopify.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| filename | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| ids | string |\n| media_type | string |\n| original_upload_size | float |\n| product_id | string |\n| status | string |\n| updated_at | time |\n| used_in | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "FileSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillment", + "description": "Returns a Fulfillment resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Fulfillment to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentConstraintRules", + "description": "The fulfillment constraint rules that belong to a shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentConstraintRule", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrder", + "description": "Returns a Fulfillment order resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the FulfillmentOrder to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrders", + "description": "The paginated list of all fulfillment orders.\nThe returned fulfillment orders are filtered according to the\n[fulfillment order access scopes](https://shopify.dev/api/admin-graphql/latest/objects/fulfillmentorder#api-access-scopes)\ngranted to the app.\n\nUse this query to retrieve fulfillment orders assigned to merchant-managed locations,\nthird-party fulfillment service locations, or all kinds of locations together.\n\nFor fetching only the fulfillment orders assigned to the app's locations, use the\n[assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders)\nconnection.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeClosed", + "description": "Whether to include closed fulfillment orders.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| assigned_location_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| status | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentService", + "description": "Returns a FulfillmentService resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the FulfillmentService to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCard", + "description": "Returns a gift card resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the GiftCard to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "GiftCard", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCards", + "description": "Returns a list of gift cards.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. Searched fields: code. |\n| balance_status | string | | - `full`
- `partial`
- `empty`
- `full_or_partial` | | - `balance_status:full` |\n| created_at | time | | | | - `created_at:>=2020-01-01T12:00:00Z` |\n| expires_on | date | | | | - `expires_on:>=2020-01-01` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| initial_value | string | | | | - `initial_value:>=100` |\n| source | string | | - `manual`
- `purchased`
- `api_client` | | - `source:manual` |\n| status | string | | - `disabled`
- `enabled`
- `expired`
- `expiring` | | - `status:disabled OR status:expired` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "GiftCardSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "GiftCardConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCardsCount", + "description": "The total number of gift cards issued for the shop. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. Searched fields: code. |\n| balance_status | string | | - `full`
- `partial`
- `empty`
- `full_or_partial` | | - `balance_status:full` |\n| created_at | time | | | | - `created_at:>=2020-01-01T12:00:00Z` |\n| expires_on | date | | | | - `expires_on:>=2020-01-01` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| initial_value | string | | | | - `initial_value:>=100` |\n| source | string | | - `manual`
- `purchased`
- `api_client` | | - `source:manual` |\n| status | string | | - `disabled`
- `enabled`
- `expired`
- `expiring` | | - `status:disabled OR status:expired` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of an existing saved search.\nThe search’s query string is used as the query argument.\nRefer to the [`SavedSearch`](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch) object.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItem", + "description": "Returns an\n[InventoryItem](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem)\nobject by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the InventoryItem to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItems", + "description": "Returns a list of inventory items.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| sku | string | Filter by the inventory item [`sku`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryLevel", + "description": "Returns an\n[InventoryLevel](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryLevel)\nobject by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the InventoryLevel to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "InventoryLevel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryProperties", + "description": "General inventory properties for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryProperties", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "job", + "description": "Returns a Job resource by ID. Used to check the status of internal jobs and any applicable changes.", + "args": [ + { + "name": "id", + "description": "ID of the job to query.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "Returns an inventory Location resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the location to return. If no ID is provided, the primary location of the Shop is returned.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": "Returns a list of active inventory locations.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeInactive", + "description": "Whether to include the locations that are deactivated.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeLegacy", + "description": "Whether to include the legacy locations of fulfillment services.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| active | string |\n| address1 | string |\n| address2 | string |\n| city | string |\n| country | string |\n| created_at | time |\n| geolocated | boolean |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| legacy | boolean |\n| name | string |\n| pickup_in_store | string | | - `enabled`
- `disabled` |\n| province | string |\n| zip | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "LocationSortKeys", + "ofType": null + }, + "defaultValue": "NAME", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsAvailableForDeliveryProfiles", + "description": "Returns a list of all origin locations available for a delivery profile.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locationsAvailableForDeliveryProfilesConnection` instead." + }, + { + "name": "locationsAvailableForDeliveryProfilesConnection", + "description": "Returns a list of all origin locations available for a delivery profile.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationsCount", + "description": "Returns the count of locations for the given shop. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| active | string |\n| address1 | string |\n| address2 | string |\n| city | string |\n| country | string |\n| created_at | time |\n| geolocated | boolean |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| legacy | boolean |\n| name | string |\n| pickup_in_store | string | | - `enabled`
- `disabled` |\n| province | string |\n| zip | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "manualHoldsFulfillmentOrders", + "description": "Returns a list of fulfillment orders that are on hold.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "The query conditions used to filter fulfillment orders. Only fulfillment orders corresponding to orders matching the query will be counted.\nSupported filter parameters:\n - `order_financial_status`\n - `order_risk_level`\n - `shipping_address_coordinates_validated`\n\nSee the detailed [search syntax](https://shopify.dev/api/usage/search-syntax)\nfor more information about using filters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "Returns a market resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Market to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketByGeography", + "description": "Returns the applicable market for a customer based on where they are in the world.", + "args": [ + { + "name": "countryCode", + "description": "The code for the country where the customer is.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizableResource", + "description": "A resource that can have localized values for different markets.", + "args": [ + { + "name": "resourceId", + "description": "Find a market localizable resource by ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketLocalizableResource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizableResources", + "description": "Resources that can have localized values for different markets.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceType", + "description": "Return only resources of a type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MarketLocalizableResourceType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalizableResourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketLocalizableResourcesByIds", + "description": "Resources that can have localized values for different markets.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceIds", + "description": "Return only resources for given IDs.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketLocalizableResourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivities", + "description": "A list of marketing activities associated with the marketing app.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivityIds", + "description": "The list of marketing activity IDs to filter by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| app_id | id |\n| app_name | string | A comma-separated list of app names. |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| marketing_campaign_id | id |\n| scheduled_to_end_at | time |\n| scheduled_to_start_at | time |\n| tactic | string |\n| title | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteIds", + "description": "The list of remote IDs associated with marketing activities to filter by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MarketingActivitySortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "utm", + "description": "The UTM parameters associated with marketing activities to filter by.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UTMInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingActivityConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingActivity", + "description": "Returns a MarketingActivity resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the MarketingActivity to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingActivity", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingEvent", + "description": "Returns a MarketingEvent resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the MarketingEvent to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MarketingEvent", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketingEvents", + "description": "A list of marketing events associated with the marketing app.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| app_id | id |\n| description | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| started_at | time |\n| type | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MarketingEventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingEventConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "markets", + "description": "The markets configured for the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menu", + "description": "Returns a Menu resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Menu to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Menu", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "menus", + "description": "The shop's menus.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| title | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MenuSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MenuConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinition", + "description": "Returns a metafield definition by identifier.", + "args": [ + { + "name": "id", + "description": "The ID of the MetafieldDefinition to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitionTypes", + "description": "Each metafield definition has a type, which defines the type of information that it can store.\nThis type is enforced across every instance of the resource that owns the metafield definition.\n\nRefer to the [list of supported metafield types](https://shopify.dev/apps/metafields/types).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "Returns a list of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "constraintStatus", + "description": "Filter metafield definitions based on whether they are constrained.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionConstraintStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "constraintSubtype", + "description": "Filter metafield definitions based on whether they apply to a given resource subtype.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionConstraintSubtypeIdentifier", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "Filter metafield definition by key.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definition by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerType", + "description": "Filter the metafield definition by the specific owner type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter the metafield definition by the pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldStorefrontVisibilities", + "description": "List of the `MetafieldStorefrontVisibility` records.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the visible metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibilityConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This query will be removed in a future version. Use the `access.storefront` field for nodes inside the `metafieldDefinitions` query instead.\n" + }, + { + "name": "metafieldStorefrontVisibility", + "description": "Returns a `MetafieldStorefrontVisibility` record by ID. A `MetafieldStorefrontVisibility` record lists the\nmetafields to make visible in the Storefront API.", + "args": [ + { + "name": "id", + "description": "The ID of the MetafieldStorefrontVisibility to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetafieldStorefrontVisibility", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This query will be removed in a future version. Use the `access.storefront` field inside the `metafieldDefinition` query instead.\n" + }, + { + "name": "metaobject", + "description": "Retrieves a metaobject by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the metaobject to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectByHandle", + "description": "Retrieves a metaobject by handle.", + "args": [ + { + "name": "handle", + "description": "The identifier of the metaobject to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetaobjectHandleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metaobject", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectDefinition", + "description": "Retrieves a metaobject definition by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the metaobject to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectDefinitionByType", + "description": "Finds a metaobject definition by type.", + "args": [ + { + "name": "type", + "description": "The type of the metaobject definition to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjectDefinitions", + "description": "All metaobject definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metaobjects", + "description": "All metaobjects for the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| display_name | string |\n| handle | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "The key of a field to sort with. Supports \"id\", \"type\", \"updated_at\", and \"display_name\".", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the metaobjects to query.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mobilePlatformApplication", + "description": "Return a mobile platform application by its ID.", + "args": [ + { + "name": "id", + "description": "ID of the mobile platform app.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "MobilePlatformApplication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mobilePlatformApplications", + "description": "List the mobile platform applications.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MobilePlatformApplicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "Returns a specific node (any object that implements the\n[Node](https://shopify.dev/api/admin-graphql/latest/interfaces/Node)\ninterface) by ID, in accordance with the\n[Relay specification](https://relay.dev/docs/guides/graphql-server-specification/#object-identification).\nThis field is commonly used for refetching an object.", + "args": [ + { + "name": "id", + "description": "The ID of the Node to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "Returns the list of nodes (any objects that implement the\n[Node](https://shopify.dev/api/admin-graphql/latest/interfaces/Node)\ninterface) with the given IDs, in accordance with the\n[Relay specification](https://relay.dev/docs/guides/graphql-server-specification/#object-identification).", + "args": [ + { + "name": "ids", + "description": "The IDs of the Nodes to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onlineStore", + "description": "The shop's online store channel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStore", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "Returns an Order resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Order to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderPaymentStatus", + "description": "Returns a payment status by payment reference ID. Used to check the status of a deferred payment.", + "args": [ + { + "name": "orderId", + "description": "ID of the order for which the payment was initiated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentReferenceId", + "description": "Unique identifier returned by orderCreatePayment.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OrderPaymentStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderSavedSearches", + "description": "List of the shop's order saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "Returns a list of orders placed in the store.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| cart_token | string | Filter by the cart token's unique value, which references the cart that's associated with an order. | | | - `cart_token:abc123` |\n| channel | string | Filter by the channel information [`handle`](https://shopify.dev/api/admin-graphql/latest/objects/ChannelInformation#field-channeldefinition) (`ChannelInformation.channelDefinition.handle`) field. | | | - `channel:web`
- `channel:web,pos` |\n| channel_id | id | Filter by the channel [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-id) field. | | | - `channel_id:123` |\n| chargeback_status | string | Filter by the order's chargeback status. A chargeback occurs when a customer questions the legitimacy of a charge with their financial institution. | - `accepted`
- `charge_refunded`
- `lost`
- `needs_response`
- `under_review`
- `won` | | - `chargeback_status:accepted` |\n| checkout_token | string | Filter by the checkout token's unique value, which references the checkout that's associated with an order. | | | - `checkout_token:abc123` |\n| confirmation_number | string | Filter by the randomly generated alpha-numeric identifier for an order that can be displayed to the customer instead of the sequential order name. This value isn't guaranteed to be unique. | | | - `confirmation_number:ABC123` |\n| created_at | time | Filter by the date and time when the order was created in Shopify's system. | | | - `created_at:2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| credit_card_last4 | string | Filter by the last four digits of the credit card that was used to pay for the order. | | | - `credit_card_last4:1234` |\n| customer_id | id | Filter orders by the customer [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Customer#field-id) field. | | | - `customer_id:123` |\n| delivery_method | string | Filter by the delivery [`methodType`](https://shopify.dev/api/admin-graphql/2024-07/objects/DeliveryMethod#field-methodtype) field. | - `shipping`
- `pick-up`
- `retail`
- `local`
- `pickup-point`
- `none` | | - `delivery_method:shipping` |\n| discount_code | string | Filter by the case-insensitive discount code that was applied to the order at checkout. Maximum characters: 255. | | | - `discount_code:ABC123` |\n| email | string | Filter by the email address that's associated with the order. | | | - `email:example@shopify.com` |\n| financial_status | string | Filter by the order [`displayFinancialStatus`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-displayfinancialstatus) field. | - `paid`
- `pending`
- `authorized`
- `partially_paid`
- `partially_refunded`
- `refunded`
- `voided`
- `expired` | | - `financial_status:authorized` |\n| fraud_protection_level | string | Filter by the level of fraud protection that's applied to the order. | - `fully_protected`
- `partially_protected`
- `not_protected`
- `pending`
- `not_eligible`
- `not_available` | | - `fraud_protection_level:fully_protected` |\n| fulfillment_location_id | id | Filter by the fulfillment location [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment#field-location) (`Fulfillment.location.id`) field. | | | - `fulfillment_location_id:123` |\n| fulfillment_status | string | Filter by the order's fulfillment status. | - `unfulfilled`
- `fulfilled`
- `partial`
- `scheduled`
- `on_hold`
- `request_declined` | | - `fulfillment_status:fulfilled` |\n| gateway | string | Filter by the order [`paymentGatewayNames`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-paymentgatewaynames) field. | | | - `gateway:shopify_payments` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_id | id | Filter by the ID of the location that's associated with the order. | | | - `location_id:123` |\n| name | string | Filter by the order [`name`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-name) field. | | | - `name:1001-A` |\n| payment_id | string | Filter by the ID of the payment that's associated with the order. | | | - `payment_id:abc123` |\n| payment_provider_id | id | Filter by the ID of the payment provider that's associated with the order. | | | - `payment_provider_id:123` |\n| po_number | string | Filter by the order [`poNumber`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-ponumber) field. | | | - `po_number:P01001` |\n| processed_at | time | Filter by the order [`processedAt`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-processedat) field. | | | - `processed_at:2021-01-01T00:00:00Z` |\n| reference_location_id | id | Filter by the ID of a location that's associated with the order, such as locations from fulfillments, refunds, or the shop's primary location. | | | - `reference_location_id:123` |\n| return_status | string | Filter by the order's return status. | - `open`
- `requested`
- `declined`
- `canceled`
- `closed` | | - `return_status:open` |\n| risk_level | string | Filter by the order risk assessment [`riskLevel`](https://shopify.dev/api/admin-graphql/latest/objects/OrderRiskAssessment#field-risklevel) field. | - `high`
- `medium`
- `low`
- `none`
- `pending` | | - `risk_level:high` |\n| sales_channel | string | Filter by the sales channel that the order is attributed to. | | | - `sales_channel: some_sales_channel` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:ABC123` |\n| source_identifier | string | Filter by the ID of the order placed on the originating platform, such as a unique POS or third-party identifier. This value doesn't correspond to the Shopify ID that's generated from a completed draft order. | | | - `source_identifier:1234-12-1000` |\n| source_name | string | Filter by the name of the originating platform that's associated with the checkout for the order. | | | - `source_name:web`
- `source_name:shopify_draft_order` |\n| status | string | Filter by the order status. | - `open`
- `closed`
- `cancelled`
- `not_closed` | | - `status:open` |\n| subtotal_line_items_quantity | string |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| test | boolean | Filter by test orders. Test orders are made using the [Shopify Bogus Gateway](https://help.shopify.com/manual/checkout-settings/test-orders) or a payment provider with test mode enabled. | | | - `test:true` |\n| updated_at | time | Filter by the date and time when the order was last updated in Shopify's system. | | | - `updated_at:2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "OrderSortKeys", + "ofType": null + }, + "defaultValue": "PROCESSED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ordersCount", + "description": "Returns the count of orders for the given shop. Limited to a maximum of 10000.", + "args": [ + { + "name": "limit", + "description": "The upper bound on count value before returning a result.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| cart_token | string | Filter by the cart token's unique value, which references the cart that's associated with an order. | | | - `cart_token:abc123` |\n| channel | string | Filter by the channel information [`handle`](https://shopify.dev/api/admin-graphql/latest/objects/ChannelInformation#field-channeldefinition) (`ChannelInformation.channelDefinition.handle`) field. | | | - `channel:web`
- `channel:web,pos` |\n| channel_id | id | Filter by the channel [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-id) field. | | | - `channel_id:123` |\n| chargeback_status | string | Filter by the order's chargeback status. A chargeback occurs when a customer questions the legitimacy of a charge with their financial institution. | - `accepted`
- `charge_refunded`
- `lost`
- `needs_response`
- `under_review`
- `won` | | - `chargeback_status:accepted` |\n| checkout_token | string | Filter by the checkout token's unique value, which references the checkout that's associated with an order. | | | - `checkout_token:abc123` |\n| confirmation_number | string | Filter by the randomly generated alpha-numeric identifier for an order that can be displayed to the customer instead of the sequential order name. This value isn't guaranteed to be unique. | | | - `confirmation_number:ABC123` |\n| created_at | time | Filter by the date and time when the order was created in Shopify's system. | | | - `created_at:2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| credit_card_last4 | string | Filter by the last four digits of the credit card that was used to pay for the order. | | | - `credit_card_last4:1234` |\n| customer_id | id | Filter orders by the customer [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Customer#field-id) field. | | | - `customer_id:123` |\n| delivery_method | string | Filter by the delivery [`methodType`](https://shopify.dev/api/admin-graphql/2024-07/objects/DeliveryMethod#field-methodtype) field. | - `shipping`
- `pick-up`
- `retail`
- `local`
- `pickup-point`
- `none` | | - `delivery_method:shipping` |\n| discount_code | string | Filter by the case-insensitive discount code that was applied to the order at checkout. Maximum characters: 255. | | | - `discount_code:ABC123` |\n| email | string | Filter by the email address that's associated with the order. | | | - `email:example@shopify.com` |\n| financial_status | string | Filter by the order [`displayFinancialStatus`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-displayfinancialstatus) field. | - `paid`
- `pending`
- `authorized`
- `partially_paid`
- `partially_refunded`
- `refunded`
- `voided`
- `expired` | | - `financial_status:authorized` |\n| fraud_protection_level | string | Filter by the level of fraud protection that's applied to the order. | - `fully_protected`
- `partially_protected`
- `not_protected`
- `pending`
- `not_eligible`
- `not_available` | | - `fraud_protection_level:fully_protected` |\n| fulfillment_location_id | id | Filter by the fulfillment location [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment#field-location) (`Fulfillment.location.id`) field. | | | - `fulfillment_location_id:123` |\n| fulfillment_status | string | Filter by the order's fulfillment status. | - `unfulfilled`
- `fulfilled`
- `partial`
- `scheduled`
- `on_hold`
- `request_declined` | | - `fulfillment_status:fulfilled` |\n| gateway | string | Filter by the order [`paymentGatewayNames`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-paymentgatewaynames) field. | | | - `gateway:shopify_payments` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_id | id | Filter by the ID of the location that's associated with the order. | | | - `location_id:123` |\n| name | string | Filter by the order [`name`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-name) field. | | | - `name:1001-A` |\n| payment_id | string | Filter by the ID of the payment that's associated with the order. | | | - `payment_id:abc123` |\n| payment_provider_id | id | Filter by the ID of the payment provider that's associated with the order. | | | - `payment_provider_id:123` |\n| po_number | string | Filter by the order [`poNumber`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-ponumber) field. | | | - `po_number:P01001` |\n| processed_at | time | Filter by the order [`processedAt`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-processedat) field. | | | - `processed_at:2021-01-01T00:00:00Z` |\n| reference_location_id | id | Filter by the ID of a location that's associated with the order, such as locations from fulfillments, refunds, or the shop's primary location. | | | - `reference_location_id:123` |\n| return_status | string | Filter by the order's return status. | - `open`
- `requested`
- `declined`
- `canceled`
- `closed` | | - `return_status:open` |\n| risk_level | string | Filter by the order risk assessment [`riskLevel`](https://shopify.dev/api/admin-graphql/latest/objects/OrderRiskAssessment#field-risklevel) field. | - `high`
- `medium`
- `low`
- `none`
- `pending` | | - `risk_level:high` |\n| sales_channel | string | Filter by the sales channel that the order is attributed to. | | | - `sales_channel: some_sales_channel` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:ABC123` |\n| source_identifier | string | Filter by the ID of the order placed on the originating platform, such as a unique POS or third-party identifier. This value doesn't correspond to the Shopify ID that's generated from a completed draft order. | | | - `source_identifier:1234-12-1000` |\n| source_name | string | Filter by the name of the originating platform that's associated with the checkout for the order. | | | - `source_name:web`
- `source_name:shopify_draft_order` |\n| status | string | Filter by the order status. | - `open`
- `closed`
- `cancelled`
- `not_closed` | | - `status:open` |\n| subtotal_line_items_quantity | string |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| test | boolean | Filter by test orders. Test orders are made using the [Shopify Bogus Gateway](https://help.shopify.com/manual/checkout-settings/test-orders) or a payment provider with test mode enabled. | | | - `test:true` |\n| updated_at | time | Filter by the date and time when the order was last updated in Shopify's system. | | | - `updated_at:2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of an existing saved search.\nThe search’s query string is used as the query argument.\nRefer to the [`SavedSearch`](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch) object.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "page", + "description": "Returns a Page resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Page to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Page", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pages", + "description": "List of the shop's pages.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pagesCount", + "description": "Count of pages.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCustomization", + "description": "The payment customization.", + "args": [ + { + "name": "id", + "description": "The ID of the payment customization.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PaymentCustomization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentCustomizations", + "description": "The payment customizations.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| enabled | boolean |\n| function_id | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentCustomizationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentTermsTemplates", + "description": "The list of payment terms templates eligible for all shops and users.", + "args": [ + { + "name": "paymentTermsType", + "description": "The payment terms type to filter the payment terms templates list.", + "type": { + "kind": "ENUM", + "name": "PaymentTermsType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentTermsTemplate", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pendingOrdersCount", + "description": "The number of pendings orders. Limited to a maximum of 10000.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceList", + "description": "Returns a price list resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the `PriceList` to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PriceList", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "priceLists", + "description": "All price lists for a shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "PriceListSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PriceListConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryMarket", + "description": "The primary market of the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by ID.\nPrivate metafields are accessible only by the application that created them.", + "args": [ + { + "name": "id", + "description": "The ID of the PrivateMetafield to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "Returns a list of private metafields associated to a resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "owner", + "description": "Retrieve the private metafields of a certain resource, specified by the resource ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "product", + "description": "Returns a Product resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Product to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productByHandle", + "description": "Return a product by its handle.", + "args": [ + { + "name": "handle", + "description": "A unique string that identifies the product. Handles are automatically generated based on the product's title, and are always lowercase. Whitespace and special characters are replaced with a hyphen: `-`. If there are multiple consecutive whitespace or special characters, then they're replaced with a single hyphen. Whitespace or special characters at the beginning are removed. If a duplicate product title is used, then the handle is auto-incremented by one. For example, if you had two products called `Potion`, then their handles would be `potion` and `potion-1`. After a product has been created, changing the product title doesn't update the handle.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDuplicateJob", + "description": "Returns the product duplicate job.", + "args": [ + { + "name": "id", + "description": "An ID of a product duplicate job to fetch.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductDuplicateJob", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productFeed", + "description": "Returns a ProductFeed resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the ProductFeed to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductFeed", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productFeeds", + "description": "The product feeds for the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductFeedConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productOperation", + "description": "Returns a ProductOperation resource by ID.\n\nThis can be used to query the\n[ProductSetOperation](https://shopify.dev/api/admin-graphql/current/objects/ProductSetOperation), using\nthe ID that was returned\n[when the product was created or updated](https://shopify.dev/api/admin/migrate/new-product-model/sync-data#create-a-product-with-variants-and-options-asynchronously)\nby the\n[ProductSet](https://shopify.dev/api/admin-graphql/current/mutations/productSet) mutation.\n\nThe `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`.\n\nThe `product` field provides the details of the created or updated product.\n\nFor the\n[ProductSetOperation](https://shopify.dev/api/admin-graphql/current/objects/ProductSetOperation), the\n`userErrors` field provides mutation errors that occurred during the operation.", + "args": [ + { + "name": "id", + "description": "The ID of the ProductOperation to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "INTERFACE", + "name": "ProductOperation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productResourceFeedback", + "description": "Returns the product resource feedback for the currently authenticated app.", + "args": [ + { + "name": "id", + "description": "The product associated with the resource feedback.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductResourceFeedback", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productSavedSearches", + "description": "Returns a list of the shop's product saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariant", + "description": "Returns a ProductVariant resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the ProductVariant to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ProductVariant", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "Returns a list of product variants.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| barcode | string | Filter by the product variant [`barcode`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-barcode) field. | | | - `barcode:ABC-abc-123` |\n| collection | string | Filter by the [ID of the collection](https://shopify.dev/api/admin-graphql/latest/objects/Collection#field-id) that the product variant belongs to. | | | - `collection:465903092033` |\n| delivery_profile_id | id | Filter by the product variant [delivery profile ID](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-deliveryprofile) (`ProductVariant.deliveryProfile.id`). | | | - `delivery_profile_id:108179161409` |\n| exclude_composite | boolean | Filter by product variants that aren't composites. | | | - `exclude_composite:true` |\n| exclude_variants_with_components | boolean | Filter by whether there are [components](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-product-fixed-bundle) that are associated with the product variants in a bundle. | | | - `exclude_variants_with_components:true` |\n| gift_card | boolean | Filter by the product [`isGiftCard`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-isgiftcard) field. | | | - `gift_card:true` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_quantity | integer | Filter by an aggregate of inventory across all locations where the product variant is stocked. | | | - `inventory_quantity:10` |\n| location_id | id | Filter by the [location ID](https://shopify.dev/api/admin-graphql/latest/objects/Location#field-id) for the product variant. | | | - `location_id:88511152449` |\n| managed | boolean | Filter by whether there is fulfillment service tracking associated with the product variants. | | | - `managed:true` |\n| managed_by | string | Filter by the fulfillment service that tracks the number of items in stock for the product variant. | | | - `managed_by:shopify` |\n| option1 | string | Filter by a custom property that a shop owner uses to define product variants. | | | - `option1:small` |\n| option2 | string | Filter by a custom property that a shop owner uses to define product variants. | | | - `option2:medium` |\n| option3 | string | Filter by a custom property that a shop owner uses to define product variants. | | | - `option3:large` |\n| product_id | id | Filter by the product [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-id) field. | | | - `product_id:8474977763649` |\n| product_ids | string | Filter by a comma-separated list of product [IDs](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-id). | | | - `product_ids:8474977763649,8474977796417` |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| product_status | string | Filter by a comma-separated list of product [statuses](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-status). | | | - `product_status:ACTIVE,DRAFT` |\n| product_type | string | Filter by the product type that's associated with the product variants. | | | - `product_type:snowboard` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| requires_components | boolean | Filter by whether the product variant can only be purchased with components. [Learn more](https://shopify.dev/apps/build/product-merchandising/bundles#store-eligibility). | | | - `requires_components:true` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| taxable | boolean | Filter by the product variant [`taxable`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-taxable) field. | | | - `taxable:false` |\n| title | string | Filter by the product variant [`title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-title) field. | | | - `title:ice` |\n| updated_at | time | Filter by date and time when the product variant was updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\n| vendor | string | Filter by the origin or source of the product variant. Learn more about [vendors and managing vendor information](https://help.shopify.com/manual/products/managing-vendor-info). | | | - `vendor:Snowdevil`
- `vendor:Snowdevil OR vendor:Icedevil` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductVariantSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsCount", + "description": "Count of product variants.", + "args": [ + { + "name": "query", + "description": "No supported search fields.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "Returns a list of products.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| barcode | string | Filter by the product variant [`barcode`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-barcode) field. | | | - `barcode:ABC-abc-1234` |\n| bundles | boolean | Filter by a [product bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A product bundle is a set of two or more related products, which are commonly offered at a discount. | | | - `bundles:true` |\n| category_id | string | Filter by the product [category ID](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-category) (`product.category.id`). A product category is the category of a product from [Shopify's Standard Product Taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). | | | - `category_id:gid://shopify/TaxonomyCategory/aa` |\n| combined_listing_role | string | Filter by the role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings). | - `parent`
- `child` | | - `combined_listing_role:parent` |\n| created_at | time | Filter by the date and time when the product was created. | | | - `created_at:>'2020-10-21T23:39:20Z'`
- `created_at: - `created_at:<='2024'` |\n| delivery_profile_id | id | Filter by the delivery profile [`id`](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryProfile#field-id) field. | | | - `delivery_profile_id:108179161409` |\n| error_feedback | string | Filter by products with publishing errors. |\n| gift_card | boolean | Filter by the product [`isGiftCard`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-isgiftcard) field. | | | - `gift_card:true` |\n| handle | string | Filter by a comma-separated list of product [handles](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-handle). | | | - `handle:the-minimal-snowboard` |\n| has_only_composites | boolean | Filter by products that have only composite variants. | | | - `has_only_composites:true` |\n| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | | | - `has_only_default_variant:true` |\n| has_variant_with_components | boolean | Filter by products that have variants with associated components. | | | - `has_variant_with_components:true` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_total | integer | Filter by inventory count. | | | - `inventory_total:0`
- `inventory_total:>150`
- `inventory_total:>=200` |\n| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the [`CollectionRule`](https://shopify.dev/api/admin-graphql/latest/objects/CollectionRule) object. | | | - `is_price_reduced:true` |\n| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | | | - `out_of_stock_somewhere:true` |\n| price | bigdecimal | Filter by the product variant [`price`](https://shopify.dev/api/admin-graphql/latest/objects/Productvariant#field-price) field. | | | - `price:100.57` |\n| product_configuration_owner | string | Filter by the app [`id`](https://shopify.dev/api/admin-graphql/latest/objects/App#field-id) field. | | | - `product_configuration_owner:10001` |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| product_type | string | Filter by a comma-separated list of [product types](https://help.shopify.com/manual/products/details/product-type). | | | - `product_type:snowboard` |\n| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | | | - `publication_ids:184111530305,184111694145` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | | | - `published_at:>2020-10-21T23:39:20Z`
- `published_at: - `published_at:<=2024` |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an `ACTIVE` status in online stores, sales channels, and apps. | - `ACTIVE`
- `ARCHIVED`
- `DRAFT` | `ACTIVE` | - `status:ACTIVE,DRAFT` |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| title | string | Filter by the product [`title`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-title) field. | | | - `title:The Minimal Snowboard` |\n| updated_at | time | Filter by the date and time when the product was last updated. | | | - `updated_at:>'2020-10-21T23:39:20Z'`
- `updated_at: - `updated_at:<='2024'` |\n| variant_id | id | Filter by the product variant [`id`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-id) field. | | | - `variant_id:45779434701121` |\n| variant_title | string | Filter by the product variant [`title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-title) field. | | | - `variant_title:Special ski wax` |\n| vendor | string | Filter by the origin or source of the product. Learn more about [vendors and managing vendor information](https://help.shopify.com/manual/products/managing-vendor-info). | | | - `vendor:Snowdevil`
- `vendor:Snowdevil OR vendor:Icedevil` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsCount", + "description": "Count of products. Limited to a maximum of 10000.", + "args": [ + { + "name": "limit", + "description": "The upper bound on count value before returning a result.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| barcode | string | Filter by the product variant [`barcode`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-barcode) field. | | | - `barcode:ABC-abc-1234` |\n| bundles | boolean | Filter by a [product bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A product bundle is a set of two or more related products, which are commonly offered at a discount. | | | - `bundles:true` |\n| category_id | string | Filter by the product [category ID](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-category) (`product.category.id`). A product category is the category of a product from [Shopify's Standard Product Taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). | | | - `category_id:gid://shopify/TaxonomyCategory/aa` |\n| combined_listing_role | string | Filter by the role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings). | - `parent`
- `child` | | - `combined_listing_role:parent` |\n| created_at | time | Filter by the date and time when the product was created. | | | - `created_at:>'2020-10-21T23:39:20Z'`
- `created_at: - `created_at:<='2024'` |\n| delivery_profile_id | id | Filter by the delivery profile [`id`](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryProfile#field-id) field. | | | - `delivery_profile_id:108179161409` |\n| error_feedback | string | Filter by products with publishing errors. |\n| gift_card | boolean | Filter by the product [`isGiftCard`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-isgiftcard) field. | | | - `gift_card:true` |\n| handle | string | Filter by a comma-separated list of product [handles](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-handle). | | | - `handle:the-minimal-snowboard` |\n| has_only_composites | boolean | Filter by products that have only composite variants. | | | - `has_only_composites:true` |\n| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | | | - `has_only_default_variant:true` |\n| has_variant_with_components | boolean | Filter by products that have variants with associated components. | | | - `has_variant_with_components:true` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_total | integer | Filter by inventory count. | | | - `inventory_total:0`
- `inventory_total:>150`
- `inventory_total:>=200` |\n| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the [`CollectionRule`](https://shopify.dev/api/admin-graphql/latest/objects/CollectionRule) object. | | | - `is_price_reduced:true` |\n| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | | | - `out_of_stock_somewhere:true` |\n| price | bigdecimal | Filter by the product variant [`price`](https://shopify.dev/api/admin-graphql/latest/objects/Productvariant#field-price) field. | | | - `price:100.57` |\n| product_configuration_owner | string | Filter by the app [`id`](https://shopify.dev/api/admin-graphql/latest/objects/App#field-id) field. | | | - `product_configuration_owner:10001` |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| product_type | string | Filter by a comma-separated list of [product types](https://help.shopify.com/manual/products/details/product-type). | | | - `product_type:snowboard` |\n| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | | | - `publication_ids:184111530305,184111694145` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | | | - `published_at:>2020-10-21T23:39:20Z`
- `published_at: - `published_at:<=2024` |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an `ACTIVE` status in online stores, sales channels, and apps. | - `ACTIVE`
- `ARCHIVED`
- `DRAFT` | `ACTIVE` | - `status:ACTIVE,DRAFT` |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| title | string | Filter by the product [`title`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-title) field. | | | - `title:The Minimal Snowboard` |\n| updated_at | time | Filter by the date and time when the product was last updated. | | | - `updated_at:>'2020-10-21T23:39:20Z'`
- `updated_at: - `updated_at:<='2024'` |\n| variant_id | id | Filter by the product variant [`id`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-id) field. | | | - `variant_id:45779434701121` |\n| variant_title | string | Filter by the product variant [`title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-title) field. | | | - `variant_title:Special ski wax` |\n| vendor | string | Filter by the origin or source of the product. Learn more about [vendors and managing vendor information](https://help.shopify.com/manual/products/managing-vendor-info). | | | - `vendor:Snowdevil`
- `vendor:Snowdevil OR vendor:Icedevil` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of an existing saved search.\nThe search’s query string is used as the query argument.\nRefer to the [`SavedSearch`](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch) object.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicApiVersions", + "description": "The list of publicly-accessible Admin API versions, including supported versions, the release candidate, and unstable versions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApiVersion", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "Lookup a publication by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Publication to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publications", + "description": "List of publications.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "catalogType", + "description": "Filter publications by catalog type.", + "type": { + "kind": "ENUM", + "name": "CatalogType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PublicationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicationsCount", + "description": "Count of publications.", + "args": [ + { + "name": "catalogType", + "description": "Filter publications by catalog type.", + "type": { + "kind": "ENUM", + "name": "CatalogType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishedProductsCount", + "description": "Returns a count of published products by publication ID.", + "args": [ + { + "name": "publicationId", + "description": "The ID of the publication that the products are published to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refund", + "description": "Returns a Refund resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Refund to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "return", + "description": "Returns a Return resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Return to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnCalculate", + "description": "The calculated monetary value to be exchanged due to the return.", + "args": [ + { + "name": "input", + "description": "The input fields for calculating a return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CalculateReturnInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CalculatedReturn", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnableFulfillment", + "description": "Lookup a returnable fulfillment by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the ReturnableFulfillment to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReturnableFulfillment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnableFulfillments", + "description": "List of returnable fulfillments.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "Order ID that will scope all returnable fulfillments.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseDelivery", + "description": "Lookup a reverse delivery by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the ReverseDelivery to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReverseDelivery", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrder", + "description": "Lookup a reverse fulfillment order by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the reverse fulfillment order to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scriptTag", + "description": "

Theme app extensions

\n

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

\n\n

Script tag deprecation

\n

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

\n\n\nLookup a script tag resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the ScriptTag to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ScriptTag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scriptTags", + "description": "

Theme app extensions

\n

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

\n\n

Script tag deprecation

\n

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

\n\n\nA list of script tags.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| src | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "src", + "description": "The source URL of the script tag to filter by.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScriptTagConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segment", + "description": "The Customer Segment.", + "args": [ + { + "name": "id", + "description": "Find a segment by ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentFilterSuggestions", + "description": "A list of filter suggestions associated with a segment. A segment is a group of members (commonly customers) that meet specific criteria.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "Returns the elements of a list by keyword or term.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentFilterConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentFilters", + "description": "A list of filters.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentFilterConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentMigrations", + "description": "A list of a shop's segment migrations.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "Search a segment migration by its saved search ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentMigrationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentValueSuggestions", + "description": "The list of suggested values corresponding to a particular filter for a segment. A segment is a group of members, such as customers, that meet specific criteria.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filterQueryName", + "description": "Returns the elements of a list by filter handle.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionParameterQueryName", + "description": "Returns the elements of a list by filter parameter name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "Returns the elements of a list by keyword or term.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentValueConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segments", + "description": "A list of a shop's segments.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| name | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "SegmentSortKeys", + "ofType": null + }, + "defaultValue": "CREATION_DATE", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentsCount", + "description": "The number of segments for a shop.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroup", + "description": "Returns a Selling Plan Group resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the SellingPlanGroup to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroups", + "description": "List Selling Plan Groups.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| app_id | id | | - `CURRENT`
- `ALL`
- `* (numeric app ID)` | `CURRENT` |\n| category | string | A comma-separated list of categories. | - `SUBSCRIPTION`
- `PRE_ORDER`
- `TRY_BEFORE_YOU_BUY`
- `OTHER` |\n| created_at | time |\n| delivery_frequency | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| name | string |\n| percentage_off | float |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "SellingPlanGroupSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serverPixel", + "description": "The server pixel configured by the app.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ServerPixel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "Returns the Shop resource corresponding to the access token used in the request. The Shop resource contains\nbusiness and store management settings for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopBillingPreferences", + "description": "The shop's billing preferences.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopBillingPreferences", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopLocales", + "description": "A list of locales available on a shop.", + "args": [ + { + "name": "published", + "description": "Return only published locales.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopLocale", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyFunction", + "description": "The Shopify Function.", + "args": [ + { + "name": "id", + "description": "The ID of the Shopify Function.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ShopifyFunction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyFunctions", + "description": "Returns the Shopify Functions for apps installed on the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apiType", + "description": "Filter the functions by the API type.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useCreationUi", + "description": "Filter the functions by whether or not the function uses the creation UI in the Admin.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunctionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyPaymentsAccount", + "description": "Shopify Payments account information, including balances and payouts.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsAccount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "The StaffMember resource, by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the staff member to return. If no ID is provided, then the staff member making the query (if any) is returned.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMembers", + "description": "The shop staff members.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| account_type | string | Filter by account type. | - `collaborator`
- `collaborator_team_member`
- `invited`
- `regular`
- `requested`
- `restricted`
- `saml` |\n| email | string | Filter by email. |\n| first_name | string | Filter by first name. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| last_name | string | Filter by last name. |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "StaffMembersSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StaffMemberConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standardMetafieldDefinitionTemplates", + "description": "Standard metafield definitions are intended for specific, common use cases. Their namespace and keys reflect these use cases and are reserved.\n\nRefer to all available [`Standard Metafield Definition Templates`](https://shopify.dev/api/admin-graphql/latest/objects/StandardMetafieldDefinitionTemplate).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "constraintStatus", + "description": "Filter standard metafield definitions based on whether they are constrained.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionConstraintStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "constraintSubtype", + "description": "Filter standard metafield definitions based on whether they apply to a given resource subtype.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MetafieldDefinitionConstraintSubtypeIdentifier", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "excludeActivated", + "description": "Filter standard metafield definitions that have already been activated.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplateConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storeCreditAccount", + "description": "Returns a store credit account resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the store credit account to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingAttempt", + "description": "Returns a SubscriptionBillingAttempt by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the SubscriptionBillingAttempt to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttempt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingAttempts", + "description": "Returns subscription billing attempts on a store.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| error_code | string |\n| error_message | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingAttemptsSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycle", + "description": "Returns a subscription billing cycle found either by cycle index or date.", + "args": [ + { + "name": "billingCycleInput", + "description": "Input object used to select and use billing cycles.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycleBulkResults", + "description": "Retrieves the results of the asynchronous job for the subscription billing cycle bulk action based on the specified job ID.\nThis query can be used to obtain the billing cycles that match the criteria defined in the subscriptionBillingCycleBulkSearch and subscriptionBillingCycleBulkCharge mutations.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jobId", + "description": "The ID of the billing cycle bulk operation job.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionBillingCycles", + "description": "Returns subscription billing cycles for a contract ID.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingCyclesDateRangeSelector", + "description": "Select subscription billing cycles within a date range.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCyclesDateRangeSelector", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingCyclesIndexRangeSelector", + "description": "Select subscription billing cycles within an index range.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCyclesIndexRangeSelector", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contractId", + "description": "The ID of the subscription contract to retrieve billing cycles for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCyclesSortKeys", + "ofType": null + }, + "defaultValue": "CYCLE_INDEX", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContract", + "description": "Returns a Subscription Contract resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Subscription Contract to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContracts", + "description": "List Subscription Contracts.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| last_billing_attempt_error_type | string |\n| status | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionDraft", + "description": "Returns a Subscription Draft resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the Subscription Draft to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxonomy", + "description": "The Taxonomy resource lets you access the categories, attributes and values of the loaded taxonomy tree.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Taxonomy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tenderTransactions", + "description": "Returns a list of TenderTransactions associated with the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| point_of_sale_device_id | id |\n| processed_at | time |\n| test | boolean |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TenderTransactionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "theme", + "description": "Returns a particular theme for the shop.", + "args": [ + { + "name": "id", + "description": "The ID of the theme.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "themes", + "description": "Returns a paginated list of themes for the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "names", + "description": "The theme names to filter by. Use '*' to match zero or more characters.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "roles", + "description": "The theme roles to filter by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ThemeRole", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "OnlineStoreThemeConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatableResource", + "description": "A resource that can have localized values for different languages.", + "args": [ + { + "name": "resourceId", + "description": "Find a translatable resource by ID.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "TranslatableResource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatableResources", + "description": "Resources that can have localized values for different languages.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceType", + "description": "Return only resources of a type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TranslatableResourceType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslatableResourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatableResourcesByIds", + "description": "Resources that can have localized values for different languages.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceIds", + "description": "Return only resources for given IDs.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslatableResourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirect", + "description": "Returns a redirect resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the UrlRedirect to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirect", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectImport", + "description": "Returns a redirect import resource by ID.", + "args": [ + { + "name": "id", + "description": "The ID of the UrlRedirectImport to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectImport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectSavedSearches", + "description": "A list of the shop's URL redirect saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirects", + "description": "A list of redirects for a shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| path | string |\n| target | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "UrlRedirectSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "urlRedirectsCount", + "description": "Count of redirects. Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| path | string |\n| target | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of an existing saved search.\nThe search’s query string is used as the query argument.\nRefer to the [`SavedSearch`](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch) object.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validation", + "description": "Validation available on the shop.", + "args": [ + { + "name": "id", + "description": "The ID of the validation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "Validations available on the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ValidationSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPixel", + "description": "The web pixel configured by the app.", + "args": [ + { + "name": "id", + "description": "Returns a web pixel by ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebPixel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "Returns a webhook subscription by ID.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "id", + "description": "The ID of the WebhookSubscription to return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscriptions", + "description": "Returns a list of webhook subscriptions.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe).", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callbackUrl", + "description": "Callback URL to filter by.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "Response format to filter by.", + "type": { + "kind": "ENUM", + "name": "WebhookSubscriptionFormat", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "WebhookSubscriptionSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "topics", + "description": "List of webhook subscription topics to filter by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WebhookSubscriptionTopic", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WebhookSubscriptionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscriptionsCount", + "description": "The count of webhook subscriptions.\n\nBuilding an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). Limited to a maximum of 10000.", + "args": [ + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| endpoint | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| topic | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Refund", + "description": "The record of the line items and transactions that were refunded to a customer, along with restocking instructions for refunded line items.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the refund was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duties", + "description": "A list of the refunded duties as part of this refund.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundDuty", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The optional note associated with the refund.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order associated with the refund.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderAdjustments", + "description": "The order adjustments that are attached with the refund.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderAdjustmentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundLineItems", + "description": "The `RefundLineItem` resources attached to the refund.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundShippingLines", + "description": "The `RefundShippingLine` resources attached to the refund.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundShippingLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "return", + "description": "The return associated with the refund.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMember", + "description": "The staff member who created the refund.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalRefunded", + "description": "The total amount across all transactions for the refund.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalRefundedSet` instead." + }, + { + "name": "totalRefundedSet", + "description": "The total amount across all transactions for the refund, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "The transactions associated with the refund.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransactionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the refund was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundAgreement", + "description": "An agreement between the merchant and customer to refund all or a portion of the order.", + "fields": [ + { + "name": "app", + "description": "The application that created the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "happenedAt", + "description": "The date and time at which the agreement occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason the agremeent was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refund", + "description": "The refund associated with the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sales", + "description": "The sales associated with the agreement.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The staff member associated with the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SalesAgreement", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundConnection", + "description": "An auto-generated type for paginating through multiple Refunds.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in RefundEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundCreatePayload", + "description": "Return type for `refundCreate` mutation.", + "fields": [ + { + "name": "order", + "description": "The order associated with the created refund.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refund", + "description": "The created refund.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundDuty", + "description": "Represents a refunded duty.", + "fields": [ + { + "name": "amountSet", + "description": "The amount of a refunded duty in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalDuty", + "description": "The duty associated with this refunded duty.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Duty", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefundDutyInput", + "description": "The input fields required to reimburse duties on a refund.", + "fields": null, + "inputFields": [ + { + "name": "dutyId", + "description": "The ID of the duty in the refund.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundType", + "description": "The type of refund for this duty.", + "type": { + "kind": "ENUM", + "name": "RefundDutyRefundType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RefundDutyRefundType", + "description": "The type of refund to perform for a particular refund duty.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULL", + "description": "The duty is fully refunded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROPORTIONAL", + "description": "The duty is proportionally refunded based on the quantity of the refunded line item.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundEdge", + "description": "An auto-generated type which holds one Refund and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of RefundEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefundInput", + "description": "The input fields to create a refund.", + "fields": null, + "inputFields": [ + { + "name": "currency", + "description": "The currency that is used to refund the order. This must be the presentment currency, which is the currency used by the customer. This is a required field for orders where the currency and presentment currency differ.", + "type": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discrepancyReason", + "description": "An optional reason for a discrepancy between calculated and actual refund amounts.", + "type": { + "kind": "ENUM", + "name": "OrderAdjustmentInputDiscrepancyReason", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "An optional note that's attached to the refund.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notify", + "description": "Whether to send a refund notification to the customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "The ID of the order that's being refunded.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundDuties", + "description": "A list of duties to refund.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefundDutyInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundLineItems", + "description": "A list of line items to refund.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefundLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shipping", + "description": "The input fields that are required to reimburse shipping costs.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShippingRefundInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "A list of transactions involved in the refund.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "OrderTransactionInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundLineItem", + "description": "A line item that's included in a refund.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The `LineItem` resource associated to the refunded line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The inventory restock location.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of a refunded line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `priceSet` instead." + }, + { + "name": "priceSet", + "description": "The price of a refunded line item in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of a refunded line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockType", + "description": "The type of restock for the refunded line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RefundLineItemRestockType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restocked", + "description": "Whether the refunded line item was restocked. Not applicable in the context of a SuggestedRefund.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotal", + "description": "The subtotal price of a refunded line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `subtotalSet` instead." + }, + { + "name": "subtotalSet", + "description": "The subtotal price of a refunded line item in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTax", + "description": "The total tax charged on a refunded line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalTaxSet` instead." + }, + { + "name": "totalTaxSet", + "description": "The total tax charged on a refunded line item in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundLineItemConnection", + "description": "An auto-generated type for paginating through multiple RefundLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in RefundLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundLineItemEdge", + "description": "An auto-generated type which holds one RefundLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of RefundLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefundLineItemInput", + "description": "The input fields required to reimburse line items on a refund.", + "fields": null, + "inputFields": [ + { + "name": "lineItemId", + "description": "The ID of the line item in the refund.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The intended location for restocking. If the `restockType` is set to `NO_RESTOCK`, then this value is empty.`", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the associated line item to be refunded.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockType", + "description": "The type of restock for this line item.", + "type": { + "kind": "ENUM", + "name": "RefundLineItemRestockType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RefundLineItemRestockType", + "description": "The type of restock performed for a particular refund line item.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCEL", + "description": "The refund line item was canceled. Use this when restocking unfulfilled line items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEGACY_RESTOCK", + "description": "Deprecated. The refund line item was restocked, without specifically beingidentified as a return or cancelation. This value is not accepted when creating new refunds.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_RESTOCK", + "description": "Refund line item was not restocked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURN", + "description": "The refund line item was returned. Use this when restocking line items that were fulfilled.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RefundShippingInput", + "description": "The input fields for the shipping cost to refund.", + "fields": null, + "inputFields": [ + { + "name": "fullRefund", + "description": "Whether to refund the full shipping amount.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingRefundAmount", + "description": "The input fields required to refund shipping cost, in the presentment currency of the order.\nThis overrides the `fullRefund` argument.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundShippingLine", + "description": "A shipping line item that's included in a refund.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "The `ShippingLine` resource associated to the refunded shipping line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotalAmountSet", + "description": "The subtotal amount of the refund shipping line in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxAmountSet", + "description": "The tax amount of the refund shipping line in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundShippingLineConnection", + "description": "An auto-generated type for paginating through multiple RefundShippingLines.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundShippingLineEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in RefundShippingLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundShippingLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RefundShippingLineEdge", + "description": "An auto-generated type which holds one RefundShippingLine and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of RefundShippingLineEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundShippingLine", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RemoteAuthorizeNetCustomerPaymentProfileInput", + "description": "The input fields for a remote Authorize.net customer payment profile.", + "fields": null, + "inputFields": [ + { + "name": "customerPaymentProfileId", + "description": "The customerPaymentProfileId value from the Authorize.net API.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerProfileId", + "description": "The customerProfileId value from the Authorize.net API.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RemoteBraintreePaymentMethodInput", + "description": "The input fields for a remote Braintree customer payment profile.", + "fields": null, + "inputFields": [ + { + "name": "customerId", + "description": "The `customer_id` value from the Braintree API.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethodToken", + "description": "The `payment_method_token` value from the Braintree API.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RemoteStripePaymentMethodInput", + "description": "The input fields for a remote stripe payment method.", + "fields": null, + "inputFields": [ + { + "name": "customerId", + "description": "The customer_id value from the Stripe API.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethodId", + "description": "The payment_method_id value from the Stripe API.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourceAlert", + "description": "An alert message that appears in the Shopify admin about a problem with a store resource, with 1 or more actions to take. For example, you could use an alert to indicate that you're not charging taxes on some product variants.\nThey can optionally have a specific icon and be dismissed by merchants.", + "fields": [ + { + "name": "actions", + "description": "Buttons in the alert that link to related information.\nFor example, _Edit variants_.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourceAlertAction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "The secondary text in the alert that includes further information or instructions about how to solve a problem.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dismissibleHandle", + "description": "Unique identifier that appears when an alert is manually closed by the merchant.\nMost alerts can't be manually closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "icon", + "description": "An icon that's optionally displayed with the alert.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ResourceAlertIcon", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "severity", + "description": "Indication of how important the alert is.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceAlertSeverity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The primary text in the alert that includes information or describes the problem.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourceAlertAction", + "description": "An action associated to a resource alert, such as editing variants.", + "fields": [ + { + "name": "primary", + "description": "Whether the action appears as a button or as a link.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "show", + "description": "Resource for the action to show.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The text for the button in the alert. For example, _Edit variants_.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The target URL that the button links to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ResourceAlertIcon", + "description": "The available icons for resource alerts.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CHECKMARK_CIRCLE", + "description": "A checkmark inside a circle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INFORMATION_CIRCLE", + "description": "A lowercase `i` inside a circle.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ResourceAlertSeverity", + "description": "The possible severity levels for a resource alert.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CRITICAL", + "description": "Indicates a critical alert. For example, a blocked app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEFAULT", + "description": "Indicates a neutral alert. For example, an accepted dispute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR", + "description": null, + "isDeprecated": true, + "deprecationReason": "`ERROR` severity is being deprecated in favour of `WARNING` or `CRITICAL` instead." + }, + { + "name": "INFO", + "description": "Indicates an informative alert. For example, an escalated dispute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCESS", + "description": "Indicates a success alert. For example, a winning a dispute.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WARNING", + "description": "Indicates an informative alert. For example, a new dispute.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourceFeedback", + "description": "Represents feedback from apps about a resource, and the steps required to set up the apps on the shop.", + "fields": [ + { + "name": "appFeedback", + "description": "Feedback from an app about the steps a merchant needs to take to set up the app on their store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppFeedback", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `details` instead." + }, + { + "name": "details", + "description": "List of AppFeedback detailing issues regarding a resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppFeedback", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "Summary of resource feedback pertaining to the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ResourceFeedbackCreateInput", + "description": "The input fields for a resource feedback object.", + "fields": null, + "inputFields": [ + { + "name": "feedbackGeneratedAt", + "description": "The date and time when the feedback was generated. Used to help determine whether\nincoming feedback is outdated compared to existing feedback.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "messages", + "description": "If the feedback state is `requires_action`, then you can send a string message that communicates the action to be taken by the merchant.\nThe string must be a single message up to 100 characters long and must end with a period.\nYou need to adhere to the message formatting rules or your requests will fail:\n- `[Explanation of the problem]. [Suggested action].`\n\n**Examples:**\n- `[Your app name]` isn't connected. Connect your account to use this sales channel. `[Learn more]`\n- `[Your app name]` isn't configured. Agree to the terms and conditions to use this app. `[Learn more]`\nBoth `Your app name` and `Learn more` (a button which directs merchants to your app) are automatically populated in the Shopify admin.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "The state of the feedback and whether it requires merchant action.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceFeedbackState", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ResourceFeedbackState", + "description": "The state of the resource feedback.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTED", + "description": "No action required from merchant.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRES_ACTION", + "description": "The merchant needs to resolve an issue with the resource.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ResourceOperation", + "description": "Represents a merchandising background operation interface.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedRowCount", + "description": "The count of processed rows, summing imported, failed, and skipped rows.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rowCount", + "description": "Represents a rows objects within this background operation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RowCount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of this operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ResourceOperationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AddAllProductsOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CatalogCsvOperation", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "PublicationResourceOperation", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "ResourceOperationStatus", + "description": "Represents the state of this catalog operation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "Operation is currently running.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPLETE", + "description": "Operation is complete.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATED", + "description": "Operation has been created.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourcePublication", + "description": "A resource publication represents information about the publication of a resource.\nAn instance of `ResourcePublication`, unlike `ResourcePublicationV2`, can be neither published or scheduled to be published.\n\nSee [ResourcePublicationV2](/api/admin-graphql/latest/objects/ResourcePublicationV2) for more context.", + "fields": [ + { + "name": "channel", + "description": "The channel the resource publication is published to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Channel", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `publication` instead." + }, + { + "name": "isPublished", + "description": "Whether the resource publication is published. Also returns true if the resource publication is scheduled to be published.\nIf false, then the resource publication is neither published nor scheduled to be published.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "The publication the resource publication is published to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date that the resource publication was or is going to be published to the publication.\nIf the product isn't published, then this field returns an epoch timestamp.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishable", + "description": "The resource published to the publication.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourcePublicationConnection", + "description": "An auto-generated type for paginating through multiple ResourcePublications.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ResourcePublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublication", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourcePublicationEdge", + "description": "An auto-generated type which holds one ResourcePublication and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ResourcePublicationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourcePublicationV2", + "description": "A resource publication represents information about the publication of a resource.\nUnlike `ResourcePublication`, an instance of `ResourcePublicationV2` can't be unpublished. It must either be published or scheduled to be published.\n\nSee [ResourcePublication](/api/admin-graphql/latest/objects/ResourcePublication) for more context.", + "fields": [ + { + "name": "isPublished", + "description": "Whether the resource publication is published. If true, then the resource publication is published to the publication.\nIf false, then the resource publication is staged to be published to the publication.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publication", + "description": "The publication the resource publication is published to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Publication", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishDate", + "description": "The date that the resource publication was or is going to be published to the publication.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publishable", + "description": "The resource published to the publication.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Publishable", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourcePublicationV2Connection", + "description": "An auto-generated type for paginating through multiple ResourcePublicationV2s.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationV2Edge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ResourcePublicationV2Edge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationV2", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ResourcePublicationV2Edge", + "description": "An auto-generated type which holds one ResourcePublicationV2 and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ResourcePublicationV2Edge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ResourcePublicationV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RestockingFee", + "description": "A restocking fee is a fee captured as part of a return to cover the costs of handling a return line item.\nTypically, this would cover the costs of inspecting, repackaging, and restocking the item.", + "fields": [ + { + "name": "amountSet", + "description": "The amount of the restocking fee, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the Fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The value of the fee as a percentage.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Fee", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RestockingFeeInput", + "description": "The input fields for a restocking fee.", + "fields": null, + "inputFields": [ + { + "name": "percentage", + "description": "The value of the fee as a percentage.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RestrictedForResource", + "description": "Information about product is restricted for a given resource.", + "fields": [ + { + "name": "restricted", + "description": "Returns true when the product is restricted for the given resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restrictedReason", + "description": "Restriction reason for the given resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Return", + "description": "Represents a return.", + "fields": [ + { + "name": "decline", + "description": "Additional information about the declined return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReturnDecline", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exchangeLineItems", + "description": "The exchange line items attached to the return.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeRemovedItems", + "description": "Include exchange line items that have been removed from the order by an order edit, return, etc. Items that have been removed have a zero ([LineItem.currentQuantity](https://shopify.dev/docs/api/admin-graphql/unstable/objects/LineItem#field-lineitem-currentquantity)).", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ExchangeLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the return.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order that the return belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refunds", + "description": "The list of refunds associated with the return.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItems", + "description": "The return line items attached to the return.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnLineItemTypeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnShippingFees", + "description": "The return shipping fees for the return.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnShippingFee", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrders", + "description": "The list of reverse fulfillment orders for the return.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the return.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestedRefund", + "description": "A suggested refund for the return.", + "args": [ + { + "name": "refundDuties", + "description": "The duties from to associated order to include in the refund.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefundDutyInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundShipping", + "description": "The shipping amount from the associated order to include in the refund.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RefundShippingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnRefundLineItems", + "description": "The line items from the return to include in the refund.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnRefundLineItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SuggestedReturnRefund", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalQuantity", + "description": "The sum of all return line item quantities for the return.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnAgreement", + "description": "An agreement between the merchant and customer for a return.", + "fields": [ + { + "name": "app", + "description": "The application that created the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "happenedAt", + "description": "The date and time at which the agreement occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason the agremeent was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "return", + "description": "The return associated with the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sales", + "description": "The sales associated with the agreement.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The staff member associated with the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SalesAgreement", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnApproveRequestInput", + "description": "The input fields for approving a customer's return request.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the return that's being approved.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Notify the customer when a return request is approved.\nThe customer will only receive a notification if `Order.email` is present.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnApproveRequestPayload", + "description": "Return type for `returnApproveRequest` mutation.", + "fields": [ + { + "name": "return", + "description": "The approved return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnCancelPayload", + "description": "Return type for `returnCancel` mutation.", + "fields": [ + { + "name": "return", + "description": "The canceled return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnClosePayload", + "description": "Return type for `returnClose` mutation.", + "fields": [ + { + "name": "return", + "description": "The closed return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnConnection", + "description": "An auto-generated type for paginating through multiple Returns.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReturnEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnCreatePayload", + "description": "Return type for `returnCreate` mutation.", + "fields": [ + { + "name": "return", + "description": "The created return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnDecline", + "description": "Additional information about why a merchant declined the customer's return request.", + "fields": [ + { + "name": "note", + "description": "The notification message sent to the customer about their declined return request.\nMaximum length: 500 characters.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason the customer's return request was declined.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnDeclineReason", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReturnDeclineReason", + "description": "The reason why the merchant declined a customer's return request.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FINAL_SALE", + "description": "The return contains final sale items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "The return is declined for another reason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURN_PERIOD_ENDED", + "description": "The return period has ended.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnDeclineRequestInput", + "description": "The input fields for declining a customer's return request.", + "fields": null, + "inputFields": [ + { + "name": "declineNote", + "description": "The notification message that's sent to a customer about their declined return request.\nMaximum length: 500 characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "declineReason", + "description": "The reason why the merchant declined the customer's return request.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnDeclineReason", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the return that's being declined.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "Notify the customer when a return request is declined.\nThe customer will only receive a notification if `Order.email` is present.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnDeclineRequestPayload", + "description": "Return type for `returnDeclineRequest` mutation.", + "fields": [ + { + "name": "return", + "description": "The declined return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnEdge", + "description": "An auto-generated type which holds one Return and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReturnEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReturnErrorCode", + "description": "Possible error codes that can be returned by `ReturnUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALREADY_EXISTS", + "description": "The requested resource already exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATION_FAILED", + "description": "A requested resource could not be created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EQUAL_TO", + "description": "The input value should be equal to the value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FEATURE_NOT_ENABLED", + "description": "A required feature is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The input value should be greater than the minimum allowed value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "The input value should be greater than or equal to the minimum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "Unexpected internal error happened.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_STATE", + "description": "A resource was not in the correct state for the operation to succeed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN", + "description": "The input value should be less than the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The input value should be less than or equal to the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOTIFICATION_FAILED", + "description": "A requested notification could not be sent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_A_NUMBER", + "description": "The input value is not a number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_EDITABLE", + "description": "A requested item is not editable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "A requested item could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_BIG", + "description": "The input value is too big.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_ARGUMENTS", + "description": "Too many arguments provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WRONG_LENGTH", + "description": "The input value is the wrong length.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnInput", + "description": "The input fields for a return.", + "fields": null, + "inputFields": [ + { + "name": "exchangeLineItems", + "description": "The new line items to be added to the order.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ExchangeLineItemInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notifyCustomer", + "description": "When `true` the customer will receive a notification if there's an `Order.email` present.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderId", + "description": "The ID of the order to be returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requestedAt", + "description": "The UTC date and time when the return was first solicited by the customer.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItems", + "description": "The return line items list to be handled.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnLineItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnShippingFee", + "description": "The return shipping fee to capture.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReturnShippingFeeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnLineItem", + "description": "A return line item.", + "fields": [ + { + "name": "customerNote", + "description": "A note from the customer that describes the item to be returned. Maximum length: 300 characters.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentLineItem", + "description": "The fulfillment line item from which items are returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity being returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundableQuantity", + "description": "The quantity that can be refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundedQuantity", + "description": "The quantity that was refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockingFee", + "description": "The restocking fee for the return line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RestockingFee", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReason", + "description": "The reason for returning the item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnReason", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReasonNote", + "description": "Additional information about the reason for the return. Maximum length: 255 characters.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalWeight", + "description": "The total weight of the item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Weight", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "withCodeDiscountedTotalPriceSet", + "description": "The total line price after all discounts on the line item, including both line item level discounts and code-based line item discounts, are applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ReturnLineItemType", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnLineItemInput", + "description": "The input fields for a return line item.", + "fields": null, + "inputFields": [ + { + "name": "fulfillmentLineItemId", + "description": "The ID of the fulfillment line item to be returned.\nSpecifically, this field expects a `FulfillmentLineItem.id`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the item to be returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockingFee", + "description": "The restocking fee to capture.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RestockingFeeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReason", + "description": "The reason for the item to be returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnReason", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReasonNote", + "description": "A note about the reason that the item is being returned.\nMaximum length: 255 characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"", + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnLineItemRemoveFromReturnInput", + "description": "The input fields for a removing a return line item from a return.", + "fields": null, + "inputFields": [ + { + "name": "quantity", + "description": "The quantity of the associated return line item to be removed.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItemId", + "description": "The ID of the return line item to remove.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnLineItemRemoveFromReturnPayload", + "description": "Return type for `returnLineItemRemoveFromReturn` mutation.", + "fields": [ + { + "name": "return", + "description": "The modified return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ReturnLineItemType", + "description": "A return line item of any type.", + "fields": [ + { + "name": "customerNote", + "description": "A note from the customer that describes the item to be returned. Maximum length: 300 characters.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity being returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundableQuantity", + "description": "The quantity that can be refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundedQuantity", + "description": "The quantity that was refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReason", + "description": "The reason for returning the item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnReason", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReasonNote", + "description": "Additional information about the reason for the return. Maximum length: 255 characters.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ReturnLineItem", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UnverifiedReturnLineItem", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ReturnLineItemTypeConnection", + "description": "An auto-generated type for paginating through multiple ReturnLineItemTypes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnLineItemTypeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReturnLineItemTypeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ReturnLineItemType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnLineItemTypeEdge", + "description": "An auto-generated type which holds one ReturnLineItemType and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReturnLineItemTypeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ReturnLineItemType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReturnReason", + "description": "The reason for returning the return line item.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "COLOR", + "description": "The item is returned because the buyer did not like the color.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEFECTIVE", + "description": "The item is returned because it is damaged or defective.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_AS_DESCRIBED", + "description": "The item is returned because it was not as described.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "The item is returned for another reason. For this value, a return reason note is also provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SIZE_TOO_LARGE", + "description": "The item is returned because the size was too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SIZE_TOO_SMALL", + "description": "The item is returned because the size was too small.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STYLE", + "description": "The item is returned because the buyer did not like the style.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "The item is returned because of an unknown reason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNWANTED", + "description": "The item is returned because the customer changed their mind.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WRONG_ITEM", + "description": "The item is returned because the customer received the wrong one.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnRefundInput", + "description": "The input fields to refund a return.", + "fields": null, + "inputFields": [ + { + "name": "notifyCustomer", + "description": "Whether to send a refund notification to the customer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderTransactions", + "description": "A list of transactions involved in refunding the return.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnRefundOrderTransactionInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundDuties", + "description": "A list of duties to refund.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RefundDutyInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundShipping", + "description": "The shipping amount to refund.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RefundShippingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnId", + "description": "The ID of the return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnRefundLineItems", + "description": "A list of return line items to refund.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnRefundLineItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnRefundLineItemInput", + "description": "The input fields for a return refund line item.", + "fields": null, + "inputFields": [ + { + "name": "quantity", + "description": "The quantity of the return line item to be refunded.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItemId", + "description": "The ID of the return line item to be refunded.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnRefundOrderTransactionInput", + "description": "The input fields to create order transactions when refunding a return.", + "fields": null, + "inputFields": [ + { + "name": "parentId", + "description": "The ID of the parent order transaction. The transaction must be of kind `CAPTURE` or a `SALE`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionAmount", + "description": "The amount of money for the transaction in the presentment currency of the order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnRefundPayload", + "description": "Return type for `returnRefund` mutation.", + "fields": [ + { + "name": "refund", + "description": "The created refund.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Refund", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnReopenPayload", + "description": "Return type for `returnReopen` mutation.", + "fields": [ + { + "name": "return", + "description": "The reopened return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnRequestInput", + "description": "The input fields for requesting a return.", + "fields": null, + "inputFields": [ + { + "name": "orderId", + "description": "The ID of the order that's being returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnLineItems", + "description": "The line items that are being handled in the return.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ReturnRequestLineItemInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnShippingFee", + "description": "The return shipping fee to capture.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ReturnShippingFeeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnRequestLineItemInput", + "description": "The input fields for a return line item.", + "fields": null, + "inputFields": [ + { + "name": "customerNote", + "description": "A note from the customer that describes the item to be returned.\nFor example, the note can communicate issues with the item to the merchant.\nMaximum length: 300 characters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentLineItemId", + "description": "The ID of the fulfillment line item to be returned.\nSpecifically, this field expects a `FulfillmentLineItem.id`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the item that's being returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "restockingFee", + "description": "The restocking fee to capture.", + "type": { + "kind": "INPUT_OBJECT", + "name": "RestockingFeeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReason", + "description": "The reason why the line item is being returned.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnReason", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnRequestPayload", + "description": "Return type for `returnRequest` mutation.", + "fields": [ + { + "name": "return", + "description": "The requested return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Return", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnShippingFee", + "description": "A return shipping fee is a fee captured as part of a return to cover the costs of shipping the return.", + "fields": [ + { + "name": "amountSet", + "description": "The amount of the return shipping fee, in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the Fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Fee", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReturnShippingFeeInput", + "description": "The input fields for a return shipping fee.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The value of the fee as a fixed amount in the presentment currency of the order.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReturnStatus", + "description": "The status of a return.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELED", + "description": "The return has been canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "The return has been completed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DECLINED", + "description": "The return was declined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPEN", + "description": "The return is in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUESTED", + "description": "The return was requested.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnUserError", + "description": "An error that occurs during the execution of a return mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ReturnErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnableFulfillment", + "description": "A returnable fulfillment, which is an order that has been delivered\nand is eligible to be returned to the merchant.", + "fields": [ + { + "name": "fulfillment", + "description": "The fulfillment that the returnable fulfillment refers to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Fulfillment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID of the Returnable Fulfillment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnableFulfillmentLineItems", + "description": "The list of returnable fulfillment line items.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillmentLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnableFulfillmentConnection", + "description": "An auto-generated type for paginating through multiple ReturnableFulfillments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillmentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReturnableFulfillmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnableFulfillmentEdge", + "description": "An auto-generated type which holds one ReturnableFulfillment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReturnableFulfillmentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnableFulfillmentLineItem", + "description": "A returnable fulfillment line item.", + "fields": [ + { + "name": "fulfillmentLineItem", + "description": "The fulfillment line item that can be returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity available to be returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnableFulfillmentLineItemConnection", + "description": "An auto-generated type for paginating through multiple ReturnableFulfillmentLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillmentLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReturnableFulfillmentLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillmentLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReturnableFulfillmentLineItemEdge", + "description": "An auto-generated type which holds one ReturnableFulfillmentLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReturnableFulfillmentLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnableFulfillmentLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDelivery", + "description": "A reverse delivery is a post-fulfillment object that represents a buyer sending a package to a merchant.\nFor example, a buyer requests a return, and a merchant sends the buyer a shipping label.\nThe reverse delivery contains the context of the items sent back, how they're being sent back\n(for example, a shipping label), and the current state of the delivery (tracking information).", + "fields": [ + { + "name": "deliverable", + "description": "The deliverable associated with the reverse delivery.", + "args": [], + "type": { + "kind": "UNION", + "name": "ReverseDeliveryDeliverable", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the reverse delivery.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseDeliveryLineItems", + "description": "The reverse delivery line items attached to the reverse delivery.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrder", + "description": "The `ReverseFulfillmentOrder` associated with the reverse delivery.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryConnection", + "description": "An auto-generated type for paginating through multiple ReverseDeliveries.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDeliveryEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReverseDeliveryEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDelivery", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryCreateWithShippingPayload", + "description": "Return type for `reverseDeliveryCreateWithShipping` mutation.", + "fields": [ + { + "name": "reverseDelivery", + "description": "The created reverse delivery.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReverseDelivery", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "ReverseDeliveryDeliverable", + "description": "The delivery method and artifacts associated with a reverse delivery.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ReverseDeliveryShippingDeliverable", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryEdge", + "description": "An auto-generated type which holds one ReverseDelivery and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReverseDeliveryEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDelivery", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryLabelInput", + "description": "The input fields for a reverse label.", + "fields": null, + "inputFields": [ + { + "name": "fileUrl", + "description": "The URL of the label file. If a label file was uploaded to be attached to the delivery, then provide the temporary staged URL.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryLabelV2", + "description": "The return label file information for a reverse delivery.", + "fields": [ + { + "name": "createdAt", + "description": "The date and time when the reverse delivery label was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "publicFileUrl", + "description": "A public link that can be used to download the label image.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the reverse delivery label was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItem", + "description": "The details about a reverse delivery line item.", + "fields": [ + { + "name": "dispositions", + "description": "The dispositions of the item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderDisposition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The expected number of units.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrderLineItem", + "description": "The corresponding reverse fulfillment order line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItemConnection", + "description": "An auto-generated type for paginating through multiple ReverseDeliveryLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReverseDeliveryLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItemEdge", + "description": "An auto-generated type which holds one ReverseDeliveryLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReverseDeliveryLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDeliveryLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryLineItemInput", + "description": "The input fields for a reverse delivery line item.", + "fields": null, + "inputFields": [ + { + "name": "quantity", + "description": "The quantity of the item to be included in the delivery.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrderLineItemId", + "description": "The ID of the related reverse fulfillment order line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryShippingDeliverable", + "description": "A reverse shipping deliverable that may include a label and tracking information.", + "fields": [ + { + "name": "label", + "description": "The return label attached to the reverse delivery.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReverseDeliveryLabelV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tracking", + "description": "The information to track the reverse delivery.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReverseDeliveryTrackingV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryShippingUpdatePayload", + "description": "Return type for `reverseDeliveryShippingUpdate` mutation.", + "fields": [ + { + "name": "reverseDelivery", + "description": "The updated reverse delivery.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReverseDelivery", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReverseDeliveryTrackingInput", + "description": "The input fields for tracking information about a return delivery.", + "fields": null, + "inputFields": [ + { + "name": "number", + "description": "The tracking number for the label.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The tracking URL for the carrier. If the carrier isn't supported by Shopify, then provide the tracking URL of the delivery.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseDeliveryTrackingV2", + "description": "Represents the information used to track a reverse delivery.", + "fields": [ + { + "name": "carrierName", + "description": "The provider of the tracking information, in a human-readable format for display purposes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "number", + "description": "The identifier used by the courier to identify the shipment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL to track a shipment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrder", + "description": "A group of one or more items in a return that will be processed at a fulfillment service.\nThere can be more than one reverse fulfillment order for a return at a given location.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItems", + "description": "The list of reverse fulfillment order line items for the reverse fulfillment order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItemConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order associated with the reverse fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseDeliveries", + "description": "The list of reverse deliveries for the reverse fulfillment order.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseDeliveryConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the reverse fulfillment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReverseFulfillmentOrderStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "thirdPartyConfirmation", + "description": "The current confirmation for the reverse fulfillment order from a third-party logistics service. \nIf no third-party service is involved, then this value is `nil`.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderThirdPartyConfirmation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderConnection", + "description": "An auto-generated type for paginating through multiple ReverseFulfillmentOrders.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReverseFulfillmentOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrder", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ReverseFulfillmentOrderDisposeInput", + "description": "The input fields to dispose a reverse fulfillment order line item.", + "fields": null, + "inputFields": [ + { + "name": "dispositionType", + "description": "The final arrangement for the reverse fulfillment order line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReverseFulfillmentOrderDispositionType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the location where the reverse fulfillment order line item is to be disposed.\n This is required when the disposition type is RESTOCKED.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the reverse fulfillment order line item to dispose.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverseFulfillmentOrderLineItemId", + "description": "The ID of the reverse fulfillment order line item.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderDisposePayload", + "description": "Return type for `reverseFulfillmentOrderDispose` mutation.", + "fields": [ + { + "name": "reverseFulfillmentOrderLineItems", + "description": "The disposed reverse fulfillment order line items.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItem", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReturnUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderDisposition", + "description": "The details of the arrangement of an item.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location where the disposition occurred.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of disposed units.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The final arrangement of an item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReverseFulfillmentOrderDispositionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReverseFulfillmentOrderDispositionType", + "description": "The final arrangement of an item from a reverse fulfillment order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MISSING", + "description": "An item that was expected but absent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_RESTOCKED", + "description": "An item that wasn't restocked.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROCESSING_REQUIRED", + "description": "An item that requires further processing before being restocked or discarded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESTOCKED", + "description": "An item that was restocked.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderEdge", + "description": "An auto-generated type which holds one ReverseFulfillmentOrder and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReverseFulfillmentOrderEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrder", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItem", + "description": "The details about a reverse fulfillment order line item.", + "fields": [ + { + "name": "dispositions", + "description": "The dispositions of the item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderDisposition", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentLineItem", + "description": "The corresponding fulfillment line item for a reverse fulfillment order line item.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentLineItem", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalQuantity", + "description": "The total number of units to be processed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItemConnection", + "description": "An auto-generated type for paginating through multiple ReverseFulfillmentOrderLineItems.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItemEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ReverseFulfillmentOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItemEdge", + "description": "An auto-generated type which holds one ReverseFulfillmentOrderLineItem and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ReverseFulfillmentOrderLineItemEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderLineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReverseFulfillmentOrderStatus", + "description": "The status of a reverse fulfillment order.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELED", + "description": "The reverse fulfillment order has been canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CLOSED", + "description": "The reverse fulfillment order has been completed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPEN", + "description": "The reverse fulfillment order is in progress.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ReverseFulfillmentOrderThirdPartyConfirmation", + "description": "The third-party confirmation of a reverse fulfillment order.", + "fields": [ + { + "name": "status", + "description": "The status of the reverse fulfillment order third-party confirmation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReverseFulfillmentOrderThirdPartyConfirmationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ReverseFulfillmentOrderThirdPartyConfirmationStatus", + "description": "The status of a reverse fulfillment order third-party confirmation.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCEPTED", + "description": "The reverse fulfillment order was accepted by the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCEL_ACCEPTED", + "description": "The reverse fulfillment order cancelation was accepted by the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCEL_REJECTED", + "description": "The reverse fulfillment order cancelation was rejected by the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_ACCEPTANCE", + "description": "The reverse fulfillment order is awaiting acceptance by the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING_CANCELATION", + "description": "The reverse fulfillment order is awaiting cancelation by the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REJECTED", + "description": "The reverse fulfillment order was rejected by the fulfillment service.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RiskAssessmentResult", + "description": "List of possible values for a RiskAssessment result.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "HIGH", + "description": "Indicates a high likelihood that the order is fraudulent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOW", + "description": "Indicates a low likelihood that the order is fraudulent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MEDIUM", + "description": "Indicates a medium likelihood that the order is fraudulent.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NONE", + "description": "Indicates that the risk assessment will not provide a recommendation for the order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "Indicates that the risk assessment is still pending.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RiskFact", + "description": "A risk fact belongs to a single risk assessment and serves to provide additional context for an assessment. Risk facts are not necessarily tied to the result of the recommendation.", + "fields": [ + { + "name": "description", + "description": "A description of the fact.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sentiment", + "description": "Indicates whether the fact is a negative, neutral or positive contributor with regards to risk.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "RiskFactSentiment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "RiskFactSentiment", + "description": "List of possible values for a RiskFact sentiment.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NEGATIVE", + "description": "A negative contributor that increases the risk.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEUTRAL", + "description": "A neutral contributor with regards to risk.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POSITIVE", + "description": "A positive contributor that lowers the risk.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RowCount", + "description": "A row count represents rows on background operation.", + "fields": [ + { + "name": "count", + "description": "Estimated number of rows contained within this background operation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exceedsMax", + "description": "Whether the operation exceeds max number of reportable rows.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SEO", + "description": "SEO information.", + "fields": [ + { + "name": "description", + "description": "SEO Description.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "SEO Title.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SEOInput", + "description": "The input fields for SEO information.", + "fields": null, + "inputFields": [ + { + "name": "description", + "description": "SEO description of the product.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "SEO title of the product.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Sale", + "description": "An individual sale record associated with a sales agreement. Every money value in an order's sales data is represented in the currency's smallest unit. When amounts are divided across multiple line items, such as taxes or order discounts, the amounts might not divide evenly across all of the line items on the order. To address this, the remaining currency units that couldn't be divided evenly are allocated one at a time, starting with the first line item, until they are all accounted for. In aggregate, the values sum up correctly. In isolation, one line item might have a different tax or discount amount than another line item of the same price, before taxes and discounts. This is because the amount could not be divided evenly across the items. The allocation of currency units across line items is immutable. After they are allocated, currency units are never reallocated or redistributed among the line items.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "AdditionalFeeSale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "AdjustmentSale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DutySale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FeeSale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "GiftCardSale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ProductSale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShippingLineSale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TipSale", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UnknownSale", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "SaleActionType", + "description": "The possible order action types for a sale.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ORDER", + "description": "A purchase or charge.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURN", + "description": "A removal or return.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "An unknown order action. Represents new actions that may be added in future versions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATE", + "description": "A change to the price, taxes, or discounts for a prior purchase.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SaleAdditionalFee", + "description": "The additional fee details for a line item.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the additional fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the additional fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "A list of taxes charged on the additional fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SaleConnection", + "description": "An auto-generated type for paginating through multiple Sales.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SaleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SaleEdge", + "description": "An auto-generated type which holds one Sale and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SaleEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SaleLineType", + "description": "The possible line types for a sale record. One of the possible order line types for a sale is an adjustment. Sales adjustments occur when a refund is issued for a line item that is either more or less than the total value of the line item. Examples are restocking fees and goodwill payments. When this happens, Shopify produces a sales agreement with sale records for each line item that is returned or refunded and an additional sale record for the adjustment (for example, a restocking fee). The sales records for the returned or refunded items represent the reversal of the original line item sale value. The additional adjustment sale record represents the difference between the original total value of all line items that were refunded, and the actual amount refunded.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADDITIONAL_FEE", + "description": "An additional fee.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADJUSTMENT", + "description": "A sale adjustment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUTY", + "description": "A duty charge.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FEE", + "description": "A fee charge.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GIFT_CARD", + "description": "A gift card.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "A product purchased, returned or exchanged.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING", + "description": "A shipping cost.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIP", + "description": "A tip added by the customer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "An unknown sale line. Represents new types that may be added in future versions.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SaleTax", + "description": "The tax allocated to a sale from a single tax line.", + "fields": [ + { + "name": "amount", + "description": "The portion of the total tax amount on the related sale that comes from the associated tax line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale tax.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLine", + "description": "The tax line associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "SalesAgreement", + "description": "A contract between a merchant and a customer to do business. Shopify creates a sales agreement whenever an order is placed, edited, or refunded. A sales agreement has one or more sales records, which provide itemized details about the initial agreement or subsequent changes made to the order. For example, when a customer places an order, Shopify creates the order, generates a sales agreement, and records a sale for each line item purchased in the order. A sale record is specific to a type of order line. Order lines can represent different things such as a purchased product, a tip added by a customer, shipping costs collected at checkout, and more.", + "fields": [ + { + "name": "app", + "description": "The application that created the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "happenedAt", + "description": "The date and time at which the agreement occured.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the agreement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason the agremeent was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "OrderActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sales", + "description": "The sales associated with the agreement.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The staff member associated with the agreement.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "OrderAgreement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "OrderEditAgreement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RefundAgreement", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ReturnAgreement", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SalesAgreementConnection", + "description": "An auto-generated type for paginating through multiple SalesAgreements.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SalesAgreementEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SalesAgreementEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SalesAgreement", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SalesAgreementEdge", + "description": "An auto-generated type which holds one SalesAgreement and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SalesAgreementEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SalesAgreement", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedSearch", + "description": "A saved search is a representation of a search query saved in the admin.", + "fields": [ + { + "name": "filters", + "description": "The filters of a saved search.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchFilter", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of a saved search.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "The query string of a saved search. This includes search terms and filters.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceType", + "description": "The type of resource this saved search is searching in.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchResultType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchTerms", + "description": "The search terms of a saved search.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "description": "An auto-generated type for paginating through multiple SavedSearches.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SavedSearchEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearch", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SavedSearchCreateInput", + "description": "The input fields to create a saved search.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "A descriptive name of the saved search.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "The query string of a saved search. This includes search terms and filters.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceType", + "description": "The type of resource this saved search is searching in.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchResultType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedSearchCreatePayload", + "description": "Return type for `savedSearchCreate` mutation.", + "fields": [ + { + "name": "savedSearch", + "description": "The saved search that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SavedSearch", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SavedSearchDeleteInput", + "description": "The input fields to delete a saved search.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the saved search to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedSearchDeletePayload", + "description": "Return type for `savedSearchDelete` mutation.", + "fields": [ + { + "name": "deletedSavedSearchId", + "description": "The ID of the saved search that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shop", + "description": "The shop of the saved search that was deleted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedSearchEdge", + "description": "An auto-generated type which holds one SavedSearch and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SavedSearchEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearch", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SavedSearchUpdateInput", + "description": "The input fields to update a saved search.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID of the saved search to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A descriptive name of the saved search.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "The query string of a saved search. This included search terms and filters.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SavedSearchUpdatePayload", + "description": "Return type for `savedSearchUpdate` mutation.", + "fields": [ + { + "name": "savedSearch", + "description": "The saved search that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SavedSearch", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ScheduledChangeSortKeys", + "description": "The set of valid sort keys for the ScheduledChange query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EXPECTED_AT", + "description": "Sort by the `expected_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScriptDiscountApplication", + "description": "Script discount applications capture the intentions of a discount that\nwas created by a Shopify Script for an order's line item or shipping line.\n\nDiscount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object.", + "fields": [ + { + "name": "allocationMethod", + "description": "The method by which the discount's value is applied to its entitled items.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationAllocationMethod", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the application as defined by the Script.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `title` instead." + }, + { + "name": "index", + "description": "An ordered index that can be used to identify the discount application and indicate the precedence\nof the discount application for calculations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetSelection", + "description": "How the discount amount is distributed on the discounted lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetSelection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Whether the discount is applied on line items or shipping lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountApplicationTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the application as defined by the Script.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the discount application.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "PricingValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DiscountApplication", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScriptTag", + "description": "

Theme app extensions

\n

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

\n\n

Script tag deprecation

\n

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

\n\n\nA script tag represents remote JavaScript code that is loaded into the pages of a shop's storefront or the **Order status** page of checkout.", + "fields": [ + { + "name": "cache", + "description": "Whether the Shopify CDN can cache and serve the script tag.\nIf `true`, then the script will be cached and served by the CDN.\nThe cache expires 15 minutes after the script tag is successfully returned.\nIf `false`, then the script will be served as is.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the script tag was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayScope", + "description": "The page or pages on the online store that the script should be included.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ScriptTagDisplayScope", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "src", + "description": "The URL to the remote script.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the script tag was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScriptTagConnection", + "description": "An auto-generated type for paginating through multiple ScriptTags.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScriptTagEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ScriptTagEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScriptTag", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScriptTagCreatePayload", + "description": "Return type for `scriptTagCreate` mutation.", + "fields": [ + { + "name": "scriptTag", + "description": "The script tag that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ScriptTag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScriptTagDeletePayload", + "description": "Return type for `scriptTagDelete` mutation.", + "fields": [ + { + "name": "deletedScriptTagId", + "description": "The ID of the deleted script tag.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ScriptTagDisplayScope", + "description": "The page or pages on the online store where the script should be included.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "Include the script on both the web storefront and the Order status page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE", + "description": "Include the script only on the web storefront.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_STATUS", + "description": "Include the script only on the Order status page.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScriptTagEdge", + "description": "An auto-generated type which holds one ScriptTag and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ScriptTagEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ScriptTag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ScriptTagInput", + "description": "The input fields for a script tag. This input object is used when creating or updating\na script tag to specify its URL, where it should be included, and how it will be cached.", + "fields": null, + "inputFields": [ + { + "name": "cache", + "description": "Whether the Shopify CDN can cache and serve the script tag.\nIf `true`, then the script will be cached and served by the CDN.\nThe cache expires 15 minutes after the script tag is successfully returned.\nIf `false`, then the script is served as is.\nThe default value is `false`.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "displayScope", + "description": "The page or pages on the online store where the script should be included.", + "type": { + "kind": "ENUM", + "name": "ScriptTagDisplayScope", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "src", + "description": "The URL of the remote script. For example: `https://example.com/path/to/script.js`.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ScriptTagUpdatePayload", + "description": "Return type for `scriptTagUpdate` mutation.", + "fields": [ + { + "name": "scriptTag", + "description": "The script tag that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ScriptTag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchFilter", + "description": "A filter in a search query represented by a key value pair.", + "fields": [ + { + "name": "key", + "description": "The key of the search filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the search filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchFilterOptions", + "description": "A list of search filters along with their specific options in value and label pair for filtering.", + "fields": [ + { + "name": "productAvailability", + "description": "A list of options that can be use to filter product availability.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FilterOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchResult", + "description": "Represents an individual result returned from a search.", + "fields": [ + { + "name": "description", + "description": "Returns the search result description text.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "image", + "description": "Returns the Image resource presented to accompany a search result.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reference", + "description": "Returns the ID of the resource returned in the search result.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Returns the resource title.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "Returns the absolute URL to the resource in the search result.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchResultConnection", + "description": "The connection type for SearchResult.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchResultEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resultsAfterCount", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "The provided information is not accurate." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SearchResultEdge", + "description": "An auto-generated type which holds one SearchResult and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SearchResultEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchResult", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SearchResultType", + "description": "Specifies the type of resources to be returned from a search.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARTICLE", + "description": "An article.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BALANCE_TRANSACTION", + "description": "A balance transaction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOG", + "description": "A blog.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNT_REDEEM_CODE", + "description": "A code discount redeem code.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT_ORDER", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE", + "description": "A file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAGE", + "description": "A page.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE_RULE", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL_REDIRECT", + "description": "A URL redirect.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Segment", + "description": "A dynamic collection of customers based on specific criteria.", + "fields": [ + { + "name": "creationDate", + "description": "The date and time when the segment was added to the store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastEditDate", + "description": "The date and time when the segment was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the segment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A precise definition of the segment. The definition is composed of a combination of conditions on facts about customers.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentAssociationFilter", + "description": "A filter that takes a value that's associated with an object. For example, the `tags` field is associated with the [`Customer`](/api/admin-graphql/latest/objects/Customer) object.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentAttributeStatistics", + "description": "The statistics of a given attribute.", + "fields": [ + { + "name": "average", + "description": "The average of a given attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sum", + "description": "The sum of a given attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentBooleanFilter", + "description": "A filter with a Boolean value that's been added to a segment query.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentConnection", + "description": "An auto-generated type for paginating through multiple Segments.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SegmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentCreatePayload", + "description": "Return type for `segmentCreate` mutation.", + "fields": [ + { + "name": "segment", + "description": "The newly created segment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentDateFilter", + "description": "A filter with a date value that's been added to a segment query.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentDeletePayload", + "description": "Return type for `segmentDelete` mutation.", + "fields": [ + { + "name": "deletedSegmentId", + "description": "ID of the deleted segment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentEdge", + "description": "An auto-generated type which holds one Segment and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SegmentEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentEnumFilter", + "description": "A filter with a set of possible values that's been added to a segment query.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentEventFilter", + "description": "A filter that's used to segment customers based on the date that an event occured. For example, the `product_bought` event filter allows you to segment customers based on what products they've bought.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parameters", + "description": "The parameters for an event segment filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentEventFilterParameter", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnValueType", + "description": "The return value type for an event segment filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentEventFilterParameter", + "description": "The parameters for an event segment filter.", + "fields": [ + { + "name": "acceptsMultipleValues", + "description": "Whether the parameter accepts a list of values.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localizedDescription", + "description": "The localized description of the parameter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localizedName", + "description": "The localized name of the parameter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optional", + "description": "Whether the parameter is optional.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parameterType", + "description": "The type of the parameter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the parameter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "description": "The filters used in segment queries associated with a shop.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SegmentAssociationFilter", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SegmentBooleanFilter", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SegmentDateFilter", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SegmentEnumFilter", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SegmentEventFilter", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SegmentFloatFilter", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SegmentIntegerFilter", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SegmentStringFilter", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SegmentFilterConnection", + "description": "An auto-generated type for paginating through multiple SegmentFilters.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentFilterEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SegmentFilterEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentFilterEdge", + "description": "An auto-generated type which holds one SegmentFilter and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SegmentFilterEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentFloatFilter", + "description": "A filter with a double-precision, floating-point value that's been added to a segment query.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentIntegerFilter", + "description": "A filter with an integer that's been added to a segment query.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentMembership", + "description": "The response type for the `segmentMembership` object.", + "fields": [ + { + "name": "isMember", + "description": "A Boolean that indicates whether or not the customer in the query is a member of the segment, which is identified using the `segmentId`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentId", + "description": "A `segmentId` that's used for testing membership.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentMembershipResponse", + "description": "A list of maps that contain `segmentId` IDs and `isMember` Booleans. The maps represent segment memberships.", + "fields": [ + { + "name": "memberships", + "description": "The membership status for the given list of segments.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentMembership", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentMigration", + "description": "A segment and its corresponding saved search. \nFor example, you can use `SegmentMigration` to retrieve the segment ID that corresponds to a saved search ID.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of the saved search.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "segmentId", + "description": "The ID of the segment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentMigrationConnection", + "description": "An auto-generated type for paginating through multiple SegmentMigrations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentMigrationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SegmentMigrationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentMigration", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentMigrationEdge", + "description": "An auto-generated type which holds one SegmentMigration and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SegmentMigrationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentMigration", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SegmentSortKeys", + "description": "The set of valid sort keys for the Segment query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATION_DATE", + "description": "Sort by the `creation_date` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAST_EDIT_DATE", + "description": "Sort by the `last_edit_date` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentStatistics", + "description": "The statistics of a given segment.", + "fields": [ + { + "name": "attributeStatistics", + "description": "The statistics of a given attribute.", + "args": [ + { + "name": "attributeName", + "description": "The attribute that statistics are retrieved for.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentAttributeStatistics", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentStringFilter", + "description": "A filter with a string that's been added to a segment query.", + "fields": [ + { + "name": "localizedName", + "description": "The localized name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiValue", + "description": "Whether a file can have multiple values for a single customer.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The query name of the filter.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SegmentFilter", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentUpdatePayload", + "description": "Return type for `segmentUpdate` mutation.", + "fields": [ + { + "name": "segment", + "description": "The updated segment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Segment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentValue", + "description": "A list of suggested values associated with an individual segment. A\nsegment is a group of members, such as customers, that meet specific\ncriteria.", + "fields": [ + { + "name": "localizedValue", + "description": "The localized version of the value's name. This name is displayed to the merchant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryName", + "description": "The name of the query associated with the suggestion.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentValueConnection", + "description": "An auto-generated type for paginating through multiple SegmentValues.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentValueEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SegmentValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SegmentValueEdge", + "description": "An auto-generated type which holds one SegmentValue and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SegmentValueEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SegmentValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SelectedOption", + "description": "Properties used by customers to select a product variant.\nProducts can have multiple options, like different sizes or colors.", + "fields": [ + { + "name": "name", + "description": "The product option’s name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionValue", + "description": "The product option’s value object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductOptionValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The product option’s value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SelectedVariantOptionInput", + "description": "The input fields for the selected variant option of the combined listing.", + "fields": null, + "inputFields": [ + { + "name": "linkedMetafieldValue", + "description": "The metaobject value of the linked metafield.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the parent product's option.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The selected option value of the parent product's option.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlan", + "description": "Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups\nand policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing\nup these records if you need to restore them later.\n\nFor more information on selling plans, refer to\n[*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans).", + "fields": [ + { + "name": "billingPolicy", + "description": "A selling plan policy which describes the recurring billing details.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanBillingPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "category", + "description": "The category used to classify the selling plan for reporting purposes.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SellingPlanCategory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the selling plan was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPolicy", + "description": "A selling plan policy which describes the delivery details.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanDeliveryPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Buyer facing string which describes the selling plan commitment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryPolicy", + "description": "When to reserve inventory for a selling plan.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SellingPlanInventoryPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "A customer-facing description of the selling plan.\n\nIf your store supports multiple currencies, then don't include country-specific pricing content, such as \"Buy monthly, get 10$ CAD off\". This field won't be converted to reflect different currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "The values of all options available on the selling plan. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Relative position of the selling plan for display. A lower position will be displayed before a higher position.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricingPolicies", + "description": "Selling plan pricing details.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanPricingPolicy", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanAnchor", + "description": "Specifies the date when delivery or fulfillment is completed by a merchant for a given time cycle. You can also\ndefine a cutoff for which customers are eligible to enter this cycle and the desired behavior for customers who\nstart their subscription inside the cutoff period.\n\nSome example scenarios where anchors can be useful to implement advanced delivery behavior:\n- A merchant starts fulfillment on a specific date every month.\n- A merchant wants to bill the 1st of every quarter.\n- A customer expects their delivery every Tuesday.\n\nFor more details, see [About Selling Plans](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans#anchors).", + "fields": [ + { + "name": "cutoffDay", + "description": "The cutoff day for the anchor. Specifies a buffer period before the anchor date for orders to be included in a\ndelivery or fulfillment cycle.\n\nIf `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets\nthe days of the week according to ISO 8601, where 1 is Monday.\n\nIf `type` is MONTHDAY, then the value must be between 1-31.\n\nIf `type` is YEARDAY, then the value must be `null`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "day", + "description": "The day of the anchor.\n\nIf `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets\nthe days of the week according to ISO 8601, where 1 is Monday.\n\nIf `type` isn't WEEKDAY, then the value must be between 1-31.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "month", + "description": "The month of the anchor. If type is different than YEARDAY, then the value must\nbe `null` or between 1-12.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Represents the anchor type, it can be one one of WEEKDAY, MONTHDAY, YEARDAY.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanAnchorType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanAnchorInput", + "description": "The input fields required to create or update a selling plan anchor.", + "fields": null, + "inputFields": [ + { + "name": "cutoffDay", + "description": "The cutoff day of the anchor.\n\nIf `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets\nthe days of the week according to ISO 8601, where 1 is Monday.\n\nIf `type` is MONTHDAY, then the value must be between 1-31.\n\nIf `type` is YEARDAY, then the value must be `null`.\n\nThis field should only be set if the cutoff field for the delivery policy is `null`.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "day", + "description": "The day of the anchor.\n\nIf `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets\nthe days of the week according to ISO 8601, where 1 is Monday.\n\nIf `type` isn't WEEKDAY, then the value must be between 1-31.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "month", + "description": "The month of the anchor. If type is different than YEARDAY, then the value must\nbe `null` or between 1-12.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Represents the anchor type, must be one of WEEKDAY, MONTHDAY, YEARDAY.", + "type": { + "kind": "ENUM", + "name": "SellingPlanAnchorType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanAnchorType", + "description": "Represents the anchor type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "MONTHDAY", + "description": "Which day of the month, between 1-31.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEEKDAY", + "description": "Which day of the week, between 1-7.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YEARDAY", + "description": "Which days of the month and year, month between 1-12, and day between 1-31.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SellingPlanBillingPolicy", + "description": "Represents the billing frequency associated to the selling plan (for example, bill every week, or bill every\nthree months). The selling plan billing policy and associated records (selling plan groups, selling plans, pricing\npolicies, and delivery policy) are deleted 48 hours after a merchant uninstalls their subscriptions app.\nWe recommend backing up these records if you need to restore them later.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SellingPlanFixedBillingPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanRecurringBillingPolicy", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanBillingPolicyInput", + "description": "The input fields that are required to create or update a billing policy type.", + "fields": null, + "inputFields": [ + { + "name": "fixed", + "description": "The fixed billing policy details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanFixedBillingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurring", + "description": "The recurring billing policy details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanRecurringBillingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanCategory", + "description": "The category of the selling plan. For the `OTHER` category,\n you must fill out our [request form](https://docs.google.com/forms/d/e/1FAIpQLSeU18Xmw0Q61V8wdH-dfGafFqIBfRchQKUO8WAF3yJTvgyyZQ/viewform),\n where we'll review your request for a new purchase option.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "OTHER", + "description": "The selling plan is for anything not in one of the other categories.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRE_ORDER", + "description": "The selling plan is for pre-orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "The selling plan is for subscriptions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRY_BEFORE_YOU_BUY", + "description": "The selling plan is for try before you buy purchases.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanCheckoutCharge", + "description": "The amount charged at checkout when the full amount isn't charged at checkout.", + "fields": [ + { + "name": "type", + "description": "The charge type for the checkout charge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanCheckoutChargeType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The charge value for the checkout charge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanCheckoutChargeValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanCheckoutChargeInput", + "description": "The input fields that are required to create or update a checkout charge.", + "fields": null, + "inputFields": [ + { + "name": "type", + "description": "The checkout charge type defined by the policy.", + "type": { + "kind": "ENUM", + "name": "SellingPlanCheckoutChargeType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The checkout charge value defined by the policy.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanCheckoutChargeValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanCheckoutChargePercentageValue", + "description": "The percentage value of the price used for checkout charge.", + "fields": [ + { + "name": "percentage", + "description": "The percentage value of the price used for checkout charge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanCheckoutChargeType", + "description": "The checkout charge when the full amount isn't charged at checkout.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PERCENTAGE", + "description": "The checkout charge is a percentage of the product or variant price.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE", + "description": "The checkout charge is a fixed price amount.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SellingPlanCheckoutChargeValue", + "description": "The portion of the price to be charged at checkout.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanCheckoutChargePercentageValue", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanCheckoutChargeValueInput", + "description": "The input fields required to create or update an checkout charge value.", + "fields": null, + "inputFields": [ + { + "name": "fixedValue", + "description": "The fixed value for an checkout charge.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The percentage value.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanConnection", + "description": "An auto-generated type for paginating through multiple SellingPlans.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SellingPlanEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlan", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SellingPlanDeliveryPolicy", + "description": "Represents the delivery frequency associated to the selling plan (for example, deliver every month, or deliver\nevery other week). The selling plan delivery policy and associated records (selling plan groups, selling plans,\npricing policies, and billing policy) are deleted 48 hours after a merchant uninstalls their subscriptions app.\nWe recommend backing up these records if you need to restore them later.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SellingPlanFixedDeliveryPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanRecurringDeliveryPolicy", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanDeliveryPolicyInput", + "description": "The input fields that are required to create or update a delivery policy.", + "fields": null, + "inputFields": [ + { + "name": "fixed", + "description": "The fixed delivery policy details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanFixedDeliveryPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurring", + "description": "The recurring delivery policy details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanRecurringDeliveryPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanEdge", + "description": "An auto-generated type which holds one SellingPlan and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SellingPlanEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlan", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanFixedBillingPolicy", + "description": "The fixed selling plan billing policy defines how much of the price of the product will be billed to customer\nat checkout. If there is an outstanding balance, it determines when it will be paid.", + "fields": [ + { + "name": "checkoutCharge", + "description": "The checkout charge when the full amount isn't charged at checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanCheckoutCharge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingBalanceChargeExactTime", + "description": "The exact time when to capture the full payment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingBalanceChargeTimeAfterCheckout", + "description": "The period after remaining_balance_charge_trigger, before capturing the full payment. Expressed as an ISO8601 duration.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingBalanceChargeTrigger", + "description": "When to capture payment for amount due.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanRemainingBalanceChargeTrigger", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanFixedBillingPolicyInput", + "description": "The input fields required to create or update a fixed billing policy.", + "fields": null, + "inputFields": [ + { + "name": "checkoutCharge", + "description": "The checkout charge policy for the selling plan.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanCheckoutChargeInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingBalanceChargeExactTime", + "description": "The date and time to capture the full payment.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingBalanceChargeTimeAfterCheckout", + "description": "The period after capturing the payment for the amount due (`remainingBalanceChargeTrigger`), and before capturing the full payment. Expressed as an ISO8601 duration.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingBalanceChargeTrigger", + "description": "When to capture the payment for the amount due.", + "type": { + "kind": "ENUM", + "name": "SellingPlanRemainingBalanceChargeTrigger", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanFixedDeliveryPolicy", + "description": "Represents a fixed selling plan delivery policy.", + "fields": [ + { + "name": "anchors", + "description": "The specific anchor dates upon which the delivery interval calculations should be made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanAnchor", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cutoff", + "description": "A buffer period for orders to be included in next fulfillment anchor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentExactTime", + "description": "The date and time when the fulfillment should trigger.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentTrigger", + "description": "What triggers the fulfillment. The value must be one of ANCHOR, ASAP, EXACT_TIME, or UNKNOWN.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanFulfillmentTrigger", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intent", + "description": "Whether the delivery policy is merchant or buyer-centric.\nBuyer-centric delivery policies state the time when the buyer will receive the goods.\nMerchant-centric delivery policies state the time when the fulfillment should be started.\nCurrently, only merchant-centric delivery policies are supported.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanFixedDeliveryPolicyIntent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preAnchorBehavior", + "description": "The fulfillment or delivery behavior of the first fulfillment when the order is placed before the anchor. The default value for this field is `ASAP`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanFixedDeliveryPolicyPreAnchorBehavior", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanFixedDeliveryPolicyInput", + "description": "The input fields required to create or update a fixed delivery policy.", + "fields": null, + "inputFields": [ + { + "name": "anchors", + "description": "The specific anchor dates upon which the delivery interval calculations should be made.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanAnchorInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cutoff", + "description": "A buffer period for orders to be included in a cycle.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentExactTime", + "description": "The date and time when the fulfillment should trigger.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentTrigger", + "description": "What triggers the fulfillment.", + "type": { + "kind": "ENUM", + "name": "SellingPlanFulfillmentTrigger", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intent", + "description": "Whether the delivery policy is merchant or buyer-centric.", + "type": { + "kind": "ENUM", + "name": "SellingPlanFixedDeliveryPolicyIntent", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preAnchorBehavior", + "description": "The pre-anchor behavior.", + "type": { + "kind": "ENUM", + "name": "SellingPlanFixedDeliveryPolicyPreAnchorBehavior", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanFixedDeliveryPolicyIntent", + "description": "Possible intentions of a Delivery Policy.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_BEGIN", + "description": "A merchant-centric delivery policy. Mark this delivery policy to define when the merchant should start fulfillment.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanFixedDeliveryPolicyPreAnchorBehavior", + "description": "The fulfillment or delivery behavior of the first fulfillment when the orderis placed before the anchor.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ASAP", + "description": "Orders placed can be fulfilled / delivered immediately. Orders placed inside a cutoff can be fulfilled / delivered at the next anchor.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEXT", + "description": "Orders placed can be fulfilled / delivered at the next anchor date.\nOrders placed inside a cutoff will skip the next anchor and can be fulfilled /\ndelivered at the following anchor.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanFixedPricingPolicy", + "description": "Represents the pricing policy of a subscription or deferred purchase option selling plan.\nThe selling plan fixed pricing policy works with the billing and delivery policy\nto determine the final price. Discounts are divided among fulfillments.\nFor example, a subscription with a $10 discount and two deliveries will have a $5\ndiscount applied to each delivery.", + "fields": [ + { + "name": "adjustmentType", + "description": "The price adjustment type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentValue", + "description": "The price adjustment value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanPricingPolicyAdjustmentValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the fixed selling plan pricing policy was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SellingPlanPricingPolicyBase", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanFixedPricingPolicyInput", + "description": "The input fields required to create or update a fixed selling plan pricing policy.", + "fields": null, + "inputFields": [ + { + "name": "adjustmentType", + "description": "Price adjustment type defined by the policy.", + "type": { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentValue", + "description": "Price adjustment value defined by the policy.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanPricingPolicyValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the pricing policy.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanFulfillmentTrigger", + "description": "Describes what triggers fulfillment.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANCHOR", + "description": "Use the anchor values to calculate fulfillment date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASAP", + "description": "As soon as possible.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXACT_TIME", + "description": "At an exact time defined by the fulfillment_exact_time field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNKNOWN", + "description": "Unknown. Usually to be determined in the future.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "description": "Represents a selling method (for example, \"Subscribe and save\" or \"Pre-paid\"). Selling plan groups\nand associated records (selling plans and policies) are deleted 48 hours after a merchant\nuninstalls their subscriptions app. We recommend backing up these records if you need to restore them later.", + "fields": [ + { + "name": "appId", + "description": "The ID for app, exposed in Liquid and product JSON.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesToProduct", + "description": "Whether the given product is directly associated to the selling plan group.", + "args": [ + { + "name": "productId", + "description": "The ID of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesToProductVariant", + "description": "Whether the given product variant is directly associated to the selling plan group.", + "args": [ + { + "name": "productVariantId", + "description": "The ID of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesToProductVariants", + "description": "Whether any of the product variants of the given product are associated to the selling plan group.", + "args": [ + { + "name": "productId", + "description": "The ID of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the selling plan group was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The merchant-facing description of the selling plan group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantCode", + "description": "The merchant-facing label of the selling plan group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The buyer-facing label of the selling plan group.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "The values of all options available on the selling plan group. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "The relative position of the selling plan group for display.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "Product variants associated to the selling plan group.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "Filters the product variants by a product ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantsCount", + "description": "A count of product variants associated to the selling plan group.", + "args": [ + { + "name": "productId", + "description": "The ID of the product to scope the count to.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "Products associated to the selling plan group.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productsCount", + "description": "A count of products associated to the selling plan group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlans", + "description": "Selling plans associated to the selling plan group.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "A summary of the policies associated to the selling plan group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupAddProductVariantsPayload", + "description": "Return type for `sellingPlanGroupAddProductVariants` mutation.", + "fields": [ + { + "name": "sellingPlanGroup", + "description": "The updated selling plan group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupAddProductsPayload", + "description": "Return type for `sellingPlanGroupAddProducts` mutation.", + "fields": [ + { + "name": "sellingPlanGroup", + "description": "The updated selling plan group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupConnection", + "description": "An auto-generated type for paginating through multiple SellingPlanGroups.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SellingPlanGroupEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupCreatePayload", + "description": "Return type for `sellingPlanGroupCreate` mutation.", + "fields": [ + { + "name": "sellingPlanGroup", + "description": "The created selling plan group object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupDeletePayload", + "description": "Return type for `sellingPlanGroupDelete` mutation.", + "fields": [ + { + "name": "deletedSellingPlanGroupId", + "description": "The ID of the deleted selling plan group object.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupEdge", + "description": "An auto-generated type which holds one SellingPlanGroup and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SellingPlanGroupEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanGroupInput", + "description": "The input fields required to create or update a selling plan group.", + "fields": null, + "inputFields": [ + { + "name": "appId", + "description": "ID for app, exposed in Liquid and product JSON.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Merchant facing description of the selling plan group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantCode", + "description": "Merchant facing label of the selling plan group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Buyer facing label of the selling plan group.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "The values of all options available on the selling plan group. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Relative value for display purposes of the selling plan group. A lower position will be displayed before a higher one.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlansToCreate", + "description": "List of selling plans to create.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlansToDelete", + "description": "List of selling plans ids to delete.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlansToUpdate", + "description": "List of selling plans to update.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupRemoveProductVariantsPayload", + "description": "Return type for `sellingPlanGroupRemoveProductVariants` mutation.", + "fields": [ + { + "name": "removedProductVariantIds", + "description": "The removed product variant ids.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupRemoveProductsPayload", + "description": "Return type for `sellingPlanGroupRemoveProducts` mutation.", + "fields": [ + { + "name": "removedProductIds", + "description": "The removed product ids.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanGroupResourceInput", + "description": "The input fields for resource association with a Selling Plan Group.", + "fields": null, + "inputFields": [ + { + "name": "productIds", + "description": "The IDs of the Products to add to the Selling Plan Group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantIds", + "description": "The IDs of the Variants to add to the Selling Plan Group.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanGroupSortKeys", + "description": "The set of valid sort keys for the SellingPlanGroup query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NAME", + "description": "Sort by the `name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATED_AT", + "description": "Sort by the `updated_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupUpdatePayload", + "description": "Return type for `sellingPlanGroupUpdate` mutation.", + "fields": [ + { + "name": "deletedSellingPlanIds", + "description": "The IDs of the deleted Subscription Plans.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanGroup", + "description": "The updated Selling Plan Group.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SellingPlanGroup", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanGroupUserError", + "description": "Represents a selling plan group custom error.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SellingPlanGroupUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanGroupUserErrorCode", + "description": "Possible error codes that can be returned by `SellingPlanGroupUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BILLING_AND_DELIVERY_POLICY_TYPES_MUST_BE_THE_SAME", + "description": "Billing and delivery policy types must be the same.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_POLICY_INTERVAL_TOO_LARGE", + "description": "Billing policy's interval is too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHECKOUT_CHARGE_VALUE_AND_TYPE_MUST_MATCH", + "description": "A fixed billing policy's checkout charge value and type must match.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_POLICY_INTERVAL_TOO_LARGE", + "description": "Delivery policy's interval is too large.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EQUAL_TO", + "description": "The input value should be equal to the value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERROR_ADDING_RESOURCE_TO_GROUP", + "description": "Could not add the resource to the selling plan group.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_EXACT_TIME_NOT_ALLOWED", + "description": "A fixed billing policy's fulfillment_exact_time must not be present when the fulfillment_trigger isn't EXACT_TIME.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_EXACT_TIME_REQUIRED", + "description": "A fixed billing policy's fulfillment_exact_time can't be blank when the fulfillment_trigger is EXACT_TIME.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The input value should be greater than the minimum allowed value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "The input value should be greater than or equal to the minimum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUP_COULD_NOT_BE_DELETED", + "description": "Selling plan group could not be deleted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GROUP_DOES_NOT_EXIST", + "description": "Selling plan group does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT", + "description": "The input submitted is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN", + "description": "The input value should be less than the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The input value should be less than or equal to the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_A_NUMBER", + "description": "The input value is not a number.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_NEED_ONE_BILLING_POLICY_TYPE", + "description": "Only one billing policy type can be defined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_NEED_ONE_CHECKOUT_CHARGE_VALUE", + "description": "A fixed billing policy's checkout charge can have at most one value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_NEED_ONE_DELIVERY_POLICY_TYPE", + "description": "Only one delivery policy type can be defined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_NEED_ONE_PRICING_POLICY_TYPE", + "description": "Only one pricing policy type can be defined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_NEED_ONE_PRICING_POLICY_VALUE", + "description": "Only one pricing policy adjustment value type can be defined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_ONE_OF_FIXED_OR_RECURRING_BILLING", + "description": "A selling plan can't have both fixed and recurring billing policies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLY_ONE_OF_FIXED_OR_RECURRING_DELIVERY", + "description": "A selling plan can't have both fixed and recurring delivery policies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLAN_DOES_NOT_EXIST", + "description": "Selling plan does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PLAN_ID_MUST_BE_SPECIFIED_TO_UPDATE", + "description": "Selling plan ID must be specified to update.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICING_POLICY_ADJUSTMENT_VALUE_AND_TYPE_MUST_MATCH", + "description": "Pricing policy's adjustment value and adjustment type must match.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_DOES_NOT_EXIST", + "description": "Product does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_VARIANT_DOES_NOT_EXIST", + "description": "Product variant does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMAINING_BALANCE_CHARGE_EXACT_TIME_NOT_ALLOWED", + "description": "A fixed billing policy's remaining_balance_charge_exact_time must not be present when the remaining_balance_charge_trigger isn't EXACT_TIME.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMAINING_BALANCE_CHARGE_EXACT_TIME_REQUIRED", + "description": "A fixed billing policy's remaining_balance_charge_exact_time can't be blank when the remaining_balance_charge_trigger is EXACT_TIME.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMAINING_BALANCE_CHARGE_TIME_AFTER_CHECKOUT_MUST_BE_GREATER_THAN_ZERO", + "description": "A fixed billing policy's remaining_balance_charge_time_after_checkout must be present and greater than zero when the remaining_balance_charge_trigger is TIME_AFTER_CHECKOUT.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMAINING_BALANCE_CHARGE_TRIGGER_NO_REMAINING_BALANCE_ON_PARTIAL_PERCENTAGE_CHECKOUT_CHARGE", + "description": "A fixed billing policy's remaining_balance_charge_trigger can't be NO_REMAINING_BALANCE when the checkout_charge_type is PERCENTAGE and checkout_charge_value is less than 100.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMAINING_BALANCE_CHARGE_TRIGGER_NO_REMAINING_BALANCE_ON_PRICE_CHECKOUT_CHARGE", + "description": "A fixed billing policy's remaining_balance_charge_trigger can't be NO_REMAINING_BALANCE when the checkout_charge_type is PRICE.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REMAINING_BALANCE_CHARGE_TRIGGER_ON_FULL_CHECKOUT", + "description": "A fixed billing policy's remaining_balance_charge_trigger must be NO_REMAINING_BALANCE when the checkout_charge_type is PERCENTAGE and checkout_charge_value is 100.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOURCE_LIST_CONTAINS_INVALID_IDS", + "description": "The selling plan list provided contains 1 or more invalid IDs.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_ANCHORS_NOT_ALLOWED", + "description": "A fixed delivery policy's anchors must not be present when the fulfillment_trigger isn't ANCHOR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_ANCHORS_REQUIRED", + "description": "A fixed delivery policy's anchors must be present when the fulfillment_trigger is ANCHOR.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_BILLING_AND_DELIVERY_POLICY_ANCHORS_MUST_BE_EQUAL", + "description": "Selling plan's billing and delivery policies anchors must be equal.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_BILLING_CYCLE_MUST_BE_A_MULTIPLE_OF_DELIVERY_CYCLE", + "description": "Selling plan's billing cycle must be a multiple of delivery cycle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_BILLING_POLICY_MISSING", + "description": "Missing billing policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_COUNT_LOWER_BOUND", + "description": "Must include at least one selling plan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_COUNT_UPPER_BOUND", + "description": "Exceeded the selling plan limit (31).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_DELIVERY_POLICY_MISSING", + "description": "Missing delivery policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_DUPLICATE_NAME", + "description": "Cannot have multiple selling plans with the same name.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_DUPLICATE_OPTIONS", + "description": "Cannot have multiple selling plans with the same options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_FIXED_PRICING_POLICIES_LIMIT", + "description": "A fixed selling plan can have at most one pricing policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_MAX_CYCLES_MUST_BE_GREATER_THAN_MIN_CYCLES", + "description": "Selling plan's billing policy max cycles must be greater than min cycles.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_MISSING_OPTION2_LABEL_ON_PARENT_GROUP", + "description": "Cannot define option2 on this selling plan as there's no label on the parent selling plan group.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_MISSING_OPTION3_LABEL_ON_PARENT_GROUP", + "description": "Cannot define option3 on this selling plan as there's no label on the parent selling plan group.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_OPTION2_REQUIRED_AS_DEFINED_ON_PARENT_GROUP", + "description": "Selling plan's option2 is required because option2 exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_OPTION3_REQUIRED_AS_DEFINED_ON_PARENT_GROUP", + "description": "Selling plan's option3 is required because option3 exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_PRICING_POLICIES_LIMIT", + "description": "Selling plans can't have more than 2 pricing policies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_PRICING_POLICIES_MUST_CONTAIN_A_FIXED_PRICING_POLICY", + "description": "Selling plan's pricing policies must contain one fixed pricing policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_BIG", + "description": "The input value is too big.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WRONG_LENGTH", + "description": "The input value is the wrong length.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanInput", + "description": "The input fields to create or update a selling plan.", + "fields": null, + "inputFields": [ + { + "name": "billingPolicy", + "description": "Selling plan policy which describes the billing details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanBillingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "category", + "description": "The category used to classify this selling plan for reporting purposes.", + "type": { + "kind": "ENUM", + "name": "SellingPlanCategory", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPolicy", + "description": "A selling plan policy which describes the delivery details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanDeliveryPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "Buyer facing string which describes the selling plan commitment.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the selling plan.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryPolicy", + "description": "A selling plan policy which describes the inventory details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanInventoryPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional customizable information to associate with the SellingPlan.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Buyer facing string which describes the selling plan content.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "The values of all options available on the selling plan. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "position", + "description": "Relative value for display purposes of this plan. A lower position will be displayed before a higher one.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricingPolicies", + "description": "The pricing policies which describe the pricing details. Each selling plan\ncan only contain a maximum of 2 pricing policies.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanPricingPolicyInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanInterval", + "description": "Represents valid selling plan interval.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DAY", + "description": "Day interval.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MONTH", + "description": "Month interval.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEEK", + "description": "Week interval.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "YEAR", + "description": "Year interval.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanInventoryPolicy", + "description": "The selling plan inventory policy.", + "fields": [ + { + "name": "reserve", + "description": "When to reserve inventory for the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanReserve", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanInventoryPolicyInput", + "description": "The input fields required to create or update an inventory policy.", + "fields": null, + "inputFields": [ + { + "name": "reserve", + "description": "When to reserve inventory for the order. The value must be ON_FULFILLMENT or ON_SALE.", + "type": { + "kind": "ENUM", + "name": "SellingPlanReserve", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SellingPlanPricingPolicy", + "description": "Represents the type of pricing associated to the selling plan (for example, a $10 or 20% discount that is set\nfor a limited period or that is fixed for the duration of the subscription). Selling plan pricing policies and\nassociated records (selling plan groups, selling plans, billing policy, and delivery policy) are deleted 48\nhours after a merchant uninstalls their subscriptions app. We recommend backing up these records if you need\nto restore them later.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SellingPlanFixedPricingPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanRecurringPricingPolicy", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "description": "Represents a selling plan pricing policy adjustment type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FIXED_AMOUNT", + "description": "Fixed amount off adjustment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PERCENTAGE", + "description": "Percentage off adjustment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRICE", + "description": "Price of the policy.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SellingPlanPricingPolicyAdjustmentValue", + "description": "Represents a selling plan pricing policy adjustment value type.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanPricingPolicyPercentageValue", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "SellingPlanPricingPolicyBase", + "description": "Represents selling plan pricing policy common fields.", + "fields": [ + { + "name": "adjustmentType", + "description": "The price adjustment type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentValue", + "description": "The price adjustment value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanPricingPolicyAdjustmentValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SellingPlanFixedPricingPolicy", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanRecurringPricingPolicy", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanPricingPolicyInput", + "description": "The input fields required to create or update a selling plan pricing policy.", + "fields": null, + "inputFields": [ + { + "name": "fixed", + "description": "Fixed pricing policy details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanFixedPricingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurring", + "description": "Recurring pricing policy details.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanRecurringPricingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanPricingPolicyPercentageValue", + "description": "The percentage value of a selling plan pricing policy percentage type.", + "fields": [ + { + "name": "percentage", + "description": "The percentage value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanPricingPolicyValueInput", + "description": "The input fields required to create or update a pricing policy adjustment value.", + "fields": null, + "inputFields": [ + { + "name": "fixedValue", + "description": "The fixed value for an fixed amount off or a new policy price.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The percentage value.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanRecurringBillingPolicy", + "description": "Represents a recurring selling plan billing policy.", + "fields": [ + { + "name": "anchors", + "description": "Specific anchor dates upon which the billing interval calculations should be made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanAnchor", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the selling plan billing policy was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The billing frequency, it can be either: day, week, month or year.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of intervals between billings.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxCycles", + "description": "Maximum number of billing iterations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minCycles", + "description": "Minimum number of billing iterations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanRecurringBillingPolicyInput", + "description": "The input fields required to create or update a recurring billing policy.", + "fields": null, + "inputFields": [ + { + "name": "anchors", + "description": "Specific anchor dates upon which the billing interval calculations should be made.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanAnchorInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The billing frequency, it can be either: day, week, month or year.", + "type": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of intervals between billings.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxCycles", + "description": "Maximum number of billing iterations.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minCycles", + "description": "Minimum number of billing iterations.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanRecurringDeliveryPolicy", + "description": "Represents a recurring selling plan delivery policy.", + "fields": [ + { + "name": "anchors", + "description": "The specific anchor dates upon which the delivery interval calculations should be made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanAnchor", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the selling plan delivery policy was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cutoff", + "description": "Number of days which represent a buffer period for orders to be included in a cycle.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intent", + "description": "Whether the delivery policy is merchant or buyer-centric.\nBuyer-centric delivery policies state the time when the buyer will receive the goods.\nMerchant-centric delivery policies state the time when the fulfillment should be started.\nCurrently, only merchant-centric delivery policies are supported.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanRecurringDeliveryPolicyIntent", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The delivery frequency, it can be either: day, week, month or year.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of intervals between deliveries.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preAnchorBehavior", + "description": "The fulfillment or delivery behavior of the first fulfillment when the order is placed before the anchor. The default value for this field is `ASAP`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanRecurringDeliveryPolicyPreAnchorBehavior", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanRecurringDeliveryPolicyInput", + "description": "The input fields to create or update a recurring delivery policy.", + "fields": null, + "inputFields": [ + { + "name": "anchors", + "description": "The specific anchor dates upon which the delivery interval calculations should be made.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanAnchorInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cutoff", + "description": "A buffer period for orders to be included in a cycle.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intent", + "description": "Intention of this delivery policy, it can be either: delivery or fulfillment.", + "type": { + "kind": "ENUM", + "name": "SellingPlanRecurringDeliveryPolicyIntent", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The delivery frequency, it can be either: day, week, month or year.", + "type": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of intervals between deliveries.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preAnchorBehavior", + "description": "The pre-anchor behavior. It can be either: asap or next.", + "type": { + "kind": "ENUM", + "name": "SellingPlanRecurringDeliveryPolicyPreAnchorBehavior", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanRecurringDeliveryPolicyIntent", + "description": "Whether the delivery policy is merchant or buyer-centric.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FULFILLMENT_BEGIN", + "description": "A merchant-centric delivery policy. Mark this delivery policy to define when the merchant should start fulfillment.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanRecurringDeliveryPolicyPreAnchorBehavior", + "description": "The fulfillment or delivery behaviors of the first fulfillment when the orderis placed before the anchor.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ASAP", + "description": "The orders placed can be fulfilled or delivered immediately. The orders placed inside a cutoff can be fulfilled or delivered at the next anchor.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEXT", + "description": "The orders placed can be fulfilled or delivered at the next anchor date.\nThe orders placed inside a cutoff will skip the next anchor and can be fulfilled or\ndelivered at the following anchor.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SellingPlanRecurringPricingPolicy", + "description": "Represents a recurring selling plan pricing policy. It applies after the fixed pricing policy. By using the afterCycle parameter, you can specify the cycle when the recurring pricing policy comes into effect. Recurring pricing policies are not available for deferred purchase options.", + "fields": [ + { + "name": "adjustmentType", + "description": "The price adjustment type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentValue", + "description": "The price adjustment value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanPricingPolicyAdjustmentValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "afterCycle", + "description": "Cycle after which this pricing policy applies.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the recurring selling plan pricing policy was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SellingPlanPricingPolicyBase", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SellingPlanRecurringPricingPolicyInput", + "description": "The input fields required to create or update a recurring selling plan pricing policy.", + "fields": null, + "inputFields": [ + { + "name": "adjustmentType", + "description": "Price adjustment type defined by the policy.", + "type": { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentValue", + "description": "Price adjustment value defined by the policy.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanPricingPolicyValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "afterCycle", + "description": "Cycle after which the pricing policy applies.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "ID of the pricing policy.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanRemainingBalanceChargeTrigger", + "description": "When to capture the payment for the remaining amount due.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EXACT_TIME", + "description": "At an exact time defined by the remaining_balance_charge_exact_time field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_REMAINING_BALANCE", + "description": "When there's no remaining balance to be charged after checkout.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TIME_AFTER_CHECKOUT", + "description": "After the duration defined by the remaining_balance_charge_time_after_checkout field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SellingPlanReserve", + "description": "When to reserve inventory for a selling plan.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ON_FULFILLMENT", + "description": "Reserve inventory when order is fulfilled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ON_SALE", + "description": "Reserve inventory at time of sale.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ServerPixel", + "description": "A server pixel stores configuration for streaming customer interactions to an EventBridge or PubSub endpoint.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current state of this server pixel.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ServerPixelStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookEndpointAddress", + "description": "Address of the EventBridge or PubSub endpoint.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ServerPixelCreatePayload", + "description": "Return type for `serverPixelCreate` mutation.", + "fields": [ + { + "name": "serverPixel", + "description": "The new server pixel.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ServerPixel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorsServerPixelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ServerPixelDeletePayload", + "description": "Return type for `serverPixelDelete` mutation.", + "fields": [ + { + "name": "deletedServerPixelId", + "description": "The ID of the server pixel that was deleted, if one was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorsServerPixelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ServerPixelStatus", + "description": "The current state of a server pixel.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONNECTED", + "description": "This server pixel is connected: it will stream customer events to the endpoint if it is configured properly.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCONNECTED_CONFIGURED", + "description": "This server pixel is disconnected: it does not stream events to the endpoint and an endpoint address has been added to the server pixel.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCONNECTED_UNCONFIGURED", + "description": "This server pixel is disconnected and unconfigured: it does not stream events to the endpoint and no endpoint address had been added to the server pixel.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShippingDiscountClass", + "description": "The class of the discount for combining purposes.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SHIPPING", + "description": "Combined as a shipping discount.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingLine", + "description": "Represents the shipping details that the customer chose for their order.", + "fields": [ + { + "name": "carrierIdentifier", + "description": "A reference to the carrier service that provided the rate.\nPresent when the rate was computed by a third-party carrier service.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "A reference to the shipping method.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currentDiscountedPriceSet", + "description": "The current shipping price after applying refunds, after applying discounts. If the parent `order.taxesIncluded`` field is true, then this price includes taxes. Otherwise, this field is the pre-tax price.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "custom", + "description": "Whether the shipping line is custom or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryCategory", + "description": "The general classification of the delivery method.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAllocations", + "description": "The discounts that have been allocated to the shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedPrice", + "description": "The pre-tax shipping price with discounts applied.\nAs of API version 2024-07, this will be calculated including cart level discounts, such as the free shipping discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `discountedPriceSet` instead." + }, + { + "name": "discountedPriceSet", + "description": "The shipping price after applying discounts. If the parent order.taxesIncluded field is true, then this price includes taxes. If not, it's the pre-tax price.\nAs of API version 2024-07, this will be calculated including cart level discounts, such as the free shipping discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRemoved", + "description": "Whether the shipping line has been removed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalPrice", + "description": "The pre-tax shipping price without any discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originalPriceSet` instead." + }, + { + "name": "originalPriceSet", + "description": "The pre-tax shipping price without any discounts applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number at the shipping address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "Returns the price of the shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `originalPriceSet` instead." + }, + { + "name": "requestedFulfillmentService", + "description": "The fulfillment service requested for the shipping method.\nPresent if the shipping method requires processing by a third party fulfillment service.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingRateHandle", + "description": "A unique identifier for the shipping rate. The format can change without notice and isn't meant to be shown to users.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "Returns the rate source for the shipping line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxLines", + "description": "The TaxLine objects connected to this shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Returns the title of the shipping line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingLineConnection", + "description": "An auto-generated type for paginating through multiple ShippingLines.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingLineEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ShippingLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingLineEdge", + "description": "An auto-generated type which holds one ShippingLine and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ShippingLineEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ShippingLineInput", + "description": "The input fields for specifying the shipping details for the draft order.\n\n> Note:\n> A custom shipping line includes a title and price with `shippingRateHandle` set to `nil`. A shipping line with a carrier-provided shipping rate (currently set via the Shopify admin) includes the shipping rate handle.", + "fields": null, + "inputFields": [ + { + "name": "priceWithCurrency", + "description": "Price of the shipping rate with currency. If provided, `price` will be ignored.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingRateHandle", + "description": "A unique identifier for the shipping rate.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Title of the shipping rate.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingLineSale", + "description": "A sale associated with a shipping charge.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingLine", + "description": "The shipping line item for the associated sale. `shippingLine` is not available if the `SaleActionType` is a return.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShippingLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingPackageDeletePayload", + "description": "Return type for `shippingPackageDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "The ID of the deleted shipping package.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingPackageMakeDefaultPayload", + "description": "Return type for `shippingPackageMakeDefault` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShippingPackageType", + "description": "Type of a shipping package.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BOX", + "description": "A shipping box.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENVELOPE", + "description": "An envelope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FLAT_RATE", + "description": "A flat rate packaging supplied by a carrier.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SOFT_PACK", + "description": "A soft-pack, bubble-wrap or vinyl envelope.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingPackageUpdatePayload", + "description": "Return type for `shippingPackageUpdate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingRate", + "description": "A shipping rate is an additional cost added to the cost of the products that were ordered.", + "fields": [ + { + "name": "handle", + "description": "Human-readable unique identifier for this shipping rate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The cost associated with the shipping rate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the shipping rate.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShippingRefund", + "description": "Represents the shipping costs refunded on the Refund.", + "fields": [ + { + "name": "amount", + "description": "The monetary value of the shipping fees to be refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `amountSet` instead." + }, + { + "name": "amountSet", + "description": "The monetary value of the shipping fees to be refunded in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumRefundable", + "description": "The maximum amount of shipping fees currently refundable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `maximumRefundableSet` instead." + }, + { + "name": "maximumRefundableSet", + "description": "The maximum amount of shipping fees currently refundable in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tax", + "description": "The monetary value of the tax allocated to shipping fees to be refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `taxSet` instead." + }, + { + "name": "taxSet", + "description": "The monetary value of the tax allocated to shipping fees to be refunded in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ShippingRefundInput", + "description": "The input fields that are required to reimburse shipping costs.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "The monetary value of the shipping fees to be reimbursed.", + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullRefund", + "description": "Whether a full refund is provided.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Shop", + "description": "Represents a collection of general settings and information about the shop.", + "fields": [ + { + "name": "accountOwner", + "description": "Account owner information.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "alerts", + "description": "A list of the shop's active alert messages that appear in the Shopify admin.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopAlert", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "allProductCategories", + "description": "A list of the shop's product categories. Limit: 1000 product categories.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductCategory", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Deprecated in API version 2024-07. Use `allProductCategoriesList` instead." + }, + { + "name": "allProductCategoriesList", + "description": "A list of the shop's product categories. Limit: 1000 product categories.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategory", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "analyticsToken", + "description": "The token required to query the shop's reports or dashboards.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Not supported anymore." + }, + { + "name": "assignedFulfillmentOrders", + "description": "The paginated list of fulfillment orders assigned to the shop locations owned by the app.\n\nAssigned fulfillment orders are fulfillment orders that are set to be fulfilled from locations\nmanaged by\n[fulfillment services](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService)\nthat are registered by the app.\nOne app (api_client) can host multiple fulfillment services on a shop.\nEach fulfillment service manages a dedicated location on a shop.\nAssigned fulfillment orders can have associated\n[fulfillment requests](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderRequestStatus),\nor might currently not be requested to be fulfilled.\n\nThe app must have `read_assigned_fulfillment_orders`\n[access scope](https://shopify.dev/docs/api/usage/access-scopes)\nto be able to retrieve fulfillment orders assigned to its locations.\n\nAll assigned fulfillment orders (except those with the `CLOSED` status) will be returned by default.\nPerform filtering with the `assignmentStatus` argument\nto receive only fulfillment orders that have been requested to be fulfilled.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assignmentStatus", + "description": "The assigment status of the fulfillment orders that should be returned.\nIf `assignmentStatus` argument is not provided, then\nthe query will return all assigned fulfillment orders,\nexcept those that have the `CLOSED` status.", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderAssignmentStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationIds", + "description": "Returns fulfillment orders only for certain locations, specified by a list of location IDs.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.assignedFulfillmentOrders` instead. Details: https://shopify.dev/changelog/moving-the-shop-assignedfulfillmentorders-connection-to-queryroot" + }, + { + "name": "availableChannelApps", + "description": "The list of sales channels not currently installed on the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AppConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddress", + "description": "The shop's billing address information.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopAddress", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channelDefinitionsForInstalledChannels", + "description": "List of all channel definitions associated with a shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AvailableChannelDefinitionsByChannel", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "channels", + "description": "List of the shop's active sales channels.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ChannelConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.channels` instead." + }, + { + "name": "checkoutApiSupported", + "description": "Specifies whether the shop supports checkouts via Checkout API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "collectionByHandle", + "description": "Return a collection by its handle.", + "args": [ + { + "name": "handle", + "description": "The handle of the collection.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Collection", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.collectionByHandle` instead." + }, + { + "name": "collectionSavedSearches", + "description": "List of the shop's collection saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.collectionSavedSearches` instead." + }, + { + "name": "collections", + "description": "List of the shop's collections.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| collection_type | string | | - `custom`
- `smart` |\n| handle | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| product_id | id | Filter by collections containing a product by its ID. |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the collection was published to the Online Store. |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| title | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CollectionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CollectionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.collections` instead." + }, + { + "name": "contactEmail", + "description": "The public-facing contact email address for the shop.\nCustomers will use this email to communicate with the shop owner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countriesInShippingZones", + "description": "Countries that have been defined in shipping zones for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CountriesInShippingZones", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the shop was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The three letter code for the currency that the shop sells in.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyFormats", + "description": "How currencies are displayed on your store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CurrencyFormats", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencySettings", + "description": "The presentment currency settings for the shop excluding the shop's own currency.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CurrencySettingConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccounts", + "description": "Whether customer accounts are required, optional, or disabled for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopCustomerAccountsSetting", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccountsV2", + "description": "Information about the shop's customer accounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerAccountsV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerSavedSearches", + "description": "List of the shop's customer saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| name | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CustomerSavedSearchSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.customerSavedSearches` instead." + }, + { + "name": "customerTags", + "description": "A list of tags that have been added to customer accounts.", + "args": [ + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StringConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customers", + "description": "Customer accounts associated to the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| email | string | The customer's email address, used to communicate information about orders and for the purposes of email marketing campaigns. You can use a wildcard value to filter the query by customers who have an email address specified. | | | - `email:bo.wang@example.com`
- `email:*` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| phone | string | The phone number of the customer, used to communicate information about orders and for the purposes of SMS marketing campaigns. You can use a wildcard value to filter the query by customers who have a phone number specified. | | | - `phone:+18005550100`
- `phone:*` |\n| updated_at | time | The date and time, matching a whole day, when the customer's information was last updated. | | | - `updated_at:2024-01-01T00:00:00Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "CustomerSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CustomerConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.customers` instead." + }, + { + "name": "description", + "description": "The shop's meta description used in search engine results.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "domains", + "description": "The domains configured for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Domain", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `domainsPaginated` instead." + }, + { + "name": "draftOrderSavedSearches", + "description": "List of the shop's draft order saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.draftOrderSavedSearches` instead." + }, + { + "name": "draftOrderTags", + "description": "A list of tags that have been added to draft orders.", + "args": [ + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StringConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draftOrders", + "description": "List of saved draft orders on the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time |\n| customer_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| source | string |\n| status | string |\n| tag | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "DraftOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "DraftOrderConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.draftOrders` instead." + }, + { + "name": "email", + "description": "The shop owner's email address.\nShopify will use this email address to communicate with the shop owner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabledPresentmentCurrencies", + "description": "The presentment currencies enabled for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "features", + "description": "The set of features enabled for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopFeatures", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillmentOrders", + "description": "The paginated list of merchant-managed and third-party fulfillment orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeClosed", + "description": "Whether to include closed fulfillment orders.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| assigned_location_id | id |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| status | string |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "FulfillmentOrderSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentOrderConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.fulfillmentOrders` instead." + }, + { + "name": "fulfillmentServices", + "description": "List of the shop's installed fulfillment services.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FulfillmentService", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ianaTimezone", + "description": "The shop's time zone as defined by the IANA.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inventoryItems", + "description": "List of the shop's inventory items.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| created_at | time |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| sku | string | Filter by the inventory item [`sku`](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| updated_at | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "InventoryItemConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.inventoryItems` instead." + }, + { + "name": "limitedPendingOrderCount", + "description": "The number of pendings orders on the shop.\nLimited to a maximum of 10000.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LimitedPendingOrderCount", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.pendingOrdersCount` instead." + }, + { + "name": "locations", + "description": "List of active locations of the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeInactive", + "description": "Whether to include the locations that are deactivated.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeLegacy", + "description": "Whether to include the legacy locations of fulfillment services.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| active | string |\n| address1 | string |\n| address2 | string |\n| city | string |\n| country | string |\n| created_at | time |\n| geolocated | boolean |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| legacy | boolean |\n| name | string |\n| pickup_in_store | string | | - `enabled`
- `disabled` |\n| province | string |\n| zip | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "LocationSortKeys", + "ofType": null + }, + "defaultValue": "NAME", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LocationConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.locations` instead." + }, + { + "name": "marketingEvents", + "description": "List of a shop's marketing events.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| app_id | id |\n| description | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| started_at | time |\n| type | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MarketingEventSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketingEventConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.marketingEvents` instead." + }, + { + "name": "marketingSmsConsentEnabledAtCheckout", + "description": "Whether SMS marketing has been enabled on the shop's checkout configuration settings.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "merchantApprovalSignals", + "description": "The approval signals for a shop to support onboarding to channel apps.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MerchantApprovalSignals", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "myshopifyDomain", + "description": "The shop's .myshopify.com domain name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The shop's name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "navigationSettings", + "description": "The shop's settings related to navigation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "NavigationItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderNumberFormatPrefix", + "description": "The prefix that appears before order numbers.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderNumberFormatSuffix", + "description": "The suffix that appears after order numbers.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderSavedSearches", + "description": "List of the shop's order saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.orderSavedSearches` instead." + }, + { + "name": "orderTags", + "description": "A list of tags that have been added to orders.", + "args": [ + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sort", + "description": "Sort type.", + "type": { + "kind": "ENUM", + "name": "ShopTagSort", + "ofType": null + }, + "defaultValue": "ALPHABETICAL", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StringConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "A list of the shop's orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| cart_token | string | Filter by the cart token's unique value, which references the cart that's associated with an order. | | | - `cart_token:abc123` |\n| channel | string | Filter by the channel information [`handle`](https://shopify.dev/api/admin-graphql/latest/objects/ChannelInformation#field-channeldefinition) (`ChannelInformation.channelDefinition.handle`) field. | | | - `channel:web`
- `channel:web,pos` |\n| channel_id | id | Filter by the channel [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-id) field. | | | - `channel_id:123` |\n| chargeback_status | string | Filter by the order's chargeback status. A chargeback occurs when a customer questions the legitimacy of a charge with their financial institution. | - `accepted`
- `charge_refunded`
- `lost`
- `needs_response`
- `under_review`
- `won` | | - `chargeback_status:accepted` |\n| checkout_token | string | Filter by the checkout token's unique value, which references the checkout that's associated with an order. | | | - `checkout_token:abc123` |\n| confirmation_number | string | Filter by the randomly generated alpha-numeric identifier for an order that can be displayed to the customer instead of the sequential order name. This value isn't guaranteed to be unique. | | | - `confirmation_number:ABC123` |\n| created_at | time | Filter by the date and time when the order was created in Shopify's system. | | | - `created_at:2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| credit_card_last4 | string | Filter by the last four digits of the credit card that was used to pay for the order. | | | - `credit_card_last4:1234` |\n| customer_id | id | Filter orders by the customer [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Customer#field-id) field. | | | - `customer_id:123` |\n| delivery_method | string | Filter by the delivery [`methodType`](https://shopify.dev/api/admin-graphql/2024-07/objects/DeliveryMethod#field-methodtype) field. | - `shipping`
- `pick-up`
- `retail`
- `local`
- `pickup-point`
- `none` | | - `delivery_method:shipping` |\n| discount_code | string | Filter by the case-insensitive discount code that was applied to the order at checkout. Maximum characters: 255. | | | - `discount_code:ABC123` |\n| email | string | Filter by the email address that's associated with the order. | | | - `email:example@shopify.com` |\n| financial_status | string | Filter by the order [`displayFinancialStatus`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-displayfinancialstatus) field. | - `paid`
- `pending`
- `authorized`
- `partially_paid`
- `partially_refunded`
- `refunded`
- `voided`
- `expired` | | - `financial_status:authorized` |\n| fraud_protection_level | string | Filter by the level of fraud protection that's applied to the order. | - `fully_protected`
- `partially_protected`
- `not_protected`
- `pending`
- `not_eligible`
- `not_available` | | - `fraud_protection_level:fully_protected` |\n| fulfillment_location_id | id | Filter by the fulfillment location [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment#field-location) (`Fulfillment.location.id`) field. | | | - `fulfillment_location_id:123` |\n| fulfillment_status | string | Filter by the order's fulfillment status. | - `unfulfilled`
- `fulfilled`
- `partial`
- `scheduled`
- `on_hold`
- `request_declined` | | - `fulfillment_status:fulfilled` |\n| gateway | string | Filter by the order [`paymentGatewayNames`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-paymentgatewaynames) field. | | | - `gateway:shopify_payments` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| location_id | id | Filter by the ID of the location that's associated with the order. | | | - `location_id:123` |\n| name | string | Filter by the order [`name`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-name) field. | | | - `name:1001-A` |\n| payment_id | string | Filter by the ID of the payment that's associated with the order. | | | - `payment_id:abc123` |\n| payment_provider_id | id | Filter by the ID of the payment provider that's associated with the order. | | | - `payment_provider_id:123` |\n| po_number | string | Filter by the order [`poNumber`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-ponumber) field. | | | - `po_number:P01001` |\n| processed_at | time | Filter by the order [`processedAt`](https://shopify.dev/api/admin-graphql/latest/objects/Order#field-processedat) field. | | | - `processed_at:2021-01-01T00:00:00Z` |\n| reference_location_id | id | Filter by the ID of a location that's associated with the order, such as locations from fulfillments, refunds, or the shop's primary location. | | | - `reference_location_id:123` |\n| return_status | string | Filter by the order's return status. | - `open`
- `requested`
- `declined`
- `canceled`
- `closed` | | - `return_status:open` |\n| risk_level | string | Filter by the order risk assessment [`riskLevel`](https://shopify.dev/api/admin-graphql/latest/objects/OrderRiskAssessment#field-risklevel) field. | - `high`
- `medium`
- `low`
- `none`
- `pending` | | - `risk_level:high` |\n| sales_channel | string | Filter by the sales channel that the order is attributed to. | | | - `sales_channel: some_sales_channel` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:ABC123` |\n| source_identifier | string | Filter by the ID of the order placed on the originating platform, such as a unique POS or third-party identifier. This value doesn't correspond to the Shopify ID that's generated from a completed draft order. | | | - `source_identifier:1234-12-1000` |\n| source_name | string | Filter by the name of the originating platform that's associated with the checkout for the order. | | | - `source_name:web`
- `source_name:shopify_draft_order` |\n| status | string | Filter by the order status. | - `open`
- `closed`
- `cancelled`
- `not_closed` | | - `status:open` |\n| subtotal_line_items_quantity | string |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| test | boolean | Filter by test orders. Test orders are made using the [Shopify Bogus Gateway](https://help.shopify.com/manual/checkout-settings/test-orders) or a payment provider with test mode enabled. | | | - `test:true` |\n| updated_at | time | Filter by the date and time when the order was last updated in Shopify's system. | | | - `updated_at:2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "OrderSortKeys", + "ofType": null + }, + "defaultValue": "PROCESSED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.orders` instead." + }, + { + "name": "paymentSettings", + "description": "The shop's settings related to payments.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PaymentSettings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "plan", + "description": "The shop's billing plan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopPlan", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primaryDomain", + "description": "The primary domain of the shop's online store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Domain", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "productByHandle", + "description": "Return a product by its handle.", + "args": [ + { + "name": "handle", + "description": "A unique string that identifies the product. Handles are automatically generated based on the product's title, and are always lowercase. Whitespace and special characters are replaced with a hyphen: `-`. If there are multiple consecutive whitespace or special characters, then they're replaced with a single hyphen. Whitespace or special characters at the beginning are removed. If a duplicate product title is used, then the handle is auto-incremented by one. For example, if you had two products called `Potion`, then their handles would be `potion` and `potion-1`. After a product has been created, changing the product title doesn't update the handle.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Product", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.productByHandle` instead." + }, + { + "name": "productImages", + "description": "The list of all images of all products for the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductImageSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `files` instead. See [filesQuery](https://shopify.dev/docs/api/admin-graphql/latest/queries/files) and its [query](https://shopify.dev/docs/api/admin-graphql/2024-01/queries/files#argument-query) argument for more information." + }, + { + "name": "productSavedSearches", + "description": "List of the shop's product saved searches.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SavedSearchConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.productSavedSearches` instead." + }, + { + "name": "productTags", + "description": "A list of tags that have been added to products.", + "args": [ + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StringConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productTypes", + "description": "The list of types added to products.", + "args": [ + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StringConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariants", + "description": "List of the shop's product variants.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| barcode | string | Filter by the product variant [`barcode`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-barcode) field. | | | - `barcode:ABC-abc-123` |\n| collection | string | Filter by the [ID of the collection](https://shopify.dev/api/admin-graphql/latest/objects/Collection#field-id) that the product variant belongs to. | | | - `collection:465903092033` |\n| delivery_profile_id | id | Filter by the product variant [delivery profile ID](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-deliveryprofile) (`ProductVariant.deliveryProfile.id`). | | | - `delivery_profile_id:108179161409` |\n| exclude_composite | boolean | Filter by product variants that aren't composites. | | | - `exclude_composite:true` |\n| exclude_variants_with_components | boolean | Filter by whether there are [components](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-product-fixed-bundle) that are associated with the product variants in a bundle. | | | - `exclude_variants_with_components:true` |\n| gift_card | boolean | Filter by the product [`isGiftCard`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-isgiftcard) field. | | | - `gift_card:true` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_quantity | integer | Filter by an aggregate of inventory across all locations where the product variant is stocked. | | | - `inventory_quantity:10` |\n| location_id | id | Filter by the [location ID](https://shopify.dev/api/admin-graphql/latest/objects/Location#field-id) for the product variant. | | | - `location_id:88511152449` |\n| managed | boolean | Filter by whether there is fulfillment service tracking associated with the product variants. | | | - `managed:true` |\n| managed_by | string | Filter by the fulfillment service that tracks the number of items in stock for the product variant. | | | - `managed_by:shopify` |\n| option1 | string | Filter by a custom property that a shop owner uses to define product variants. | | | - `option1:small` |\n| option2 | string | Filter by a custom property that a shop owner uses to define product variants. | | | - `option2:medium` |\n| option3 | string | Filter by a custom property that a shop owner uses to define product variants. | | | - `option3:large` |\n| product_id | id | Filter by the product [`id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-id) field. | | | - `product_id:8474977763649` |\n| product_ids | string | Filter by a comma-separated list of product [IDs](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-id). | | | - `product_ids:8474977763649,8474977796417` |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| product_status | string | Filter by a comma-separated list of product [statuses](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-status). | | | - `product_status:ACTIVE,DRAFT` |\n| product_type | string | Filter by the product type that's associated with the product variants. | | | - `product_type:snowboard` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| requires_components | boolean | Filter by whether the product variant can only be purchased with components. [Learn more](https://shopify.dev/apps/build/product-merchandising/bundles#store-eligibility). | | | - `requires_components:true` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| taxable | boolean | Filter by the product variant [`taxable`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-taxable) field. | | | - `taxable:false` |\n| title | string | Filter by the product variant [`title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-title) field. | | | - `title:ice` |\n| updated_at | time | Filter by date and time when the product variant was updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\n| vendor | string | Filter by the origin or source of the product variant. Learn more about [vendors and managing vendor information](https://help.shopify.com/manual/products/managing-vendor-info). | | | - `vendor:Snowdevil`
- `vendor:Snowdevil OR vendor:Icedevil` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductVariantSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductVariantConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.productVariants` instead." + }, + { + "name": "productVendors", + "description": "The list of vendors added to products.", + "args": [ + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StringConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "products", + "description": "List of the shop's products.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| barcode | string | Filter by the product variant [`barcode`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-barcode) field. | | | - `barcode:ABC-abc-1234` |\n| bundles | boolean | Filter by a [product bundle](https://shopify.dev/docs/apps/build/product-merchandising/bundles). A product bundle is a set of two or more related products, which are commonly offered at a discount. | | | - `bundles:true` |\n| category_id | string | Filter by the product [category ID](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-category) (`product.category.id`). A product category is the category of a product from [Shopify's Standard Product Taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). | | | - `category_id:gid://shopify/TaxonomyCategory/aa` |\n| combined_listing_role | string | Filter by the role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings). | - `parent`
- `child` | | - `combined_listing_role:parent` |\n| created_at | time | Filter by the date and time when the product was created. | | | - `created_at:>'2020-10-21T23:39:20Z'`
- `created_at: - `created_at:<='2024'` |\n| delivery_profile_id | id | Filter by the delivery profile [`id`](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryProfile#field-id) field. | | | - `delivery_profile_id:108179161409` |\n| error_feedback | string | Filter by products with publishing errors. |\n| gift_card | boolean | Filter by the product [`isGiftCard`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-isgiftcard) field. | | | - `gift_card:true` |\n| handle | string | Filter by a comma-separated list of product [handles](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-handle). | | | - `handle:the-minimal-snowboard` |\n| has_only_composites | boolean | Filter by products that have only composite variants. | | | - `has_only_composites:true` |\n| has_only_default_variant | boolean | Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified. | | | - `has_only_default_variant:true` |\n| has_variant_with_components | boolean | Filter by products that have variants with associated components. | | | - `has_variant_with_components:true` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| inventory_total | integer | Filter by inventory count. | | | - `inventory_total:0`
- `inventory_total:>150`
- `inventory_total:>=200` |\n| is_price_reduced | boolean | Filter by products that have a reduced price. For more information, refer to the [`CollectionRule`](https://shopify.dev/api/admin-graphql/latest/objects/CollectionRule) object. | | | - `is_price_reduced:true` |\n| out_of_stock_somewhere | boolean | Filter by products that are out of stock in at least one location. | | | - `out_of_stock_somewhere:true` |\n| price | bigdecimal | Filter by the product variant [`price`](https://shopify.dev/api/admin-graphql/latest/objects/Productvariant#field-price) field. | | | - `price:100.57` |\n| product_configuration_owner | string | Filter by the app [`id`](https://shopify.dev/api/admin-graphql/latest/objects/App#field-id) field. | | | - `product_configuration_owner:10001` |\n| product_publication_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) and one of the valid values. | - `approved`
- `rejected`
- `needs_action`
- `awaiting_review`
- `published`
- `demoted`
- `scheduled`
- `provisionally_published` | | - `publishable_status:189769876-approved` |\n| product_type | string | Filter by a comma-separated list of [product types](https://help.shopify.com/manual/products/details/product-type). | | | - `product_type:snowboard` |\n| publication_ids | string | Filter by a comma-separated list of publication IDs that are associated with the product. | | | - `publication_ids:184111530305,184111694145` |\n| publishable_status | string | Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the [channel `app` ID](https://shopify.dev/api/admin-graphql/latest/objects/Channel#app-price) (`Channel.app.id`) or [channel `name`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-name) and one of the valid values. | - `online_store_channel`
- `published`
- `unpublished`
- `visible`
- `unavailable`
- `hidden`
- `intended`
- `visible` | | - `publishable_status:published`
- `publishable_status:189769876:visible`
- `publishable_status:pos:hidden` |\n| published_at | time | Filter by the date and time when the product was published to the online store and other sales channels. | | | - `published_at:>2020-10-21T23:39:20Z`
- `published_at: - `published_at:<=2024` |\n| published_status | string | Filter by the published status of the resource on a channel, such as the online store. | - `unset`
- `pending`
- `approved`
- `not approved` | | - `published_status:approved` |\n| sku | string | Filter by the product variant [`sku`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-sku) field. [Learn more about SKUs](https://help.shopify.com/manual/products/details/sku). | | | - `sku:XYZ-12345` |\n| status | string | Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an `ACTIVE` status in online stores, sales channels, and apps. | - `ACTIVE`
- `ARCHIVED`
- `DRAFT` | `ACTIVE` | - `status:ACTIVE,DRAFT` |\n| tag | string | Filter objects by the `tag` field. | | | - `tag:my_tag` |\n| tag_not | string | Filter by objects that don’t have the specified tag. | | | - `tag_not:my_tag` |\n| title | string | Filter by the product [`title`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-title) field. | | | - `title:The Minimal Snowboard` |\n| updated_at | time | Filter by the date and time when the product was last updated. | | | - `updated_at:>'2020-10-21T23:39:20Z'`
- `updated_at: - `updated_at:<='2024'` |\n| variant_id | id | Filter by the product variant [`id`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-id) field. | | | - `variant_id:45779434701121` |\n| variant_title | string | Filter by the product variant [`title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-title) field. | | | - `variant_title:Special ski wax` |\n| vendor | string | Filter by the origin or source of the product. Learn more about [vendors and managing vendor information](https://help.shopify.com/manual/products/managing-vendor-info). | | | - `vendor:Snowdevil`
- `vendor:Snowdevil OR vendor:Icedevil` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "ProductSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ProductConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.products`." + }, + { + "name": "publicationCount", + "description": "The number of publications for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.publicationsCount` instead." + }, + { + "name": "resourceLimits", + "description": "The shop's limits for specific resources. For example, the maximum number ofvariants allowed per product, or the maximum number of locations allowed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopResourceLimits", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "richTextEditorUrl", + "description": "The URL of the rich text editor that can be used for mobile devices.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "Fetches a list of admin search results by a specified query.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "The search query to filter by.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "types", + "description": "The search result types to filter by.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SearchResultType", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchResultConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "searchFilters", + "description": "The list of search filter options for the shop. These can be used to filter productvisibility for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SearchFilterOptions", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setupRequired", + "description": "Whether the shop has outstanding setup steps.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shipsToCountries", + "description": "The list of countries that the shop ships to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopOwnerName", + "description": "The name of the shop owner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopPolicies", + "description": "The list of all legal policies associated with a shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopPolicy", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "staffMembers", + "description": "The paginated list of the shop's staff members.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMemberConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `QueryRoot.staffMembers` instead." + }, + { + "name": "storefrontAccessTokens", + "description": "The storefront access token of a private application. These are scoped per-application.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StorefrontAccessTokenConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefrontUrl", + "description": "The URL of the shop's storefront.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `url` instead." + }, + { + "name": "taxShipping", + "description": "Whether the shop charges taxes for shipping.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxesIncluded", + "description": "Whether applicable taxes are included in the shop's product prices.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timezoneAbbreviation", + "description": "The shop's time zone abbreviation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timezoneOffset", + "description": "The shop's time zone offset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "timezoneOffsetMinutes", + "description": "The shop's time zone offset expressed as a number of minutes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionalSmsDisabled", + "description": "Whether transactional SMS sent by Shopify have been disabled for a shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unitSystem", + "description": "The shop's unit system for weights and measures.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "UnitSystem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the shop was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uploadedImagesByIds", + "description": "Fetches a list of images uploaded to the shop by their IDs.", + "args": [ + { + "name": "imageIds", + "description": "The IDs of the uploaded images.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Use `files` instead. See [filesQuery](https://shopify.dev/docs/api/admin-graphql/latest/queries/files) and its [query](https://shopify.dev/docs/api/admin-graphql/2024-01/queries/files#argument-query) argument for more information." + }, + { + "name": "url", + "description": "The URL of the shop's online store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weightUnit", + "description": "The shop's primary unit of weight for products and shipping.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WeightUnit", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopAddress", + "description": "An address for a shop.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "The name of the company or organization.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "coordinatesValidated", + "description": "Whether the address coordinates are valid.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The name of the country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code for the country of the address.\n\nFor example, US.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `countryCodeV2` instead." + }, + { + "name": "countryCodeV2", + "description": "The two-letter code for the country of the address.\n\nFor example, US.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Always null in this context." + }, + { + "name": "formatted", + "description": "A formatted version of the address, customized by the provided arguments.", + "args": [ + { + "name": "withCompany", + "description": "Whether to include the company in the formatted address.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "true", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formattedArea", + "description": "A comma-separated list of the values for city, province, and country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Always null in this context." + }, + { + "name": "latitude", + "description": "The latitude coordinate of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "longitude", + "description": "The longitude coordinate of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The full name, based on firstName and lastName.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Always null in this context." + }, + { + "name": "phone", + "description": "A phone number associated with the address.\n\nFormatted using E.164 standard. For example, _+16135551111_.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The region of the address, such as the province, state, or district.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The alphanumeric code for the region.\n\nFor example, ON.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopAlert", + "description": "An alert message that appears in the Shopify admin about a problem with a store setting, with an action to take. For example, you could show an alert to ask the merchant to enter their billing information to activate Shopify Plus.", + "fields": [ + { + "name": "action", + "description": "The text for the button in the alert that links to related information. For example, _Add credit card_.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopAlertAction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "A description of the alert and further information, such as whether the merchant will be charged.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopAlertAction", + "description": "An action associated to a shop alert, such as adding a credit card.", + "fields": [ + { + "name": "title", + "description": "The text for the button in the alert. For example, _Add credit card_.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The target URL that the button links to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopBillingPreferences", + "description": "Billing preferences for the shop.", + "fields": [ + { + "name": "currency", + "description": "The currency the shop uses to pay for apps and services.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopBranding", + "description": "Possible branding of a shop.\nBranding can be used to define the look of a shop including its styling and logo in the Shopify Admin.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ROGERS", + "description": "Shop has Rogers branding.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY", + "description": "Shop has Shopify branding.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_GOLD", + "description": "Shop has Shopify Gold branding.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_PLUS", + "description": "Shop has Shopify Plus branding.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopCustomerAccountsSetting", + "description": "Represents the shop's customer account requirement preference.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DISABLED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OPTIONAL", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUIRED", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopFeatures", + "description": "Represents the feature set available to the shop.\nMost fields specify whether a feature is enabled for a shop, and some fields return information\nrelated to specific features.", + "fields": [ + { + "name": "avalaraAvatax", + "description": "Whether a shop has access to Avalara AvaTax.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "branding", + "description": "The branding of the shop, which influences its look and feel in the Shopify admin.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopBranding", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bundles", + "description": "Represents the Bundles feature configuration for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BundlesFeature", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "captcha", + "description": "Whether a shop's online store can have CAPTCHA protection.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "captchaExternalDomains", + "description": "Whether a shop's online store can have CAPTCHA protection for domains not managed by Shopify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "No longer required for external domains" + }, + { + "name": "cartTransform", + "description": "Represents the cart transform feature configuration for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CartTransformFeature", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryProfiles", + "description": "Whether the delivery profiles functionality is enabled for this shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Delivery profiles are now 100% enabled across Shopify." + }, + { + "name": "dynamicRemarketing", + "description": "Whether a shop has access to the Google Analytics dynamic remarketing feature.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eligibleForSubscriptionMigration", + "description": "Whether a shop can be migrated to use Shopify subscriptions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "eligibleForSubscriptions", + "description": "Whether a shop is configured properly to sell subscriptions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "giftCards", + "description": "Whether a shop can create gift cards.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "harmonizedSystemCode", + "description": "Whether a shop displays Harmonized System codes on products. This is used for customs when shipping\ninternationally.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internationalDomains", + "description": "Whether a shop can enable international domains.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "All shops have international domains through Shopify Markets." + }, + { + "name": "internationalPriceOverrides", + "description": "Whether a shop can enable international price overrides.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "internationalPriceRules", + "description": "Whether a shop can enable international price rules.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacySubscriptionGatewayEnabled", + "description": "Whether a shop has enabled a legacy subscription gateway to handle older subscriptions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "liveView", + "description": "Whether to show the Live View metrics in the Shopify admin. Live view is hidden from merchants that are on a trial\nor don't have a storefront.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "multiLocation", + "description": "Whether a shop has multi-location functionality.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "All shops support multi-location inventory. Use `QueryRoot.locations` to determine whether shop has more than one location.\n" + }, + { + "name": "onboardingVisual", + "description": "Whether a shop has access to the onboarding visual.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "No longer supported." + }, + { + "name": "paypalExpressSubscriptionGatewayStatus", + "description": "Whether a shop is configured to sell subscriptions with PayPal Express.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "PaypalExpressSubscriptionsGatewayStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reports", + "description": "Whether a shop has access to all reporting features.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellsSubscriptions", + "description": "Whether a shop has ever had subscription products.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyPlus", + "description": "Whether the shop has a Shopify Plus subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use Shop.plan.shopifyPlus instead." + }, + { + "name": "showMetrics", + "description": "Whether to show metrics in the Shopify admin. Metrics are hidden for new merchants until they become meaningful.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefront", + "description": "Whether a shop has an online store.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usingShopifyBalance", + "description": "Whether a shop is using Shopify Balance.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopLocale", + "description": "A locale that's been enabled on a shop.", + "fields": [ + { + "name": "locale", + "description": "The locale ISO code.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketWebPresences", + "description": "The market web presences that use the locale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MarketWebPresence", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human-readable locale name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "primary", + "description": "Whether the locale is the default locale for the shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "published", + "description": "Whether the locale is visible to buyers.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopLocaleDisablePayload", + "description": "Return type for `shopLocaleDisable` mutation.", + "fields": [ + { + "name": "locale", + "description": "ISO code of the locale that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopLocaleEnablePayload", + "description": "Return type for `shopLocaleEnable` mutation.", + "fields": [ + { + "name": "shopLocale", + "description": "ISO code of the locale that was enabled.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopLocale", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ShopLocaleInput", + "description": "The input fields for a shop locale.", + "fields": null, + "inputFields": [ + { + "name": "marketWebPresenceIds", + "description": "The market web presences on which the locale should be enabled. Pass in an empty array to remove the locale across all market web presences.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "published", + "description": "Whether the locale is published. Only published locales are visible to the buyer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopLocaleUpdatePayload", + "description": "Return type for `shopLocaleUpdate` mutation.", + "fields": [ + { + "name": "shopLocale", + "description": "The locale that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopLocale", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopPayInstallmentsPaymentDetails", + "description": "Shop Pay Installments payment details related to a transaction.", + "fields": [ + { + "name": "paymentMethodName", + "description": "The name of payment method used by the buyer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "BasePaymentDetails", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopPlan", + "description": "The billing plan of the shop.", + "fields": [ + { + "name": "displayName", + "description": "The name of the shop's billing plan.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "partnerDevelopment", + "description": "Whether the shop is a partner development shop for testing purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shopifyPlus", + "description": "Whether the shop has a Shopify Plus subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopPolicy", + "description": "Policy that a merchant has configured for their store, such as their refund or privacy policy.", + "fields": [ + { + "name": "body", + "description": "The text of the policy. The maximum size is 512kb.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "HTML", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the policy was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The translated title of the policy. For example, Refund Policy or Politique de remboursement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "The published translations associated with the resource.", + "args": [ + { + "name": "locale", + "description": "Filters translations locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The shop policy type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopPolicyType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the policy was last modified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The public URL of the policy.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasPublishedTranslations", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopPolicyErrorCode", + "description": "Possible error codes that can be returned by `ShopPolicyUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TOO_BIG", + "description": "The input value is too big.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ShopPolicyInput", + "description": "The input fields required to update a policy.", + "fields": null, + "inputFields": [ + { + "name": "body", + "description": "Policy text, maximum size of 512kb.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The shop policy type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopPolicyType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopPolicyType", + "description": "Available shop policy types.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONTACT_INFORMATION", + "description": "The contact information.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LEGAL_NOTICE", + "description": "The legal notice.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRIVACY_POLICY", + "description": "The privacy policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND_POLICY", + "description": "The refund policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_POLICY", + "description": "The shipping policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_POLICY", + "description": "The cancellation policy.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TERMS_OF_SALE", + "description": "The terms of sale.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TERMS_OF_SERVICE", + "description": "The terms of service.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopPolicyUpdatePayload", + "description": "Return type for `shopPolicyUpdate` mutation.", + "fields": [ + { + "name": "shopPolicy", + "description": "The shop policy that has been updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopPolicyUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopPolicyUserError", + "description": "An error that occurs during the execution of a shop policy mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ShopPolicyErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopResourceFeedbackCreatePayload", + "description": "Return type for `shopResourceFeedbackCreate` mutation.", + "fields": [ + { + "name": "feedback", + "description": "The shop feedback that's created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "AppFeedback", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopResourceFeedbackCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopResourceFeedbackCreateUserError", + "description": "An error that occurs during the execution of `ShopResourceFeedbackCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ShopResourceFeedbackCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopResourceFeedbackCreateUserErrorCode", + "description": "Possible error codes that can be returned by `ShopResourceFeedbackCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OUTDATED_FEEDBACK", + "description": "The feedback for a later version of the resource was already accepted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopResourceLimits", + "description": "Resource limits of a shop.", + "fields": [ + { + "name": "locationLimit", + "description": "Maximum number of locations allowed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxProductOptions", + "description": "Maximum number of product options allowed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxProductVariants", + "description": "The maximum number of variants allowed per product.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redirectLimitReached", + "description": "Whether the shop has reached the limit of the number of URL redirects it can make for resources.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopTagSort", + "description": "Possible sort of tags.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALPHABETICAL", + "description": "Alphabetical sort.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POPULAR", + "description": "Popularity sort.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyFunction", + "description": "A Shopify Function.", + "fields": [ + { + "name": "apiType", + "description": "The API type of the Shopify Function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "apiVersion", + "description": "The API version of the Shopify Function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "app", + "description": "The app that owns the Shopify Function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "App", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appBridge", + "description": "The App Bridge information for the Shopify Function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FunctionsAppBridge", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appKey", + "description": "The client ID of the app that owns the Shopify Function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the Shopify Function.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the Shopify Function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputQuery", + "description": "The input query of the Shopify Function.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the Shopify Function.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "useCreationUi", + "description": "If the Shopify Function uses the creation UI in the Admin.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyFunctionConnection", + "description": "An auto-generated type for paginating through multiple ShopifyFunctions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunctionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ShopifyFunctionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyFunctionEdge", + "description": "An auto-generated type which holds one ShopifyFunction and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ShopifyFunctionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsAccount", + "description": "Balance and payout information for a\n[Shopify Payments](https://help.shopify.com/manual/payments/shopify-payments/getting-paid-with-shopify-payments)\naccount. Balance includes all balances for the currencies supported by the shop.\nYou can also query for a list of payouts, where each payout includes the corresponding currencyCode field.", + "fields": [ + { + "name": "activated", + "description": "Whether the Shopify Payments setup is completed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "balance", + "description": "Current balances in all currencies for the account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "balanceTransactions", + "description": "A list of balance transactions associated with the shop.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hideTransfers", + "description": "Determines if returned transactions contain transaction type transfer.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| available_on | time |\n| credit_card_last4 | string |\n| currency | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| payment_method_name | string |\n| payments_transfer_id | id |\n| payout_date | time |\n| payout_status | string |\n| processed_at | time |\n| tax_reporting_exempt | boolean |\n| transaction_type | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "BalanceTransactionSortKeys", + "ofType": null + }, + "defaultValue": "PROCESSED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransactionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bankAccounts", + "description": "All bank accounts configured for the Shopify Payments account.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "chargeStatementDescriptor", + "description": "The statement descriptor used for charges.\n\nThe statement descriptor appears on a customer's credit card or bank statement when they make a purchase.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `chargeStatementDescriptors` instead." + }, + { + "name": "chargeStatementDescriptors", + "description": "The statement descriptors used for charges.\n\nThese descriptors appear on a customer's credit card or bank statement when they make a purchase.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "ShopifyPaymentsChargeStatementDescriptor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The Shopify Payments account country.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultCurrency", + "description": "The default payout currency for the Shopify Payments account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disputes", + "description": "All disputes that originated from a transaction made with the Shopify Payments account.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| initiated_at | time |\n| status | string |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onboardable", + "description": "Whether the Shopify Payments account can be onboarded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payoutSchedule", + "description": "The payout schedule for the account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutSchedule", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payoutStatementDescriptor", + "description": "The descriptor used for payouts.\n\nThe descriptor appears on a merchant's bank statement when they receive a payout.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payouts", + "description": "All current and previous payouts made between the account and the bank account.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| amount | float |\n| bank_account | string |\n| currency | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| issued_at | time |\n| ledger_type | string |\n| status | string |\n| transaction_dates | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "PayoutSortKeys", + "ofType": null + }, + "defaultValue": "ISSUED_AT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionType", + "description": "Filter the direction of the payout.", + "type": { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutTransactionType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsAdjustmentOrder", + "description": "The adjustment order object.", + "fields": [ + { + "name": "amount", + "description": "The amount of the adjustment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "link", + "description": "The link to the adjustment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the adjustment order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orderTransactionId", + "description": "The ID of the order transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsAssociatedOrder", + "description": "The order associated to the balance transaction.", + "fields": [ + { + "name": "id", + "description": "The ID of the associated order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the associated order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransaction", + "description": "A transaction that contributes to a Shopify Payments account balance.", + "fields": [ + { + "name": "adjustmentReason", + "description": "The reason for the adjustment that's associated with the transaction.\n If the source_type isn't an adjustment, the value will be null.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentsOrders", + "description": "The adjustment orders associated to the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsAdjustmentOrder", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount contributing to the balance transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "associatedOrder", + "description": "The associated order for the balance transaction.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsAssociatedOrder", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "associatedPayout", + "description": "Payout assoicated with the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransactionAssociatedPayout", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fee", + "description": "The fee amount contributing to the balance transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "net", + "description": "The net amount contributing to the merchant's balance.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceId", + "description": "The ID of the resource leading to the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceOrderTransactionId", + "description": "The id of the\n [Order Transaction](https://shopify.dev/docs/admin-api/rest/reference/orders/transaction)\n\n that resulted in this balance transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "BigInt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceType", + "description": "The source type of the balance transaction.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ShopifyPaymentsSourceType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Wether the tranaction was created in test mode.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionDate", + "description": "The date and time when the balance transaction was processed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyPaymentsTransactionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransactionAssociatedPayout", + "description": "The payout associated with a balance transaction.", + "fields": [ + { + "name": "id", + "description": "The ID of the payout associated with the balance transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the payout associated with the balance transaction.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ShopifyPaymentsBalanceTransactionPayoutStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransactionConnection", + "description": "An auto-generated type for paginating through multiple ShopifyPaymentsBalanceTransactions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransactionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ShopifyPaymentsBalanceTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransactionEdge", + "description": "An auto-generated type which holds one ShopifyPaymentsBalanceTransaction and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ShopifyPaymentsBalanceTransactionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBalanceTransaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsBalanceTransactionPayoutStatus", + "description": "The payout status of the balance transaction.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTION_REQUIRED", + "description": "The transaction requires action before it can be paid out.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELED", + "description": "The payout has been canceled by Shopify.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "The payout has been declined by the bank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_TRANSIT", + "description": "The payout has been submitted to the bank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAID", + "description": "The payout has been successfully deposited into the bank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The transaction has not been assigned a payout yet.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "The payout has been created and had transactions assigned to it, but\nit has not yet been submitted to the bank.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccount", + "description": "A bank account that can receive payouts.", + "fields": [ + { + "name": "accountNumber", + "description": "The account number of the bank account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "accountNumberLastDigits", + "description": "The last digits of the account number (the rest is redacted).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "bankName", + "description": "The name of the bank.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The country of the bank.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date that the bank account was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currency", + "description": "The currency of the bank account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "payouts", + "description": "All current and previous payouts made between the account and the bank account.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| amount | float |\n| bank_account | string |\n| currency | string |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| issued_at | time |\n| ledger_type | string |\n| status | string |\n| transaction_dates | time |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "savedSearchId", + "description": "The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id).\nThe search’s query string is used as the query argument.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "PayoutSortKeys", + "ofType": null + }, + "defaultValue": "ISSUED_AT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionType", + "description": "Filter the direction of the payout.", + "type": { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutTransactionType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "routingNumber", + "description": "The routing number of the bank account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the bank account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyPaymentsBankAccountStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccountConnection", + "description": "An auto-generated type for paginating through multiple ShopifyPaymentsBankAccounts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccountEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ShopifyPaymentsBankAccountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccount", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccountEdge", + "description": "An auto-generated type which holds one ShopifyPaymentsBankAccount and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ShopifyPaymentsBankAccountEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsBankAccountStatus", + "description": "The bank account status.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ERRORED", + "description": "A payout to the bank account failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEW", + "description": "A bank account that hasn't had any activity and that's not validated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VALIDATED", + "description": "It was determined that the bank account exists.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED", + "description": "Bank account validation was successful.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ShopifyPaymentsChargeStatementDescriptor", + "description": "The charge descriptors for a payments account.", + "fields": [ + { + "name": "default", + "description": "The default charge statement descriptor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "The prefix of the statement descriptor.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDefaultChargeStatementDescriptor", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsJpChargeStatementDescriptor", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDefaultChargeStatementDescriptor", + "description": "The charge descriptors for a payments account.", + "fields": [ + { + "name": "default", + "description": "The default charge statement descriptor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "The prefix of the statement descriptor.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ShopifyPaymentsChargeStatementDescriptor", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDispute", + "description": "A dispute occurs when a buyer questions the legitimacy of a charge with their financial institution.", + "fields": [ + { + "name": "amount", + "description": "The total amount disputed by the cardholder.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "evidenceDueBy", + "description": "The deadline for evidence submission.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "evidenceSentOn", + "description": "The date when evidence was sent. Returns null if evidence hasn't yet been sent.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finalizedOn", + "description": "The date when this dispute was resolved. Returns null if the dispute isn't yet resolved.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "initiatedAt", + "description": "The date when this dispute was initiated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order that contains the charge that's under dispute.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reasonDetails", + "description": "The reason of the dispute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeReasonDetails", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current state of the dispute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DisputeStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Indicates if this dispute is still in the inquiry phase or has turned into a chargeback.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DisputeType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeConnection", + "description": "An auto-generated type for paginating through multiple ShopifyPaymentsDisputes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ShopifyPaymentsDisputeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDispute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeEdge", + "description": "An auto-generated type which holds one ShopifyPaymentsDispute and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ShopifyPaymentsDisputeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDispute", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeEvidence", + "description": "The evidence associated with the dispute.", + "fields": [ + { + "name": "accessActivityLog", + "description": "The activity logs associated with the dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAddress", + "description": "The billing address that's provided by the customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancellationPolicyDisclosure", + "description": "The cancellation policy disclosure associated with the dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancellationPolicyFile", + "description": "The cancellation policy file associated with the dispute evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancellationRebuttal", + "description": "The cancellation rebuttal associated with the dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerCommunicationFile", + "description": "The customer communication file associated with the dispute evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerEmailAddress", + "description": "The customer's email address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerFirstName", + "description": "The customer's first name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerLastName", + "description": "The customer's last name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPurchaseIp", + "description": "The customer purchase ip for this dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "dispute", + "description": "The dispute associated with the evidence.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDispute", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "disputeFileUploads", + "description": "The file uploads associated with the dispute evidence.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fulfillments", + "description": "The fulfillments associated with the dispute evidence.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFulfillment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productDescription", + "description": "The product description for this dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundPolicyDisclosure", + "description": "The refund policy disclosure associated with the dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundPolicyFile", + "description": "The refund policy file associated with the dispute evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundRefusalExplanation", + "description": "The refund refusal explanation associated with dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceDocumentationFile", + "description": "The service documentation file associated with the dispute evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The mailing address for shipping that's provided by the customer.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MailingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingDocumentationFile", + "description": "The shipping documentation file associated with the dispute evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submitted", + "description": "Whether the dispute evidence is submitted.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uncategorizedFile", + "description": "The uncategorized file associated with the dispute evidence.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uncategorizedText", + "description": "The uncategorized text for the dispute evidence.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsDisputeEvidenceFileType", + "description": "The possible dispute evidence file types.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELLATION_POLICY_FILE", + "description": "Cancellation Policy File.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_COMMUNICATION_FILE", + "description": "Customer Communication File.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND_POLICY_FILE", + "description": "Refund Policy File.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SERVICE_DOCUMENTATION_FILE", + "description": "Service Documentation File.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_DOCUMENTATION_FILE", + "description": "Shipping Documentation File.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNCATEGORIZED_FILE", + "description": "Uncategorized File.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeEvidenceUpdateInput", + "description": "The input fields required to update a dispute evidence object.", + "fields": null, + "inputFields": [ + { + "name": "accessActivityLog", + "description": "Activity logs.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancellationPolicyDisclosure", + "description": "Cancellation policy disclosure.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancellationPolicyFile", + "description": "Cancellation policy file.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeFileUploadUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cancellationRebuttal", + "description": "Cancellation rebuttal.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerCommunicationFile", + "description": "Customer communication file.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeFileUploadUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerEmailAddress", + "description": "Customer email address.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerFirstName", + "description": "Customer first name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerLastName", + "description": "Customer last name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundPolicyDisclosure", + "description": "Refund policy disclosure.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundPolicyFile", + "description": "Refund policy file.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeFileUploadUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundRefusalExplanation", + "description": "Refund refusal explanation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "serviceDocumentationFile", + "description": "Service documentation file.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeFileUploadUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingAddress", + "description": "The shipping address associated with the dispute evidence.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingDocumentationFile", + "description": "Shipping documentation file.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeFileUploadUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "submitEvidence", + "description": "Whether to submit the evidence.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uncategorizedFile", + "description": "Uncategorized file.", + "type": { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeFileUploadUpdateInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "uncategorizedText", + "description": "Uncategorized text.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFileUpload", + "description": "The file upload associated with the dispute evidence.", + "fields": [ + { + "name": "disputeEvidenceType", + "description": "The type of the file for the dispute evidence.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ShopifyPaymentsDisputeEvidenceFileType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileSize", + "description": "The file size.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileType", + "description": "The file type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalFileName", + "description": "The original file name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL for accessing the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ShopifyPaymentsDisputeFileUploadUpdateInput", + "description": "The input fields required to update a dispute file upload object.", + "fields": null, + "inputFields": [ + { + "name": "destroy", + "description": "Whether to delete this file upload.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the file upload to be updated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeFulfillment", + "description": "The fulfillment associated with dispute evidence.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingCarrier", + "description": "The shipping carrier for this fulfillment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingDate", + "description": "The shipping date for this fulfillment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingTrackingNumber", + "description": "The shipping tracking number for this fulfillment.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsDisputeReason", + "description": "The reason for the dispute provided by the cardholder's bank.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BANK_CANNOT_PROCESS", + "description": "The customer's bank can't process the charge.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREDIT_NOT_PROCESSED", + "description": "The customer claims that the purchased product was returned or the transaction was otherwise canceled, but you haven't yet provided a refund or credit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_INITIATED", + "description": "The customer initiated the dispute. Contact the customer for additional details on why the payment was disputed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEBIT_NOT_AUTHORIZED", + "description": "The customer's bank can't proceed with the debit since it hasn't been authorized.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE", + "description": "The customer claims they were charged multiple times for the same product or service.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAUDULENT", + "description": "The cardholder claims that they didn’t authorize the payment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERAL", + "description": "The dispute is uncategorized, so you should contact the customer for additional details to find out why the payment was disputed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCORRECT_ACCOUNT_DETAILS", + "description": "The customer account associated with the purchase is incorrect.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSUFFICIENT_FUNDS", + "description": "The customer's bank account has insufficient funds.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_NOT_RECEIVED", + "description": "The customer claims they did not receive the products or services purchased.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_UNACCEPTABLE", + "description": "The product or service was received but was defective, damaged, or not as described.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CANCELLED", + "description": "The customer claims that you continued to charge them after a subscription was canceled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNRECOGNIZED", + "description": "The customer doesn’t recognize the payment appearing on their card statement.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsDisputeReasonDetails", + "description": "Details regarding a dispute reason.", + "fields": [ + { + "name": "networkReasonCode", + "description": "The raw code provided by the payment network.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for the dispute provided by the cardholder's banks.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyPaymentsDisputeReason", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsExtendedAuthorization", + "description": "Presents all Shopify Payments information related to an extended authorization.", + "fields": [ + { + "name": "extendedAuthorizationExpiresAt", + "description": "The time after which the extended authorization expires. After the expiry, the merchant is unable to capture the payment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "standardAuthorizationExpiresAt", + "description": "The time after which capture will incur an additional fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsJpChargeStatementDescriptor", + "description": "The charge descriptors for a Japanese payments account.", + "fields": [ + { + "name": "default", + "description": "The default charge statement descriptor.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kana", + "description": "The charge statement descriptor in kana.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kanji", + "description": "The charge statement descriptor in kanji.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "prefix", + "description": "The prefix of the statement descriptor.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ShopifyPaymentsChargeStatementDescriptor", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayout", + "description": "Payouts represent the movement of money between a merchant's Shopify\nPayments balance and their bank account.", + "fields": [ + { + "name": "bankAccount", + "description": "The bank account for the payout.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsBankAccount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "businessEntity", + "description": "The business entity associated with the payout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BusinessEntity", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gross", + "description": "The total amount and currency of the payout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `net` instead." + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuedAt", + "description": "The exact time when the payout was issued. The payout only contains\nbalance transactions that were available at this time.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "net", + "description": "The total amount and currency of the payout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The transfer status of the payout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "summary", + "description": "The summary of the payout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutSummary", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionType", + "description": "The direction of the payout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutTransactionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutConnection", + "description": "An auto-generated type for paginating through multiple ShopifyPaymentsPayouts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ShopifyPaymentsPayoutEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayout", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutEdge", + "description": "An auto-generated type which holds one ShopifyPaymentsPayout and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ShopifyPaymentsPayoutEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayout", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutInterval", + "description": "The interval at which payouts are sent to the connected bank account.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DAILY", + "description": "Each business day.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MANUAL", + "description": "Payouts will not be automatically made.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MONTHLY", + "description": "Each month, on the day of month specified by monthlyAnchor.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEEKLY", + "description": "Each week, on the day of week specified by weeklyAnchor.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutSchedule", + "description": "The payment schedule for a payments account.", + "fields": [ + { + "name": "interval", + "description": "The interval at which payouts are sent to the connected bank account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutInterval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "monthlyAnchor", + "description": "The day of the month funds will be paid out.\n\nThe value can be any day of the month from the 1st to the 31st.\nIf the payment interval is set to monthly, this value will be used.\nPayouts scheduled between 29-31st of the month are sent on the last day of shorter months.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "weeklyAnchor", + "description": "The day of the week funds will be paid out.\n\nThe value can be any weekday from Monday to Friday.\nIf the payment interval is set to weekly, this value will be used.", + "args": [], + "type": { + "kind": "ENUM", + "name": "DayOfTheWeek", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutStatus", + "description": "The transfer status of the payout.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANCELED", + "description": "The payout has been canceled by Shopify.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "The payout has been declined by the bank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IN_TRANSIT", + "description": "The payout has been submitted to the bank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAID", + "description": "The payout has been successfully deposited into the bank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED", + "description": "The payout has been created and had transactions assigned to it, but\nit has not yet been submitted to the bank.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsPayoutSummary", + "description": "Breakdown of the total fees and gross of each of the different types of transactions associated\nwith the payout.", + "fields": [ + { + "name": "adjustmentsFee", + "description": "Total fees for all adjustments including disputes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentsGross", + "description": "Total gross amount for all adjustments including disputes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "advanceFees", + "description": "Total fees for all advances.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "advanceGross", + "description": "Total gross amount for all advances.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "chargesFee", + "description": "Total fees for all charges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "chargesGross", + "description": "Total gross amount for all charges.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundsFee", + "description": "Total fees for all refunds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundsFeeGross", + "description": "Total gross amount for all refunds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reservedFundsFee", + "description": "Total fees for all reserved funds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reservedFundsGross", + "description": "Total gross amount for all reserved funds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retriedPayoutsFee", + "description": "Total fees for all retried payouts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "retriedPayoutsGross", + "description": "Total gross amount for all retried payouts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsPayoutTransactionType", + "description": "The possible transaction types for a payout.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEPOSIT", + "description": "The payout is a deposit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WITHDRAWAL", + "description": "The payout is a withdrawal.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsRefundSet", + "description": "Presents all Shopify Payments specific information related to an order refund.", + "fields": [ + { + "name": "acquirerReferenceNumber", + "description": "The acquirer reference number (ARN) code generated for Visa/Mastercard transactions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsSourceType", + "description": "The possible source types for a balance transaction.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADJUSTMENT", + "description": "The adjustment source type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADJUSTMENT_REVERSAL", + "description": "The adjustment_reversal source type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGE", + "description": "The charge source type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISPUTE", + "description": "The dispute source type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND", + "description": "The refund source type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SYSTEM_ADJUSTMENT", + "description": "The system_adjustment source type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFER", + "description": "The transfer source type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsTransactionSet", + "description": "Presents all Shopify Payments specific information related to an order transaction.", + "fields": [ + { + "name": "extendedAuthorizationSet", + "description": "Contains all fields related to an extended authorization.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsExtendedAuthorization", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundSet", + "description": "Contains all fields related to a refund.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ShopifyPaymentsRefundSet", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsTransactionType", + "description": "The possible types of transactions.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADJUSTMENT", + "description": "The adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADVANCE", + "description": "The advance transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ADVANCE_FUNDING", + "description": "The advance funding transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANOMALY_CREDIT", + "description": "The anomaly_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANOMALY_CREDIT_REVERSAL", + "description": "The anomaly_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANOMALY_DEBIT", + "description": "The anomaly_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ANOMALY_DEBIT_REVERSAL", + "description": "The anomaly_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPLICATION_FEE_REFUND", + "description": "The application_fee_refund transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BALANCE_TRANSFER_INBOUND", + "description": "The balance_transfer_inbound transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_DEBIT", + "description": "The billing_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_DEBIT_REVERSAL", + "description": "The billing_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_CREDIT", + "description": "The channel_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_CREDIT_REVERSAL", + "description": "The channel_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_PROMOTION_CREDIT", + "description": "The channel_promotion_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_PROMOTION_CREDIT_REVERSAL", + "description": "The channel_promotion_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_TRANSFER_CREDIT", + "description": "The channel_transfer_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_TRANSFER_CREDIT_REVERSAL", + "description": "The channel_transfer_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_TRANSFER_DEBIT", + "description": "The channel_transfer_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNEL_TRANSFER_DEBIT_REVERSAL", + "description": "The channel_transfer_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGE", + "description": "The charge transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_FEE", + "description": "The chargeback_fee transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_FEE_REFUND", + "description": "The chargeback_fee_refund transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_HOLD", + "description": "The chargeback_hold transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_HOLD_RELEASE", + "description": "The chargeback_hold_release transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_PROTECTION_CREDIT", + "description": "The chargeback_protection_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_PROTECTION_CREDIT_REVERSAL", + "description": "The chargeback_protection_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_PROTECTION_DEBIT", + "description": "The chargeback_protection_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGEBACK_PROTECTION_DEBIT_REVERSAL", + "description": "The chargeback_protection_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHARGE_ADJUSTMENT", + "description": "The charge_adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTIONS_CREDIT", + "description": "The collections_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTIONS_CREDIT_REVERSAL", + "description": "The collections_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMS_DUTY", + "description": "The customs_duty transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMS_DUTY_ADJUSTMENT", + "description": "The customs_duty_adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISPUTE_REVERSAL", + "description": "The dispute_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISPUTE_WITHDRAWAL", + "description": "The dispute_withdrawal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMPORT_TAX", + "description": "The import_tax transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMPORT_TAX_ADJUSTMENT", + "description": "The import_tax_adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETPLACE_FEE_CREDIT", + "description": "The marketplace_fee_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETPLACE_FEE_CREDIT_REVERSAL", + "description": "The marketplace_fee_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETS_PRO_CREDIT", + "description": "The markets_pro_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_GOODWILL_CREDIT", + "description": "The merchant_goodwill_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_GOODWILL_CREDIT_REVERSAL", + "description": "The merchant_goodwill_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_TO_MERCHANT_CREDIT", + "description": "The merchant_to_merchant_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_TO_MERCHANT_CREDIT_REVERSAL", + "description": "The merchant_to_merchant_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_TO_MERCHANT_DEBIT", + "description": "The merchant_to_merchant_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_TO_MERCHANT_DEBIT_REVERSAL", + "description": "The merchant_to_merchant_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROMOTION_CREDIT", + "description": "The promotion_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROMOTION_CREDIT_REVERSAL", + "description": "The promotion_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND", + "description": "The refund transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND_ADJUSTMENT", + "description": "The refund_adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUND_FAILURE", + "description": "The refund_failure transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESERVED_FUNDS", + "description": "The reserved_funds transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESERVED_FUNDS_REVERSAL", + "description": "The reserved_funds_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESERVED_FUNDS_WITHDRAWAL", + "description": "The reserved_funds_withdrawal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RISK_REVERSAL", + "description": "The risk_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RISK_WITHDRAWAL", + "description": "The risk_withdrawal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLER_PROTECTION_CREDIT", + "description": "The seller_protection_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLER_PROTECTION_CREDIT_REVERSAL", + "description": "The seller_protection_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LABEL", + "description": "The shipping_label transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LABEL_ADJUSTMENT", + "description": "The shipping_label_adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LABEL_ADJUSTMENT_BASE", + "description": "The shipping_label_adjustment_base transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_LABEL_ADJUSTMENT_SURCHARGE", + "description": "The shipping_label_adjustment_surcharge transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_OTHER_CARRIER_CHARGE_ADJUSTMENT", + "description": "The shipping_other_carrier_charge_adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_RETURN_TO_ORIGIN_ADJUSTMENT", + "description": "The shipping_return_to_origin_adjustment transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_COLLECTIVE_CREDIT", + "description": "The shopify_collective_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_COLLECTIVE_CREDIT_REVERSAL", + "description": "The shopify_collective_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_COLLECTIVE_DEBIT", + "description": "The shopify_collective_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_COLLECTIVE_DEBIT_REVERSAL", + "description": "The shopify_collective_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_SOURCE_CREDIT", + "description": "The shopify_source_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_SOURCE_CREDIT_REVERSAL", + "description": "The shopify_source_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_SOURCE_DEBIT", + "description": "The shopify_source_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOPIFY_SOURCE_DEBIT_REVERSAL", + "description": "The shopify_source_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_BILLING_DEBIT", + "description": "The shop_cash_billing_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_BILLING_DEBIT_REVERSAL", + "description": "The shop_cash_billing_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_CAMPAIGN_BILLING_CREDIT", + "description": "The shop_cash_campaign_billing_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_CAMPAIGN_BILLING_CREDIT_REVERSAL", + "description": "The shop_cash_campaign_billing_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_CAMPAIGN_BILLING_DEBIT", + "description": "The shop_cash_campaign_billing_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_CAMPAIGN_BILLING_DEBIT_REVERSAL", + "description": "The shop_cash_campaign_billing_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_CREDIT", + "description": "The shop_cash_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_CREDIT_REVERSAL", + "description": "The shop_cash_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_REFUND_DEBIT", + "description": "The shop_cash_refund_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_CASH_REFUND_DEBIT_REVERSAL", + "description": "The shop_cash_refund_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STRIPE_FEE", + "description": "The stripe_fee transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_ADJUSTMENT_CREDIT", + "description": "The tax_adjustment_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_ADJUSTMENT_CREDIT_REVERSAL", + "description": "The tax_adjustment_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_ADJUSTMENT_DEBIT", + "description": "The tax_adjustment_debit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_ADJUSTMENT_DEBIT_REVERSAL", + "description": "The tax_adjustment_debit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFER", + "description": "The transfer transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFER_CANCEL", + "description": "The transfer_cancel transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFER_FAILURE", + "description": "The transfer_failure transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSFER_REFUND", + "description": "The transfer_refund transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VAT_REFUND_CREDIT", + "description": "The vat_refund_credit transaction type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VAT_REFUND_CREDIT_REVERSAL", + "description": "The vat_refund_credit_reversal transaction type.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsVerification", + "description": "Each subject (individual) of an account has a verification object giving\n information about the verification state.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the verification.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyPaymentsVerificationStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subject", + "description": "The subject/individual who has to be verified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyPaymentsVerificationSubject", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyPaymentsVerificationStatus", + "description": "The status of a verification.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PENDING", + "description": "The verification request has been submitted but a response has not yet been given.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNVERIFIED", + "description": "The verification has not yet been verified.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VERIFIED", + "description": "The verification has been verified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyPaymentsVerificationSubject", + "description": "The verification subject represents an individual that has to be verified.", + "fields": [ + { + "name": "familyName", + "description": "The family name of the individual to verify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "givenName", + "description": "The given name of the individual to verify.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyProtectEligibilityStatus", + "description": "The status of an order's eligibility for protection against fraudulent chargebacks by Shopify Protect.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ELIGIBLE", + "description": "The order is eligible for protection against fraudulent chargebacks.\nIf an order is updated, the order's eligibility may change and protection could be removed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_ELIGIBLE", + "description": "The order isn't eligible for protection against fraudulent chargebacks.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The eligibility of the order is pending and has not yet been determined.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyProtectOrderEligibility", + "description": "The eligibility details of an order's protection against fraudulent chargebacks by Shopify Protect.", + "fields": [ + { + "name": "status", + "description": "The status of whether an order is eligible for protection against fraudulent chargebacks.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyProtectEligibilityStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ShopifyProtectOrderSummary", + "description": "A summary of Shopify Protect details for an order.", + "fields": [ + { + "name": "eligibility", + "description": "The eligibility details of an order's protection against fraudulent chargebacks.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyProtectOrderEligibility", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the order's protection against fraudulent chargebacks.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ShopifyProtectStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ShopifyProtectStatus", + "description": "The status of an order's protection with Shopify Protect.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The protection for the order is active and eligible for reimbursement against fraudulent chargebacks.\nIf an order is updated, the order's eligibility may change and protection could become inactive.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INACTIVE", + "description": "The protection for an order isn't active because the order didn't meet eligibility requirements.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_PROTECTED", + "description": "The order received a chargeback but the order wasn't protected because it didn't meet coverage requirements.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "The protection for the order is pending and has not yet been determined.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROTECTED", + "description": "The order received a fraudulent chargeback and it was protected.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StaffMember", + "description": "Represents the data about a staff member's Shopify account. Merchants can use staff member data to get more information about the staff members in their store.", + "fields": [ + { + "name": "accountType", + "description": "The type of account the staff member has.", + "args": [], + "type": { + "kind": "ENUM", + "name": "AccountType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "active", + "description": "Whether the staff member is active.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "avatar", + "description": "The image used as the staff member's avatar in the Shopify admin.", + "args": [ + { + "name": "fallback", + "description": "The default image returned if the staff member has no avatar.", + "type": { + "kind": "ENUM", + "name": "StaffMemberDefaultImage", + "ofType": null + }, + "defaultValue": "DEFAULT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The staff member's email address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "exists", + "description": "Whether the staff member's account exists.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The staff member's first name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "initials", + "description": "The staff member's initials, if available.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isShopOwner", + "description": "Whether the staff member is the shop owner.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The staff member's last name.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "The staff member's preferred locale. Locale values use the format `language` or `language-COUNTRY`, where `language` is a two-letter language code, and `COUNTRY` is a two-letter country code. For example: `en` or `en-US`", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The staff member's full name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The staff member's phone number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateData", + "description": "The data used to customize the Shopify admin experience for the staff member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMemberPrivateData", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StaffMemberConnection", + "description": "An auto-generated type for paginating through multiple StaffMembers.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMemberEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in StaffMemberEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StaffMemberDefaultImage", + "description": "Represents the fallback avatar image for a staff member. This is used only if the staff member has no avatar image.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DEFAULT", + "description": "Returns a default avatar image for the staff member.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Returns a URL that returns a 404 error if the image is not present.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSPARENT", + "description": "Returns a transparent avatar image for the staff member.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StaffMemberEdge", + "description": "An auto-generated type which holds one StaffMember and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of StaffMemberEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StaffMemberPermission", + "description": "Represents access permissions for a staff member.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APPLICATIONS", + "description": "The staff member can manage and install apps and channels.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNELS", + "description": "The staff member can manage and install sales channels.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATE_AND_EDIT_CUSTOMERS", + "description": "The staff member can create and edit customers.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREATE_AND_EDIT_GIFT_CARDS", + "description": "The staff member can create and edit gift cards.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS", + "description": "The staff member can view customers.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DASHBOARD", + "description": "The staff member can view the Shopify Home page, which includes sales information and other shop data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEACTIVATE_GIFT_CARDS", + "description": "The staff member can deactivate gift cards.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE_CUSTOMERS", + "description": "The staff member can delete customers.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOMAINS", + "description": "The staff member can view, buy, and manage domains.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT_ORDERS", + "description": "The staff member can create, update, and delete draft orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EDIT_ORDERS", + "description": "The staff member can update orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ERASE_CUSTOMER_DATA", + "description": "The staff member can erase customer private data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPORT_CUSTOMERS", + "description": "The staff member can export customers.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPORT_GIFT_CARDS", + "description": "The staff member can export gift cards.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULL", + "description": "The staff has the same permissions as the [store owner](https://shopify.dev/en/manual/your-account/staff-accounts/staff-permissions#store-owner-permissions) with some exceptions, such as modifying the account billing or deleting staff accounts.", + "isDeprecated": true, + "deprecationReason": "Use the list of the staff member's explicit permissions returned in the `StaffMember.permissions.userPermissions` field instead of `full` permission." + }, + { + "name": "GIFT_CARDS", + "description": "The staff member can view, create, issue, and export gift cards to a CSV file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINKS", + "description": "The staff member can view and modify links and navigation menus.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATIONS", + "description": "The staff member can create, update, and delete locations where inventory is stocked or managed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETING", + "description": "The staff member can view and create discount codes and automatic discounts, and export discounts to a CSV file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETING_SECTION", + "description": "The staff member can view, create, and automate marketing campaigns.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERGE_CUSTOMERS", + "description": "The staff member can merge customers.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS", + "description": "The staff member can view, create, update, delete, and cancel orders, and receive order notifications. The staff member can still create draft orders without this permission.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OVERVIEWS", + "description": "The staff member can view the Overview and Live view pages, which include sales information, and other shop and sales channels data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAGES", + "description": "The staff member can view, create, update, publish, and delete blog posts and pages.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAY_ORDERS_BY_VAULTED_CARD", + "description": "The staff member can pay for an order by using a vaulted card.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREFERENCES", + "description": "The staff member can view the preferences and configuration of a shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCTS", + "description": "The staff member can view, create, import, and update products, collections, and inventory.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPORTS", + "description": "The staff member can view and create all reports, which includes sales information and other shop data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REQUEST_CUSTOMER_DATA", + "description": "The staff member can request customer private data.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEMES", + "description": "The staff member can view, update, and publish themes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSLATIONS", + "description": "The staff member can view and create translations.", + "isDeprecated": true, + "deprecationReason": "Unused." + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StaffMemberPrivateData", + "description": "Represents the data used to customize the Shopify admin experience for a logged-in staff member.", + "fields": [ + { + "name": "accountSettingsUrl", + "description": "The URL to the staff member's account settings page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the staff member was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "permissions", + "description": "Access permissions for the staff member.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "StaffMemberPermission", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "There's no alternative field to use instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StaffMembersSortKeys", + "description": "The set of valid sort keys for the StaffMembers query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "EMAIL", + "description": "Sort by the `email` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIRST_NAME", + "description": "Sort by the `first_name` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LAST_NAME", + "description": "Sort by the `last_name` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StageImageInput", + "description": "An image to be uploaded.\n\nDeprecated in favor of\n[StagedUploadInput](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadInput),\nwhich is used by the\n[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate).", + "fields": null, + "inputFields": [ + { + "name": "filename", + "description": "The image filename.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpMethod", + "description": "HTTP method to be used by the staged upload.", + "type": { + "kind": "ENUM", + "name": "StagedUploadHttpMethodType", + "ofType": null + }, + "defaultValue": "PUT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mimeType", + "description": "The image MIME type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resource", + "description": "The image resource.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "StagedUploadTargetGenerateUploadResource", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StagedMediaUploadTarget", + "description": "Information about a staged upload target, which should be used to send a request to upload\nthe file.\n\nFor more information on the upload process, refer to\n[Upload media to Shopify](https://shopify.dev/apps/online-store/media/products#step-1-upload-media-to-shopify).", + "fields": [ + { + "name": "parameters", + "description": "Parameters needed to authenticate a request to upload the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StagedUploadParameter", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceUrl", + "description": "The URL to be passed as `originalSource` in\n[CreateMediaInput](https://shopify.dev/api/admin-graphql/latest/input-objects/CreateMediaInput)\nand [FileCreateInput](https://shopify.dev/api/admin-graphql/2022-04/input-objects/FileCreateInput)\nfor the [productCreateMedia](https://shopify.dev/api/admin-graphql/2022-04/mutations/productCreateMedia)\nand [fileCreate](https://shopify.dev/api/admin-graphql/2022-04/mutations/fileCreate)\nmutations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL to use when sending an request to upload the file. Should be used in conjunction with\nthe parameters field.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StagedUploadHttpMethodType", + "description": "The possible HTTP methods that can be used when sending a request to upload a file using information from a\n[StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "POST", + "description": "The POST HTTP method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUT", + "description": "The PUT HTTP method.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StagedUploadInput", + "description": "The input fields for generating staged upload targets.", + "fields": null, + "inputFields": [ + { + "name": "fileSize", + "description": "The size of the file to upload, in bytes. This is required when the request's resource property is set to\n[VIDEO](https://shopify.dev/api/admin-graphql/latest/enums/StagedUploadTargetGenerateUploadResource#value-video)\nor [MODEL_3D](https://shopify.dev/api/admin-graphql/latest/enums/StagedUploadTargetGenerateUploadResource#value-model3d).", + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The file's name and extension.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpMethod", + "description": "The HTTP method to be used when sending a request to upload the file using the returned staged\nupload target.", + "type": { + "kind": "ENUM", + "name": "StagedUploadHttpMethodType", + "ofType": null + }, + "defaultValue": "PUT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mimeType", + "description": "The file's MIME type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resource", + "description": "The file's intended Shopify resource type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "StagedUploadTargetGenerateUploadResource", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StagedUploadParameter", + "description": "The parameters required to authenticate a file upload request using a\n[StagedMediaUploadTarget's url field](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget#field-stagedmediauploadtarget-url).\n\nFor more information on the upload process, refer to\n[Upload media to Shopify](https://shopify.dev/apps/online-store/media/products#step-1-upload-media-to-shopify).", + "fields": [ + { + "name": "name", + "description": "The parameter's name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The parameter's value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StagedUploadTarget", + "description": "Information about the staged target.\n\nDeprecated in favor of\n[StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget),\nwhich is returned by the\n[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate).", + "fields": [ + { + "name": "parameters", + "description": "The parameters of an image to be uploaded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ImageUploadParameter", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The image URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StagedUploadTargetGenerateInput", + "description": "The required fields and parameters to generate the URL upload an\"\nasset to Shopify.\n\nDeprecated in favor of\n[StagedUploadInput](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadInput),\nwhich is used by the\n[stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate).", + "fields": null, + "inputFields": [ + { + "name": "fileSize", + "description": "The size of the file to upload, in bytes.", + "type": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The filename of the asset being uploaded.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "httpMethod", + "description": "The HTTP method to be used by the staged upload.", + "type": { + "kind": "ENUM", + "name": "StagedUploadHttpMethodType", + "ofType": null + }, + "defaultValue": "PUT", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mimeType", + "description": "The MIME type of the asset being uploaded.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resource", + "description": "The resource type being uploaded.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "StagedUploadTargetGenerateUploadResource", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StagedUploadTargetGeneratePayload", + "description": "Return type for `stagedUploadTargetGenerate` mutation.", + "fields": [ + { + "name": "parameters", + "description": "The signed parameters that can be used to upload the asset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MutationsStagedUploadTargetGenerateUploadParameter", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The signed URL where the asset can be uploaded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StagedUploadTargetGenerateUploadResource", + "description": "The resource type to receive.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BULK_MUTATION_VARIABLES", + "description": "Represents bulk mutation variables.\n\nFor example, bulk mutation variables can be used for bulk operations using the\n[bulkOperationRunMutation mutation](https://shopify.dev/api/admin-graphql/latest/mutations/bulkOperationRunMutation).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_IMAGE", + "description": "An image associated with a collection.\n\nFor example, after uploading an image, you can use the\n[collectionUpdate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/collectionUpdate)\nto add the image to a collection.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE", + "description": "Represents any file other than HTML.\n\nFor example, after uploading the file, you can add the file to the\n[Files page](https://shopify.com/admin/settings/files) in Shopify admin using the\n[fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "IMAGE", + "description": "An image.\n\nFor example, after uploading an image, you can add the image to a product using the\n[productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia)\nor to the [Files page](https://shopify.com/admin/settings/files) in Shopify admin using the\n[fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODEL_3D", + "description": "A Shopify hosted 3d model.\n\nFor example, after uploading the 3d model, you can add the 3d model to a product using the\n[productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_IMAGE", + "description": "An image that's associated with a product.\n\nFor example, after uploading the image, you can add the image to a product using the\n[productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURN_LABEL", + "description": "Represents a label associated with a return.\n\nFor example, once uploaded, this resource can be used to [create a\nReverseDelivery](https://shopify.dev/api/admin-graphql/unstable/mutations/reverseDeliveryCreateWithShipping).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_IMAGE", + "description": "An image.\n\nFor example, after uploading the image, you can add the image to the\n[Files page](https://shopify.com/admin/settings/files) in Shopify admin using the\n[fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "URL_REDIRECT_IMPORT", + "description": "Represents a redirect CSV file.\n\nExample usage: This resource can be used for creating a\n[UrlRedirectImport](https://shopify.dev/api/admin-graphql/2022-04/objects/UrlRedirectImport)\nobject for use in the\n[urlRedirectImportCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/urlRedirectImportCreate).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VIDEO", + "description": "A Shopify-hosted video.\n\nFor example, after uploading the video, you can add the video to a product using the\n[productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia)\nor to the [Files page](https://shopify.com/admin/settings/files) in Shopify admin using the\n[fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate).", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StagedUploadTargetsGeneratePayload", + "description": "Return type for `stagedUploadTargetsGenerate` mutation.", + "fields": [ + { + "name": "urls", + "description": "The staged upload targets that were generated.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StagedUploadTarget", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StagedUploadsCreatePayload", + "description": "Return type for `stagedUploadsCreate` mutation.", + "fields": [ + { + "name": "stagedTargets", + "description": "The staged upload targets that were generated.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StagedMediaUploadTarget", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StandardMetafieldDefinitionAccessInput", + "description": "The input fields for the access settings for the metafields under the standard definition.", + "fields": null, + "inputFields": [ + { + "name": "admin", + "description": "The Admin API access setting to use for the metafields under this definition.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldAdminAccessInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerAccount", + "description": "The Customer Account API access setting to use for the metafields under this definition.", + "type": { + "kind": "ENUM", + "name": "MetafieldCustomerAccountAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefront", + "description": "The Storefront API access setting to use for the metafields under this definition.", + "type": { + "kind": "ENUM", + "name": "MetafieldStorefrontAccessInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionEnablePayload", + "description": "Return type for `standardMetafieldDefinitionEnable` mutation.", + "fields": [ + { + "name": "createdDefinition", + "description": "The metafield definition that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetafieldDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionEnableUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionEnableUserError", + "description": "An error that occurs during the execution of `StandardMetafieldDefinitionEnable`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "StandardMetafieldDefinitionEnableUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StandardMetafieldDefinitionEnableUserErrorCode", + "description": "Possible error codes that can be returned by `StandardMetafieldDefinitionEnableUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_INPUT_COMBINATION", + "description": "The input combination is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIMIT_EXCEEDED", + "description": "The maximum number of definitions per owner type has been exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEMPLATE_NOT_FOUND", + "description": "The standard metafield definition template was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TYPE_NOT_ALLOWED_FOR_CONDITIONS", + "description": "The definition type is not eligible to be used as collection condition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSTRUCTURED_ALREADY_EXISTS", + "description": "The namespace and key is already in use for a set of your metafields.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplate", + "description": "Standard metafield definition templates provide preset configurations to create metafield definitions.\nEach template has a specific namespace and key that we've reserved to have specific meanings for common use cases.\n\nRefer to the [list of standard metafield definitions](https://shopify.dev/apps/metafields/definitions/standard-definitions).", + "fields": [ + { + "name": "description", + "description": "The description of the standard metafield definition.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The key owned by the definition after the definition has been activated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The human-readable name for the standard metafield definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace owned by the definition after the definition has been activated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ownerTypes", + "description": "The list of resource types that the standard metafield definition can be applied to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MetafieldOwnerType", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The associated [metafield definition type](https://shopify.dev/apps/metafields/definitions/types) that the metafield stores.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validations", + "description": "The configured validations for the standard metafield definition.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionValidation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "visibleToStorefrontApi", + "description": "Whether metafields for the definition are by default visible using the Storefront API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplateConnection", + "description": "An auto-generated type for paginating through multiple StandardMetafieldDefinitionTemplates.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplateEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in StandardMetafieldDefinitionTemplateEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplate", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplateEdge", + "description": "An auto-generated type which holds one StandardMetafieldDefinitionTemplate and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of StandardMetafieldDefinitionTemplateEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StandardMetafieldDefinitionTemplate", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardMetaobjectDefinitionEnablePayload", + "description": "Return type for `standardMetaobjectDefinitionEnable` mutation.", + "fields": [ + { + "name": "metaobjectDefinition", + "description": "The metaobject definition that was enabled using the standard template.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MetaobjectDefinition", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetaobjectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StandardizedProductType", + "description": "Represents the details of a specific type of product within the [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17).", + "fields": [ + { + "name": "productTaxonomyNode", + "description": "The product taxonomy node associated with the standardized product type.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "ProductTaxonomyNode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "description": "A store credit account contains a monetary balance that can be redeemed at checkout for purchases in the shop.\nThe account is held in the specified currency and has an owner that cannot be transferred.\n\nThe account balance is redeemable at checkout only when the owner is authenticated via [new customer accounts authentication](https://shopify.dev/docs/api/customer).", + "fields": [ + { + "name": "balance", + "description": "The current balance of the store credit account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "owner", + "description": "The owner of the store credit account.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "HasStoreCreditAccounts", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "The transaction history of the store credit account.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| expires_at | time | Filter transactions by expiry date. Only applicable to StoreCreditAccountCreditTransaction objects. All other objects are handled as if they have a null expiry date. | | | - `expires_at:<='2025-01-01T00:00:00+01:00'`
- `expires_at:<='2025-12-31T23:00:00Z'` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| type | string | Filter transactions by type. Any value other than the accepted values will be ignored. | - `credit`
- `debit`
- `debit_revert`
- `expiration` | | - `type:expiration`
- `type:credit OR type:debit_revert` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list by the given key.", + "type": { + "kind": "ENUM", + "name": "TransactionSortKeys", + "ofType": null + }, + "defaultValue": "CREATED_AT", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountTransactionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountConnection", + "description": "An auto-generated type for paginating through multiple StoreCreditAccounts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in StoreCreditAccountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StoreCreditAccountCreditInput", + "description": "The input fields for a store credit account credit transaction.", + "fields": null, + "inputFields": [ + { + "name": "creditAmount", + "description": "The amount to credit the store credit account.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "The date and time when the credit expires.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditPayload", + "description": "Return type for `storeCreditAccountCredit` mutation.", + "fields": [ + { + "name": "storeCreditAccountTransaction", + "description": "The store credit account transaction that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditTransaction", + "description": "A credit transaction which increases the store credit account balance.", + "fields": [ + { + "name": "account", + "description": "The store credit account that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "balanceAfterTransaction", + "description": "The balance of the account after the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the transaction was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiresAt", + "description": "The time at which the transaction expires.\nDebit transactions will always spend the soonest expiring credit first.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remainingAmount", + "description": "The remaining amount of the credit.\nThe remaining amount will decrease when a debit spends this credit. It may also increase if that debit is subsequently reverted.\nIn the event that the credit expires, the remaining amount will represent the amount that remained as the expiry ocurred.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StoreCreditAccountTransaction", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditUserError", + "description": "An error that occurs during the execution of `StoreCreditAccountCredit`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "StoreCreditAccountCreditUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StoreCreditAccountCreditUserErrorCode", + "description": "Possible error codes that can be returned by `StoreCreditAccountCreditUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCOUNT_NOT_FOUND", + "description": "The store credit account could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CREDIT_LIMIT_EXCEEDED", + "description": "The operation would cause the account's credit limit to be exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRES_AT_IN_PAST", + "description": "The expiry date must be in the future.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISMATCHING_CURRENCY", + "description": "The currency provided does not match the currency of the store credit account.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEGATIVE_OR_ZERO_AMOUNT", + "description": "A positive amount must be used to credit a store credit account.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OWNER_NOT_FOUND", + "description": "Owner does not exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StoreCreditAccountDebitInput", + "description": "The input fields for a store credit account debit transaction.", + "fields": null, + "inputFields": [ + { + "name": "debitAmount", + "description": "The amount to debit the store credit account.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MoneyInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitPayload", + "description": "Return type for `storeCreditAccountDebit` mutation.", + "fields": [ + { + "name": "storeCreditAccountTransaction", + "description": "The store credit account transaction that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitRevertTransaction", + "description": "A debit revert transaction which increases the store credit account balance.\nDebit revert transactions are created automatically when a [store credit account debit transaction](https://shopify.dev/api/admin-graphql/latest/objects/StoreCreditAccountDebitTransaction) is reverted.\n\nStore credit account debit transactions are reverted when an order is cancelled, refunded or in the event of a payment failure at checkout.\nThe amount added to the balance is equal to the amount reverted on the original credit.", + "fields": [ + { + "name": "account", + "description": "The store credit account that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "balanceAfterTransaction", + "description": "The balance of the account after the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the transaction was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "debitTransaction", + "description": "The reverted debit transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitTransaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StoreCreditAccountTransaction", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitTransaction", + "description": "A debit transaction which decreases the store credit account balance.", + "fields": [ + { + "name": "account", + "description": "The store credit account that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "balanceAfterTransaction", + "description": "The balance of the account after the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the transaction was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "StoreCreditAccountTransaction", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitUserError", + "description": "An error that occurs during the execution of `StoreCreditAccountDebit`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "StoreCreditAccountDebitUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "StoreCreditAccountDebitUserErrorCode", + "description": "Possible error codes that can be returned by `StoreCreditAccountDebitUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACCOUNT_NOT_FOUND", + "description": "The store credit account could not be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSUFFICIENT_FUNDS", + "description": "The store credit account does not have sufficient funds to satisfy the request.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISMATCHING_CURRENCY", + "description": "The currency provided does not match the currency of the store credit account.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NEGATIVE_OR_ZERO_AMOUNT", + "description": "A positive amount must be used to debit a store credit account.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountEdge", + "description": "An auto-generated type which holds one StoreCreditAccount and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of StoreCreditAccountEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountExpirationTransaction", + "description": "An expiration transaction which decreases the store credit account balance.\nExpiration transactions are created automatically when a [store credit account credit transaction](https://shopify.dev/api/admin-graphql/latest/objects/StoreCreditAccountCreditTransaction) expires.\n\nThe amount subtracted from the balance is equal to the remaining amount of the credit transaction.", + "fields": [ + { + "name": "account", + "description": "The store credit account that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "balanceAfterTransaction", + "description": "The balance of the account after the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the transaction was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "creditTransaction", + "description": "The credit transaction which expired.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditTransaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "StoreCreditAccountTransaction", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "StoreCreditAccountTransaction", + "description": "Interface for a store credit account transaction.", + "fields": [ + { + "name": "account", + "description": "The store credit account that the transaction belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "balanceAfterTransaction", + "description": "The balance of the account after the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the transaction was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "StoreCreditAccountCreditTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitRevertTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountDebitTransaction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountExpirationTransaction", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountTransactionConnection", + "description": "An auto-generated type for paginating through multiple StoreCreditAccountTransactions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StoreCreditAccountTransactionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in StoreCreditAccountTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "StoreCreditAccountTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StoreCreditAccountTransactionEdge", + "description": "An auto-generated type which holds one StoreCreditAccountTransaction and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of StoreCreditAccountTransactionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "StoreCreditAccountTransaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StorefrontAccessToken", + "description": "A token that's used to delegate unauthenticated access scopes to clients that need to access\nthe unauthenticated [Storefront API](https://shopify.dev/docs/api/storefront).\n\nAn app can have a maximum of 100 active storefront access\ntokens for each shop.\n\n[Get started with the Storefront API](https://shopify.dev/docs/storefronts/headless/building-with-the-storefront-api/getting-started).", + "fields": [ + { + "name": "accessScopes", + "description": "List of permissions associated with the token.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "AccessScope", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "accessToken", + "description": "The issued public access token.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the public access token was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "An arbitrary title for each token determined by the developer, used for reference purposes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the storefront access token was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StorefrontAccessTokenConnection", + "description": "An auto-generated type for paginating through multiple StorefrontAccessTokens.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StorefrontAccessTokenEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in StorefrontAccessTokenEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StorefrontAccessToken", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StorefrontAccessTokenCreatePayload", + "description": "Return type for `storefrontAccessTokenCreate` mutation.", + "fields": [ + { + "name": "shop", + "description": "The user's shop.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Shop", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "storefrontAccessToken", + "description": "The storefront access token.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StorefrontAccessToken", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StorefrontAccessTokenDeleteInput", + "description": "The input fields to delete a storefront access token.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The ID of the storefront access token to delete.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StorefrontAccessTokenDeletePayload", + "description": "Return type for `storefrontAccessTokenDelete` mutation.", + "fields": [ + { + "name": "deletedStorefrontAccessTokenId", + "description": "The ID of the deleted storefront access token.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StorefrontAccessTokenEdge", + "description": "An auto-generated type which holds one StorefrontAccessToken and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of StorefrontAccessTokenEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StorefrontAccessToken", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "StorefrontAccessTokenInput", + "description": "The input fields for a storefront access token.", + "fields": null, + "inputFields": [ + { + "name": "title", + "description": "A title for the storefront access token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "StorefrontID", + "description": "Represents a unique identifier in the Storefront API. A `StorefrontID` value can be used wherever an ID is expected in the Storefront API.\n\nExample value: `\"Z2lkOi8vc2hvcGlmeS9Qcm9kdWN0LzEwMDc5Nzg1MTAw\"`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StringConnection", + "description": "An auto-generated type for paginating through multiple Strings.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "StringEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StringEdge", + "description": "An auto-generated type which holds one String and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of StringEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionAppliedCodeDiscount", + "description": "Represents an applied code discount.", + "fields": [ + { + "name": "id", + "description": "The unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "redeemCode", + "description": "The redeem code of the discount that applies on the subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rejectionReason", + "description": "The reason that the discount on the subscription draft is rejected.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionDiscountRejectionReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionAtomicLineInput", + "description": "The input fields for mapping a subscription line to a discount.", + "fields": null, + "inputFields": [ + { + "name": "discounts", + "description": "The discount to be added to the subscription line.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionAtomicManualDiscountInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "line", + "description": "The new subscription line.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionLineInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionAtomicManualDiscountInput", + "description": "The input fields for mapping a subscription line to a discount.", + "fields": null, + "inputFields": [ + { + "name": "recurringCycleLimit", + "description": "The maximum number of times the subscription discount will be applied on orders.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title associated with the subscription discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Percentage or fixed amount value of the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingAttempt", + "description": "A record of an execution of the subscription billing process. Billing attempts use\nidempotency keys to avoid duplicate order creation. A successful billing attempt\nwill create an order.", + "fields": [ + { + "name": "completedAt", + "description": "The date and time when the billing attempt was completed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the billing attempt was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorCode", + "description": "A code corresponding to a payment error during processing.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingAttemptErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorMessage", + "description": "A message describing a payment error during processing.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "idempotencyKey", + "description": "A unique key generated by the client to avoid duplicate payments.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextActionUrl", + "description": "The URL where the customer needs to be redirected so they can complete the 3D Secure payment flow.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The result of this billing attempt if completed successfully.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originTime", + "description": "The date and time used to calculate fulfillment intervals for a billing attempt that\nsuccessfully completed after the current anchor date. To prevent fulfillment from being\npushed to the next anchor date, this field can override the billing attempt date.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentGroupId", + "description": "The reference shared between retried payment attempts.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentSessionId", + "description": "The reference shared between payment attempts with similar payment details.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ready", + "description": "Whether the billing attempt is still processing.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionContract", + "description": "The subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactions", + "description": "The transactions created by the billing attempt.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderTransactionConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptConnection", + "description": "An auto-generated type for paginating through multiple SubscriptionBillingAttempts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SubscriptionBillingAttemptEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttempt", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptCreatePayload", + "description": "Return type for `subscriptionBillingAttemptCreate` mutation.", + "fields": [ + { + "name": "subscriptionBillingAttempt", + "description": "The subscription billing attempt.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttempt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BillingAttemptUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptEdge", + "description": "An auto-generated type which holds one SubscriptionBillingAttempt and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SubscriptionBillingAttemptEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttempt", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingAttemptErrorCode", + "description": "The possible error codes associated with making billing attempts. The error codes supplement the\n`error_message` to provide consistent results and help with dunning management.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AMOUNT_TOO_SMALL", + "description": "The amount is too small.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTHENTICATION_ERROR", + "description": "There was an error during the authentication.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BUYER_CANCELED_PAYMENT_METHOD", + "description": "Payment method was canceled by buyer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CARD_NUMBER_INCORRECT", + "description": "Card number was incorrect.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_INVALID", + "description": "Customer is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_NOT_FOUND", + "description": "Customer was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED_PAYMENT_METHOD", + "description": "Payment method is expired.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAUD_SUSPECTED", + "description": "Fraud was suspected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSUFFICIENT_FUNDS", + "description": "Insufficient funds.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INSUFFICIENT_INVENTORY", + "description": "Not enough inventory found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CUSTOMER_BILLING_AGREEMENT", + "description": "The billing agreement ID or the transaction ID for the customer's payment method is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_PAYMENT_METHOD", + "description": "Payment method is invalid. Please update or create a new payment method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_SHIPPING_ADDRESS", + "description": "The shipping address is either missing or invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_ALLOCATIONS_NOT_FOUND", + "description": "No inventory location found or enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVOICE_ALREADY_PAID", + "description": "A payment has already been made for this invoice.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_METHOD_DECLINED", + "description": "Payment method was declined by processor.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_METHOD_INCOMPATIBLE_WITH_GATEWAY_CONFIG", + "description": "Payment method cannot be used with the current payment gateway test mode configuration.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_METHOD_NOT_FOUND", + "description": "Payment method was not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_PROVIDER_IS_NOT_ENABLED", + "description": "Payment provider is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYPAL_ERROR_GENERAL", + "description": "Paypal Error General.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PURCHASE_TYPE_NOT_SUPPORTED", + "description": "Purchase Type is not supported.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TEST_MODE", + "description": "Gateway is in test mode and attempted to bill a live payment method.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSIENT_ERROR", + "description": "Transient error, try again later.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNEXPECTED_ERROR", + "description": "There was an unexpected error during the billing attempt.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingAttemptInput", + "description": "The input fields required to complete a subscription billing attempt.", + "fields": null, + "inputFields": [ + { + "name": "billingCycleSelector", + "description": "Select the specific billing cycle to be billed.\nDefault to bill the current billing cycle if not specified.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleSelector", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "idempotencyKey", + "description": "A unique key generated by the client to avoid duplicate payments. For more information, refer to [Idempotent requests](https://shopify.dev/api/usage/idempotent-requests).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originTime", + "description": "The date and time used to calculate fulfillment intervals for a billing attempt that\nsuccessfully completed after the current anchor date. To prevent fulfillment from being\npushed to the next anchor date, this field can override the billing attempt date.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingAttemptsSortKeys", + "description": "The set of valid sort keys for the SubscriptionBillingAttempts query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "description": "A subscription billing cycle.", + "fields": [ + { + "name": "billingAttemptExpectedDate", + "description": "The date on which the billing attempt is expected to be made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAttempts", + "description": "The list of billing attempts associated with the billing cycle.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cycleEndAt", + "description": "The end date of the billing cycle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cycleIndex", + "description": "The index of the billing cycle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cycleStartAt", + "description": "The start date of the billing cycle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "edited", + "description": "Whether this billing cycle was edited.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editedContract", + "description": "The active edited contract for the billing cycle.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditedContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skipped", + "description": "Whether this billing cycle was skipped.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sourceContract", + "description": "The subscription contract that the billing cycle belongs to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The status of the billing cycle.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleBillingCycleStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCycleBillingAttemptStatus", + "description": "The presence of billing attempts on Billing Cycles.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ANY", + "description": "Billing cycle has any number of billing attempts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_ATTEMPT", + "description": "Billing cycle has at least one billing attempt.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_ATTEMPT", + "description": "Billing cycle has no billing attempts.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCycleBillingCycleStatus", + "description": "The possible status values of a subscription billing cycle.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BILLED", + "description": "The billing cycle is billed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNBILLED", + "description": "The billing cycle hasn't been billed.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkChargePayload", + "description": "Return type for `subscriptionBillingCycleBulkCharge` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that performs the action on the targeted billing cycles.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleBulkFilters", + "description": "The input fields for filtering subscription billing cycles in bulk actions.", + "fields": null, + "inputFields": [ + { + "name": "billingAttemptStatus", + "description": "Filters the billing cycles based on the presence of billing attempts.", + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleBillingAttemptStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingCycleStatus", + "description": "Filters the billing cycles based on their status.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleBillingCycleStatus", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "contractStatus", + "description": "Filters the billing cycles based on the status of their associated subscription contracts.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubscriptionContractSubscriptionStatus", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkSearchPayload", + "description": "Return type for `subscriptionBillingCycleBulkSearch` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job that performs the action on the targeted billing cycles.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleBulkUserError", + "description": "Represents an error that happens during the execution of subscriptionBillingCycles mutations.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleBulkUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCycleBulkUserErrorCode", + "description": "Possible error codes that can be returned by `SubscriptionBillingCycleBulkUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "END_DATE_IN_THE_FUTURE", + "description": "End date can't be more than 24 hours in the future.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_DATE_RANGE", + "description": "The range between start date and end date shouldn't be more than 1 week.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "START_DATE_BEFORE_END_DATE", + "description": "Start date should be before end date.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleChargePayload", + "description": "Return type for `subscriptionBillingCycleCharge` mutation.", + "fields": [ + { + "name": "subscriptionBillingAttempt", + "description": "The subscription billing attempt.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttempt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BillingAttemptUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleConnection", + "description": "An auto-generated type for paginating through multiple SubscriptionBillingCycles.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SubscriptionBillingCycleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleContractDraftCommitPayload", + "description": "Return type for `subscriptionBillingCycleContractDraftCommit` mutation.", + "fields": [ + { + "name": "contract", + "description": "The committed Subscription Billing Cycle Edited Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditedContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleContractDraftConcatenatePayload", + "description": "Return type for `subscriptionBillingCycleContractDraftConcatenate` mutation.", + "fields": [ + { + "name": "draft", + "description": "The Subscription Draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleContractEditPayload", + "description": "Return type for `subscriptionBillingCycleContractEdit` mutation.", + "fields": [ + { + "name": "draft", + "description": "The draft subscription contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEdge", + "description": "An auto-generated type which holds one SubscriptionBillingCycle and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SubscriptionBillingCycleEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditDeletePayload", + "description": "Return type for `subscriptionBillingCycleEditDelete` mutation.", + "fields": [ + { + "name": "billingCycles", + "description": "The list of updated billing cycles.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditedContract", + "description": "Represents a subscription contract with billing cycles.", + "fields": [ + { + "name": "app", + "description": "The subscription app that the subscription contract is registered to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appAdminUrl", + "description": "The URL of the subscription contract page on the subscription app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingCycles", + "description": "The billing cycles that the edited contract belongs to.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCyclesSortKeys", + "ofType": null + }, + "defaultValue": "CYCLE_INDEX", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the subscription contract was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The currency that's used for the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of the custom attributes to be added to the generated orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer to whom the subscription contract belongs.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethod", + "description": "The customer payment method that's used for the subscription contract.", + "args": [ + { + "name": "showRevoked", + "description": "Whether to show the customer's revoked payment method.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryMethod", + "description": "The delivery method for each billing of the subscription contract.", + "args": [], + "type": { + "kind": "UNION", + "name": "SubscriptionDeliveryMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPrice", + "description": "The delivery price for each billing of the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discounts", + "description": "The list of subscription discounts associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineCount", + "description": "The number of lines associated with the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `linesCount` instead." + }, + { + "name": "lines", + "description": "The list of subscription lines associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linesCount", + "description": "The number of lines associated with the subscription contract.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note field that will be applied to the generated orders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "A list of the subscription contract's orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the subscription contract was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "SubscriptionContractBase", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditsDeletePayload", + "description": "Return type for `subscriptionBillingCycleEditsDelete` mutation.", + "fields": [ + { + "name": "billingCycles", + "description": "The list of updated billing cycles.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCycleErrorCode", + "description": "Possible error codes that can be returned by `SubscriptionBillingCycleUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BILLING_DATE_SET_ON_SKIPPED", + "description": "Billing date cannot be set on skipped billing cycle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_INDEX_OUT_OF_RANGE", + "description": "Billing cycle selector cannot select billing cycle outside of index range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_NOT_FOUND", + "description": "Can't find the billing cycle.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_START_DATE_OUT_OF_RANGE", + "description": "Billing cycle selector cannot select billing cycle outside of start date range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMPTY_BILLING_CYCLE_EDIT_SCHEDULE_INPUT", + "description": "Billing cycle schedule edit input provided is empty. Must take in parameters to modify schedule.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCOMPLETE_BILLING_ATTEMPTS", + "description": "Billing cycle has incomplete billing attempts in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CYCLE_INDEX", + "description": "The index selector is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_DATE", + "description": "The date selector is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_CYCLE_EDITS", + "description": "There's no contract or schedule edit associated with the targeted billing cycle(s).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OUT_OF_BOUNDS", + "description": "Billing date of a cycle cannot be set to a value outside of its billing date range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPCOMING_CYCLE_LIMIT_EXCEEDED", + "description": "Billing cycle selector cannot select upcoming billing cycle past limit.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleInput", + "description": "The input fields for specifying the subscription contract and selecting the associated billing cycle.", + "fields": null, + "inputFields": [ + { + "name": "contractId", + "description": "The ID of the subscription contract associated with the billing cycle.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "selector", + "description": "Selects the billing cycle by date or index.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleSelector", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleScheduleEditInput", + "description": "The input fields for parameters to modify the schedule of a specific billing cycle.", + "fields": null, + "inputFields": [ + { + "name": "billingDate", + "description": "Sets the expected billing date for the billing cycle.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for editing.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleScheduleEditInputScheduleEditReason", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "skip", + "description": "Sets the skip status for the billing cycle.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCycleScheduleEditInputScheduleEditReason", + "description": "The input fields for possible reasons for editing the billing cycle's schedule.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BUYER_INITIATED", + "description": "Buyer initiated the schedule edit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEV_INITIATED", + "description": "Developer initiated the schedule edit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MERCHANT_INITIATED", + "description": "Merchant initiated the schedule edit.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleScheduleEditPayload", + "description": "Return type for `subscriptionBillingCycleScheduleEdit` mutation.", + "fields": [ + { + "name": "billingCycle", + "description": "The updated billing cycle.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCycleSelector", + "description": "The input fields to select SubscriptionBillingCycle by either date or index.", + "fields": null, + "inputFields": [ + { + "name": "date", + "description": "Returns a billing cycle by date.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "index", + "description": "Returns a billing cycle by index.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleSkipPayload", + "description": "Return type for `subscriptionBillingCycleSkip` mutation.", + "fields": [ + { + "name": "billingCycle", + "description": "The updated billing cycle.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleSkipUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleSkipUserError", + "description": "An error that occurs during the execution of `SubscriptionBillingCycleSkip`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleSkipUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCycleSkipUserErrorCode", + "description": "Possible error codes that can be returned by `SubscriptionBillingCycleSkipUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUnskipPayload", + "description": "Return type for `subscriptionBillingCycleUnskip` mutation.", + "fields": [ + { + "name": "billingCycle", + "description": "The updated billing cycle.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUnskipUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUnskipUserError", + "description": "An error that occurs during the execution of `SubscriptionBillingCycleUnskip`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleUnskipUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCycleUnskipUserErrorCode", + "description": "Possible error codes that can be returned by `SubscriptionBillingCycleUnskipUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleUserError", + "description": "The possible errors for a subscription billing cycle.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCycleErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCyclesDateRangeSelector", + "description": "The input fields to select a subset of subscription billing cycles within a date range.", + "fields": null, + "inputFields": [ + { + "name": "endDate", + "description": "The end date and time for the range.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startDate", + "description": "The start date and time for the range.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingCyclesIndexRangeSelector", + "description": "The input fields to select a subset of subscription billing cycles within an index range.", + "fields": null, + "inputFields": [ + { + "name": "endIndex", + "description": "The end index for the range.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startIndex", + "description": "The start index for the range.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCyclesSortKeys", + "description": "The set of valid sort keys for the SubscriptionBillingCycles query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CYCLE_INDEX", + "description": "Sort by the `cycle_index` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionBillingCyclesTargetSelection", + "description": "Select subscription billing cycles to be targeted.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALL", + "description": "Target all current and upcoming subscription billing cycles.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionBillingPolicy", + "description": "Represents a Subscription Billing Policy.", + "fields": [ + { + "name": "anchors", + "description": "Specific anchor dates upon which the billing interval calculations should be made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanAnchor", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of billing intervals between invoices.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxCycles", + "description": "Maximum amount of cycles after which the subscription ends.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minCycles", + "description": "Minimum amount of cycles required in the subscription.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingPolicyInput", + "description": "The input fields for a Subscription Billing Policy.", + "fields": null, + "inputFields": [ + { + "name": "anchors", + "description": "Specific anchor dates upon which the billing interval calculations should be made.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanAnchorInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of billing intervals between invoices.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maxCycles", + "description": "Maximum amount of cycles required in the subscription.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "minCycles", + "description": "Minimum amount of cycles required in the subscription.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContract", + "description": "Represents a Subscription Contract.", + "fields": [ + { + "name": "app", + "description": "The subscription app that the subscription contract is registered to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appAdminUrl", + "description": "The URL of the subscription contract page on the subscription app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingAttempts", + "description": "The list of billing attempts associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingAttemptConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingPolicy", + "description": "The billing policy associated with the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time when the subscription contract was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The currency that's used for the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of the custom attributes to be added to the generated orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer to whom the subscription contract belongs.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethod", + "description": "The customer payment method that's used for the subscription contract.", + "args": [ + { + "name": "showRevoked", + "description": "Whether to show the customer's revoked payment method.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryMethod", + "description": "The delivery method for each billing of the subscription contract.", + "args": [], + "type": { + "kind": "UNION", + "name": "SubscriptionDeliveryMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPolicy", + "description": "The delivery policy associated with the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDeliveryPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPrice", + "description": "The delivery price for each billing of the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discounts", + "description": "The list of subscription discounts associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastBillingAttemptErrorType", + "description": "The last billing error type of the contract.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionContractLastBillingErrorType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastPaymentStatus", + "description": "The current status of the last payment.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionContractLastPaymentStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineCount", + "description": "The number of lines associated with the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `linesCount` instead." + }, + { + "name": "lines", + "description": "The list of subscription lines associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linesCount", + "description": "The number of lines associated with the subscription contract.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextBillingDate", + "description": "The next billing date for the subscription contract. This field is managed by the apps.\n Alternatively you can utilize our\n [Billing Cycles APIs](https://shopify.dev/docs/apps/selling-strategies/subscriptions/billing-cycles),\n which provide auto-computed billing dates and additional functionalities.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note field that will be applied to the generated orders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "A list of the subscription contract's orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originOrder", + "description": "The order from which this contract originated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revisionId", + "description": "The revision id of the contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current status of the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SubscriptionContractSubscriptionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the subscription contract was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "SubscriptionContractBase", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractActivatePayload", + "description": "Return type for `subscriptionContractActivate` mutation.", + "fields": [ + { + "name": "contract", + "description": "The new Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractStatusUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionContractAtomicCreateInput", + "description": "The input fields required to create a Subscription Contract.", + "fields": null, + "inputFields": [ + { + "name": "contract", + "description": "The attributes used as input for the Subscription Draft.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDraftInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The currency used for the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer to associate with the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountCodes", + "description": "A list of discount redeem codes to apply to the subscription contract.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lines", + "description": "A list of new Subscription Lines.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionAtomicLineInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextBillingDate", + "description": "The next billing date for the subscription contract.This field is independent of billing cycles.It stores metadata set by the apps, and thus not managed by Shopify.It can be queried from subscriptionContract.nextBillingDate.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractAtomicCreatePayload", + "description": "Return type for `subscriptionContractAtomicCreate` mutation.", + "fields": [ + { + "name": "contract", + "description": "The new Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "SubscriptionContractBase", + "description": "Represents subscription contract common fields.", + "fields": [ + { + "name": "app", + "description": "The subscription app that the subscription contract is registered to.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "App", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appAdminUrl", + "description": "The URL of the subscription contract page on the subscription app.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The currency that's used for the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of the custom attributes to be added to the generated orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer to whom the subscription contract belongs.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethod", + "description": "The customer payment method that's used for the subscription contract.", + "args": [ + { + "name": "showRevoked", + "description": "Whether to show the customer's revoked payment method.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryMethod", + "description": "The delivery method for each billing of the subscription contract.", + "args": [], + "type": { + "kind": "UNION", + "name": "SubscriptionDeliveryMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPrice", + "description": "The delivery price for each billing of the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discounts", + "description": "The list of subscription discounts associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineCount", + "description": "The number of lines associated with the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `linesCount` instead." + }, + { + "name": "lines", + "description": "The list of subscription lines associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linesCount", + "description": "The number of lines associated with the subscription contract.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Count", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note field that will be applied to the generated orders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "orders", + "description": "A list of the subscription contract's orders.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OrderConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the subscription contract was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleEditedContract", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractCancelPayload", + "description": "Return type for `subscriptionContractCancel` mutation.", + "fields": [ + { + "name": "contract", + "description": "The new Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractStatusUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractConnection", + "description": "An auto-generated type for paginating through multiple SubscriptionContracts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SubscriptionContractEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionContractCreateInput", + "description": "The input fields required to create a Subscription Contract.", + "fields": null, + "inputFields": [ + { + "name": "contract", + "description": "The attributes used as input for the Subscription Draft.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDraftInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The currency used for the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerId", + "description": "The ID of the customer to associate with the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextBillingDate", + "description": "The next billing date for the subscription contract.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractCreatePayload", + "description": "Return type for `subscriptionContractCreate` mutation.", + "fields": [ + { + "name": "draft", + "description": "The Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractEdge", + "description": "An auto-generated type which holds one SubscriptionContract and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SubscriptionContractEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionContractErrorCode", + "description": "Possible error codes that can be returned by `SubscriptionContractUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractExpirePayload", + "description": "Return type for `subscriptionContractExpire` mutation.", + "fields": [ + { + "name": "contract", + "description": "The new Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractStatusUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractFailPayload", + "description": "Return type for `subscriptionContractFail` mutation.", + "fields": [ + { + "name": "contract", + "description": "The new Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractStatusUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionContractLastBillingErrorType", + "description": "The possible values of the last billing error on a subscription contract.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CUSTOMER_ERROR", + "description": "Subscription billing attempt error due to customer error.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_ERROR", + "description": "Subscription billing attempt error due to inventory error.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OTHER", + "description": "All other billing attempt errors.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_ERROR", + "description": "Subscription billing attempt error due to payment error.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionContractLastPaymentStatus", + "description": "The possible status values of the last payment on a subscription contract.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FAILED", + "description": "Failed subscription billing attempt.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUCCEEDED", + "description": "Successful subscription billing attempt.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractPausePayload", + "description": "Return type for `subscriptionContractPause` mutation.", + "fields": [ + { + "name": "contract", + "description": "The new Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractStatusUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionContractProductChangeInput", + "description": "The input fields required to create a Subscription Contract.", + "fields": null, + "inputFields": [ + { + "name": "currentPrice", + "description": "The price of the product.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantId", + "description": "The ID of the product variant the subscription line refers to.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractProductChangePayload", + "description": "Return type for `subscriptionContractProductChange` mutation.", + "fields": [ + { + "name": "contract", + "description": "The new Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineUpdated", + "description": "The updated Subscription Line.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractSetNextBillingDatePayload", + "description": "Return type for `subscriptionContractSetNextBillingDate` mutation.", + "fields": [ + { + "name": "contract", + "description": "The updated Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionContractUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionContractStatusUpdateErrorCode", + "description": "Possible error codes that can be returned by `SubscriptionContractStatusUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CONTRACT_TERMINATED", + "description": "Subscription contract status cannot be changed once terminated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractStatusUpdateUserError", + "description": "Represents a subscription contract status update error.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionContractStatusUpdateErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionContractSubscriptionStatus", + "description": "The possible status values of a subscription.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "The contract is active and continuing per its policies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CANCELLED", + "description": "The contract was ended by an unplanned customer action.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRED", + "description": "The contract has ended per the expected circumstances. All billing and deliverycycles of the subscriptions were executed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILED", + "description": "The contract ended because billing failed and no further billing attempts are expected.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAUSED", + "description": "The contract is temporarily paused and is expected to resume in the future.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractUpdatePayload", + "description": "Return type for `subscriptionContractUpdate` mutation.", + "fields": [ + { + "name": "draft", + "description": "The Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionContractUserError", + "description": "Represents a Subscription Contract error.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionContractErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionCyclePriceAdjustment", + "description": "Represents a Subscription Line Pricing Cycle Adjustment.", + "fields": [ + { + "name": "adjustmentType", + "description": "Price adjustment type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentValue", + "description": "Price adjustment value.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SellingPlanPricingPolicyAdjustmentValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "afterCycle", + "description": "The number of cycles required before this pricing policy applies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "computedPrice", + "description": "The computed price after the adjustments applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SubscriptionDeliveryMethod", + "description": "Describes the delivery method to use to get the physical goods to the customer.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodLocalDelivery", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodPickup", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodShipping", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodInput", + "description": "Specifies delivery method fields for a subscription draft.\nThis is an input union: one, and only one, field can be provided.\nThe field provided will determine which delivery method is to be used.", + "fields": null, + "inputFields": [ + { + "name": "localDelivery", + "description": "The input fields for the local delivery method.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodLocalDeliveryInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pickup", + "description": "The input fields for the pickup delivery method.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodPickupInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shipping", + "description": "The input fields for the shipping delivery method.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodShippingInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodLocalDelivery", + "description": "A subscription delivery method for local delivery.\nThe other subscription delivery methods can be found in the `SubscriptionDeliveryMethod` union type.", + "fields": [ + { + "name": "address", + "description": "The address to deliver to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionMailingAddress", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localDeliveryOption", + "description": "The details of the local delivery method to use.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodLocalDeliveryOption", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodLocalDeliveryInput", + "description": "The input fields for a local delivery method.\n\nThis input accepts partial input. When a field is not provided,\nits prior value is left unchanged.", + "fields": null, + "inputFields": [ + { + "name": "address", + "description": "The address to deliver to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "localDeliveryOption", + "description": "The details of the local delivery method to use.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodLocalDeliveryOptionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodLocalDeliveryOption", + "description": "The selected delivery option on a subscription contract.", + "fields": [ + { + "name": "code", + "description": "A custom reference to the delivery method for use with automations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The details displayed to the customer to describe the local delivery option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "The delivery instructions that the customer can provide to the merchant.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number that the customer provided to the merchant.\nFormatted using E.164 standard. For example, `+16135551111`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the local delivery option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the local delivery option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodLocalDeliveryOptionInput", + "description": "The input fields for local delivery option.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "A custom reference to the delivery method for use with automations.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The details displayed to the customer to describe the local delivery option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "instructions", + "description": "The delivery instructions that the customer can provide to the merchant.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "The phone number that the customer must provide to the merchant.\nFormatted using E.164 standard. For example, `+16135551111`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the local delivery option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the local delivery option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodPickup", + "description": "A delivery method with a pickup option.", + "fields": [ + { + "name": "pickupOption", + "description": "The details of the pickup delivery method to use.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodPickupOption", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodPickupInput", + "description": "The input fields for a pickup delivery method.\n\nThis input accepts partial input. When a field is not provided,\nits prior value is left unchanged.", + "fields": null, + "inputFields": [ + { + "name": "pickupOption", + "description": "The details of the pickup method to use.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodPickupOptionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodPickupOption", + "description": "Represents the selected pickup option on a subscription contract.", + "fields": [ + { + "name": "code", + "description": "A custom reference to the delivery method for use with automations.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The details displayed to the customer to describe the pickup option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The location where the customer will pickup the merchandise.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the pickup option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the pickup option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodPickupOptionInput", + "description": "The input fields for pickup option.", + "fields": null, + "inputFields": [ + { + "name": "code", + "description": "A custom reference to the delivery method for use with automations.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The details displayed to the customer to describe the pickup option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locationId", + "description": "The ID of the pickup location.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the pickup option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the pickup option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodShipping", + "description": "Represents a shipping delivery method: a mailing address and a shipping option.", + "fields": [ + { + "name": "address", + "description": "The address to ship to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionMailingAddress", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingOption", + "description": "The details of the shipping method to use.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodShippingOption", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodShippingInput", + "description": "Specifies shipping delivery method fields.\n\nThis input accepts partial input. When a field is not provided,\nits prior value is left unchanged.", + "fields": null, + "inputFields": [ + { + "name": "address", + "description": "The address to ship to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingOption", + "description": "The details of the shipping method to use.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodShippingOptionInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryMethodShippingOption", + "description": "Represents the selected shipping option on a subscription contract.", + "fields": [ + { + "name": "carrierService", + "description": "The carrier service that's providing this shipping option.\nThis field isn't currently supported and returns null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This field has never been implemented." + }, + { + "name": "code", + "description": "The code of the shipping option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the shipping option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the shipping option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodShippingOptionInput", + "description": "The input fields for shipping option.", + "fields": null, + "inputFields": [ + { + "name": "carrierServiceId", + "description": "The carrier service ID of the shipping option.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "code", + "description": "The code of the shipping option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the shipping option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the shipping option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SubscriptionDeliveryOption", + "description": "The delivery option for a subscription contract.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SubscriptionLocalDeliveryOption", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionPickupOption", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionShippingOption", + "ofType": null + } + ] + }, + { + "kind": "UNION", + "name": "SubscriptionDeliveryOptionResult", + "description": "The result of the query to fetch delivery options for the subscription contract.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryOptionResultFailure", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryOptionResultSuccess", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryOptionResultFailure", + "description": "A failure to find the available delivery options for a subscription contract.", + "fields": [ + { + "name": "message", + "description": "The reason for the failure.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryOptionResultSuccess", + "description": "The delivery option for a subscription contract.", + "fields": [ + { + "name": "deliveryOptions", + "description": "The available delivery options.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SubscriptionDeliveryOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDeliveryPolicy", + "description": "Represents a Subscription Delivery Policy.", + "fields": [ + { + "name": "anchors", + "description": "The specific anchor dates upon which the delivery interval calculations should be made.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SellingPlanAnchor", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of delivery intervals between deliveries.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryPolicyInput", + "description": "The input fields for a Subscription Delivery Policy.", + "fields": null, + "inputFields": [ + { + "name": "anchors", + "description": "The specific anchor dates upon which the delivery interval calculations should be made.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanAnchorInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interval", + "description": "The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc).", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanInterval", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "intervalCount", + "description": "The number of billing intervals between invoices.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SubscriptionDiscount", + "description": "Subscription draft discount types.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SubscriptionAppliedCodeDiscount", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SubscriptionDiscountAllocation", + "description": "Represents what a particular discount reduces from a line price.", + "fields": [ + { + "name": "amount", + "description": "Allocation amount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discount", + "description": "Discount that created the allocation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SubscriptionDiscount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDiscountConnection", + "description": "An auto-generated type for paginating through multiple SubscriptionDiscounts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDiscountEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SubscriptionDiscountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SubscriptionDiscount", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDiscountEdge", + "description": "An auto-generated type which holds one SubscriptionDiscount and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SubscriptionDiscountEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SubscriptionDiscount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDiscountEntitledLines", + "description": "Represents the subscription lines the discount applies on.", + "fields": [ + { + "name": "all", + "description": "Specify whether the subscription discount will apply on all subscription lines.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lines", + "description": "The list of subscription lines associated with the subscription discount.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDiscountFixedAmountValue", + "description": "The value of the discount and how it will be applied.", + "fields": [ + { + "name": "amount", + "description": "The fixed amount value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnEachItem", + "description": "Whether the amount is applied per item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDiscountPercentageValue", + "description": "The percentage value of the discount.", + "fields": [ + { + "name": "percentage", + "description": "The percentage value of the discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionDiscountRejectionReason", + "description": "The reason a discount on a subscription draft was rejected.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CURRENTLY_INACTIVE", + "description": "Discount is inactive.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_NOT_ELIGIBLE", + "description": "Given customer does not qualify for the discount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_USAGE_LIMIT_REACHED", + "description": "Customer usage limit has been reached.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCOMPATIBLE_PURCHASE_TYPE", + "description": "Purchase type does not qualify for the discount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "Internal error during discount code validation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Discount code is not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_ENTITLED_LINE_ITEMS", + "description": "Discount does not apply to any of the given line items.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_ENTITLED_SHIPPING_LINES", + "description": "No applicable shipping lines.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PURCHASE_NOT_IN_RANGE", + "description": "Purchase amount of items does not qualify for the discount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "QUANTITY_NOT_IN_RANGE", + "description": "Quantity of items does not qualify for the discount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USAGE_LIMIT_REACHED", + "description": "Discount usage limit has been reached.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SubscriptionDiscountValue", + "description": "The value of the discount and how it will be applied.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SubscriptionDiscountFixedAmountValue", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDiscountPercentageValue", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "description": "Represents a Subscription Draft.", + "fields": [ + { + "name": "billingCycle", + "description": "The billing cycle that the subscription contract will be associated with.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycle", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "billingPolicy", + "description": "The billing policy for the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "concatenatedBillingCycles", + "description": "The billing cycles of the contracts that will be concatenated to the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "SubscriptionBillingCyclesSortKeys", + "ofType": null + }, + "defaultValue": "CYCLE_INDEX", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionBillingCycleConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "currencyCode", + "description": "The currency used for the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "CurrencyCode", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of the custom attributes to be added to the generated orders.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customer", + "description": "The customer to whom the subscription contract belongs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Customer", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customerPaymentMethod", + "description": "The customer payment method used for the subscription contract.", + "args": [ + { + "name": "showRevoked", + "description": "Whether to show the customer's revoked payment method.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CustomerPaymentMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryMethod", + "description": "The delivery method for each billing of the subscription contract.", + "args": [], + "type": { + "kind": "UNION", + "name": "SubscriptionDeliveryMethod", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryOptions", + "description": "The available delivery options for a given delivery address. Returns `null` for pending requests.", + "args": [ + { + "name": "deliveryAddress", + "description": "The address to deliver the subscription contract to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "SubscriptionDeliveryOptionResult", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPolicy", + "description": "The delivery policy for the subscription contract.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDeliveryPolicy", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPrice", + "description": "The delivery price for each billing the subscription contract.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discounts", + "description": "The list of subscription discounts which will be associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDiscountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountsAdded", + "description": "The list of subscription discounts to be added to the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDiscountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountsRemoved", + "description": "The list of subscription discounts to be removed from the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDiscountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountsUpdated", + "description": "The list of subscription discounts to be updated on the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDiscountConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lines", + "description": "The list of subscription lines which will be associated with the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linesAdded", + "description": "The list of subscription lines to be added to the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linesRemoved", + "description": "The list of subscription lines to be removed from the subscription contract.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextBillingDate", + "description": "The next billing date for the subscription contract.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note field that will be applied to the generated orders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalContract", + "description": "The original subscription contract.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shippingOptions", + "description": "Available Shipping Options for a given delivery address. Returns NULL for pending requests.", + "args": [ + { + "name": "deliveryAddress", + "description": "The address to delivery the subscription contract to.", + "type": { + "kind": "INPUT_OBJECT", + "name": "MailingAddressInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "UNION", + "name": "SubscriptionShippingOptionResult", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `deliveryOptions` instead." + }, + { + "name": "status", + "description": "The current status of the subscription contract.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionContractSubscriptionStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftCommitPayload", + "description": "Return type for `subscriptionDraftCommit` mutation.", + "fields": [ + { + "name": "contract", + "description": "The updated Subscription Contract object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionContract", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountAddPayload", + "description": "Return type for `subscriptionDraftDiscountAdd` mutation.", + "fields": [ + { + "name": "discountAdded", + "description": "The added Subscription Discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "The Subscription Contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountCodeApplyPayload", + "description": "Return type for `subscriptionDraftDiscountCodeApply` mutation.", + "fields": [ + { + "name": "appliedDiscount", + "description": "The added subscription discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionAppliedCodeDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "The subscription contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountRemovePayload", + "description": "Return type for `subscriptionDraftDiscountRemove` mutation.", + "fields": [ + { + "name": "discountRemoved", + "description": "The removed subscription draft discount.", + "args": [], + "type": { + "kind": "UNION", + "name": "SubscriptionDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "The subscription contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftDiscountUpdatePayload", + "description": "Return type for `subscriptionDraftDiscountUpdate` mutation.", + "fields": [ + { + "name": "discountUpdated", + "description": "The updated Subscription Discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "The Subscription Contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SubscriptionDraftErrorCode", + "description": "Possible error codes that can be returned by `SubscriptionDraftUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALREADY_REMOVED", + "description": "This line has already been removed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_CYCLE_ABSENT", + "description": "Cannot commit a contract draft with this mutation. Please use SubscriptionDraftCommit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_CYCLE_CONTRACT_DRAFT_BILLING_POLICY_INVALID", + "description": "Billing policy cannot be updated for billing cycle contract drafts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_CYCLE_CONTRACT_DRAFT_DELIVERY_POLICY_INVALID", + "description": "Delivery policy cannot be updated for billing cycle contract drafts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BILLING_CYCLE_PRESENT", + "description": "Cannot commit a billing cycle contract draft with this mutation. Please use SubscriptionBillingCycleContractDraftCommit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMITTED", + "description": "Subscription draft has been already committed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CONCATENATION_BILLING_CYCLE_CONTRACT_DRAFT_REQUIRED", + "description": "Contract draft must be a billing cycle contract draft for contract concatenation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CURRENCY_NOT_ENABLED", + "description": "Currency is not enabled.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_DOES_NOT_EXIST", + "description": "The customer doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_MISMATCH", + "description": "The payment method customer must be the same as the contract customer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_REDACTED", + "description": "Customer is scheduled for redaction or has been redacted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_DISCOUNTS_UNIQUE_AFTER_CYCLE", + "description": "The after cycle attribute must be unique between cycle discounts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_INDEX_OUT_OF_RANGE", + "description": "Billing cycle selector cannot select billing cycle outside of index range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_SELECTOR_VALIDATE_ONE_OF", + "description": "Billing cycle selector requires exactly one of index or date to be provided.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CYCLE_START_DATE_OUT_OF_RANGE", + "description": "Billing cycle selector cannot select billing cycle outside of start date range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_METHOD_REQUIRED", + "description": "The delivery method can't be blank if any lines require shipping.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_MUST_BE_MULTIPLE_OF_BILLING", + "description": "The delivery policy interval must be a multiple of the billing policy interval.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DUPLICATE_CONCATENATED_CONTRACTS", + "description": "Concatenated contracts cannot contain duplicate subscription contracts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXCEEDED_MAX_CONCATENATED_CONTRACTS", + "description": "Maximum number of concatenated contracts on a billing cycle contract draft exceeded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN", + "description": "The input value should be greater than the minimum allowed value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GREATER_THAN_OR_EQUAL_TO", + "description": "The input value should be greater than or equal to the minimum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HAS_FUTURE_EDITS", + "description": "Cannot update a subscription contract with a current or upcoming billing cycle contract edit.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ADJUSTMENT_TYPE", + "description": "The adjustment value must the same type as the adjustment type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_ADJUSTMENT_VALUE", + "description": "The adjustment value must be either fixed_value or percentage.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_BILLING_DATE", + "description": "Next billing date is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LINES", + "description": "Must have at least one line.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_NOTE_LENGTH", + "description": "Note length is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN", + "description": "The input value should be less than the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LESS_THAN_OR_EQUAL_TO", + "description": "The input value should be less than or equal to the maximum value allowed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_CUSTOMER_PAYMENT_METHOD", + "description": "Customer payment method is required.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MISSING_LOCAL_DELIVERY_OPTIONS", + "description": "The local delivery options must be set for local delivery.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_AN_INTEGER", + "description": "The value is not an integer.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_IN_RANGE", + "description": "Value is not in range.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NO_ENTITLED_LINES", + "description": "Discount must have at least one entitled line.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENCE", + "description": "Input value is not present.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_MAX_CYCLES_MUST_BE_GREATER_THAN_MIN_CYCLES", + "description": "The maximum number of cycles must be greater than the minimum.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STALE_CONTRACT", + "description": "Another operation updated the contract concurrently as the commit was in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPCOMING_CYCLE_LIMIT_EXCEEDED", + "description": "Billing cycle selector cannot select upcoming billing cycle past limit.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftFreeShippingDiscountAddPayload", + "description": "Return type for `subscriptionDraftFreeShippingDiscountAdd` mutation.", + "fields": [ + { + "name": "discountAdded", + "description": "The added subscription free shipping discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "The subscription contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftFreeShippingDiscountUpdatePayload", + "description": "Return type for `subscriptionDraftFreeShippingDiscountUpdate` mutation.", + "fields": [ + { + "name": "discountUpdated", + "description": "The updated Subscription Discount.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "The Subscription Contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDraftInput", + "description": "The input fields required to create a Subscription Draft.", + "fields": null, + "inputFields": [ + { + "name": "billingPolicy", + "description": "The billing policy for the subscription contract.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionBillingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "A list of the custom attributes added to the subscription contract.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AttributeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryMethod", + "description": "The delivery method for the subscription contract.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryMethodInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPolicy", + "description": "The delivery policy for the subscription contract.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionDeliveryPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deliveryPrice", + "description": "The shipping price for each renewal the subscription contract.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nextBillingDate", + "description": "The next billing date for the subscription contract.", + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "note", + "description": "The note field that will be applied to the generated orders.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethodId", + "description": "The ID of the payment method to be used for the subscription contract.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current status of the subscription contract.", + "type": { + "kind": "ENUM", + "name": "SubscriptionContractSubscriptionStatus", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftLineAddPayload", + "description": "Return type for `subscriptionDraftLineAdd` mutation.", + "fields": [ + { + "name": "draft", + "description": "The Subscription Contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineAdded", + "description": "The added Subscription Line.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftLineRemovePayload", + "description": "Return type for `subscriptionDraftLineRemove` mutation.", + "fields": [ + { + "name": "discountsUpdated", + "description": "The list of updated subscription discounts impacted by the removed line.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "draft", + "description": "The Subscription Contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineRemoved", + "description": "The removed Subscription Line.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftLineUpdatePayload", + "description": "Return type for `subscriptionDraftLineUpdate` mutation.", + "fields": [ + { + "name": "draft", + "description": "The Subscription Contract draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineUpdated", + "description": "The updated Subscription Line.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionLine", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftUpdatePayload", + "description": "Return type for `subscriptionDraftUpdate` mutation.", + "fields": [ + { + "name": "draft", + "description": "The Subscription Draft object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionDraft", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionDraftUserError", + "description": "Represents a Subscription Draft error.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionDraftErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionFreeShippingDiscountInput", + "description": "The input fields for a subscription free shipping discount on a contract.", + "fields": null, + "inputFields": [ + { + "name": "recurringCycleLimit", + "description": "The maximum number of times the subscription free shipping discount will be applied on orders.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title associated with the subscription free shipping discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionLine", + "description": "Represents a Subscription Line.", + "fields": [ + { + "name": "currentPrice", + "description": "The price per unit for the subscription line in the contract's currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "List of custom attributes associated to the line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountAllocations", + "description": "Discount allocations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDiscountAllocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineDiscountedPrice", + "description": "Total line price including all discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricingPolicy", + "description": "Describe the price changes of the line over time.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "SubscriptionPricingPolicy", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productId", + "description": "The product ID associated with the subscription line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the unit selected for the subscription line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requiresShipping", + "description": "Whether physical shipping is required for the variant.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanId", + "description": "The selling plan ID associated to the line.\n\nIndicates which selling plan was used to create this\ncontract line initially. The selling plan ID is also used to\nfind the associated delivery profile.\n\nThe subscription contract, subscription line, or selling plan might have\nchanged. As a result, the selling plan's attributes might not\nmatch the information on the contract.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanName", + "description": "The selling plan name associated to the line. This name describes\nthe order line items created from this subscription line\nfor both merchants and customers.\n\nThe value can be different from the selling plan's name, because both\nthe selling plan's name and the subscription line's selling_plan_name\nattribute can be updated independently.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sku", + "description": "Variant SKU number of the item associated with the subscription line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxable", + "description": "Whether the variant is taxable.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "Product title of the item associated with the subscription line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantId", + "description": "The product variant ID associated with the subscription line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantImage", + "description": "The image associated with the line item's variant or product.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Image", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "variantTitle", + "description": "Product variant title of the item associated with the subscription line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionLineConnection", + "description": "An auto-generated type for paginating through multiple SubscriptionLines.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLineEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SubscriptionLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLine", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionLineEdge", + "description": "An auto-generated type which holds one SubscriptionLine and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SubscriptionLineEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionLine", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionLineInput", + "description": "The input fields required to add a new subscription line to a contract.", + "fields": null, + "inputFields": [ + { + "name": "currentPrice", + "description": "The price of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "The custom attributes for this subscription line.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AttributeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricingPolicy", + "description": "Describes expected price changes of the subscription line over time.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionPricingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantId", + "description": "The ID of the product variant the subscription line refers to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the product.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanId", + "description": "The selling plan for the subscription line.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanName", + "description": "The selling plan name for the subscription line.\n\nDefaults to using the selling plan's current name when not specified.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionLineUpdateInput", + "description": "The input fields required to update a subscription line on a contract.", + "fields": null, + "inputFields": [ + { + "name": "currentPrice", + "description": "The price of the product.", + "type": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customAttributes", + "description": "The custom attributes for this subscription line.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AttributeInput", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pricingPolicy", + "description": "Describes expected price changes of the subscription line over time.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionPricingPolicyInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "productVariantId", + "description": "The ID of the product variant the subscription line refers to.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity of the product.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanId", + "description": "The selling plan for the subscription line.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sellingPlanName", + "description": "The selling plan name for the subscription line.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionLocalDeliveryOption", + "description": "A local delivery option for a subscription contract.", + "fields": [ + { + "name": "code", + "description": "The code of the local delivery option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the local delivery option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phoneRequired", + "description": "Whether a phone number is required for the local delivery option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the local delivery option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the local delivery option.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the local delivery option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionMailingAddress", + "description": "Represents a Mailing Address on a Subscription.", + "fields": [ + { + "name": "address1", + "description": "The first line of the address. Typically the street address or PO Box number.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "address2", + "description": "The second line of the address. Typically the number of the apartment, suite, or unit.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "city", + "description": "The name of the city, district, village, or town.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "company", + "description": "The name of the customer's company or organization.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "country", + "description": "The name of the country.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "countryCode", + "description": "The two-letter code for the country of the address.\n\nFor example, US.", + "args": [], + "type": { + "kind": "ENUM", + "name": "CountryCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "firstName", + "description": "The first name of the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastName", + "description": "The last name of the customer.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The full name of the customer, based on firstName and lastName.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phone", + "description": "A unique phone number for the customer. Formatted using E.164 standard. For example, _+16135551111_.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "province", + "description": "The region of the address, such as the province, state, or district.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provinceCode", + "description": "The alphanumeric code for the region.\n\nFor example, ON.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "zip", + "description": "The zip or postal code of the address.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "description": "Custom subscription discount.", + "fields": [ + { + "name": "entitledLines", + "description": "Entitled line items used to apply the subscription discount on.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionDiscountEntitledLines", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The maximum number of times the subscription discount will be applied on orders.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rejectionReason", + "description": "The reason that the discount on the subscription draft is rejected.", + "args": [], + "type": { + "kind": "ENUM", + "name": "SubscriptionDiscountRejectionReason", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "targetType", + "description": "Type of line the discount applies on.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountTargetType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title associated with the subscription discount.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "The type of the subscription discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "DiscountType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usageCount", + "description": "The number of times the discount was applied.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the subscription discount.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "SubscriptionDiscountValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionManualDiscountConnection", + "description": "An auto-generated type for paginating through multiple SubscriptionManualDiscounts.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscountEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in SubscriptionManualDiscountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionManualDiscountEdge", + "description": "An auto-generated type which holds one SubscriptionManualDiscount and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of SubscriptionManualDiscountEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionManualDiscount", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountEntitledLinesInput", + "description": "The input fields for the subscription lines the discount applies on.", + "fields": null, + "inputFields": [ + { + "name": "all", + "description": "Specify whether the subscription discount will apply on all subscription lines.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lines", + "description": "The ID of the lines to add to or remove from the subscription discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountLinesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountFixedAmountInput", + "description": "The input fields for the fixed amount value of the discount and distribution on the lines.", + "fields": null, + "inputFields": [ + { + "name": "amount", + "description": "Fixed amount value.", + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "appliesOnEachItem", + "description": "Whether the amount is intended per line item or once per subscription.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountInput", + "description": "The input fields for a subscription discount on a contract.", + "fields": null, + "inputFields": [ + { + "name": "entitledLines", + "description": "Entitled line items used to apply the subscription discount on.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountEntitledLinesInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "recurringCycleLimit", + "description": "The maximum number of times the subscription discount will be applied on orders.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title associated with the subscription discount.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Percentage or fixed amount value of the discount.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountValueInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountLinesInput", + "description": "The input fields for line items that the discount refers to.", + "fields": null, + "inputFields": [ + { + "name": "add", + "description": "The ID of the lines to add to the subscription discount.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remove", + "description": "The ID of the lines to remove from the subscription discount.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountValueInput", + "description": "The input fields for the discount value and its distribution.", + "fields": null, + "inputFields": [ + { + "name": "fixedAmount", + "description": "Fixed amount input in the currency defined by the subscription.", + "type": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionManualDiscountFixedAmountInput", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "percentage", + "description": "The percentage value of the discount. Value must be between 0 - 100.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionPickupOption", + "description": "A pickup option to deliver a subscription contract.", + "fields": [ + { + "name": "code", + "description": "The code of the pickup option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the pickup option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "location", + "description": "The pickup location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Location", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phoneRequired", + "description": "Whether a phone number is required for the pickup option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pickupTime", + "description": "The estimated amount of time it takes for the pickup to be ready. For example, \"Usually ready in 24 hours\".).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the pickup option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the pickup option.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the pickup option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionPricingPolicy", + "description": "Represents a Subscription Line Pricing Policy.", + "fields": [ + { + "name": "basePrice", + "description": "The base price per unit for the subscription line in the contract's currency.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cycleDiscounts", + "description": "The adjustments per cycle for the subscription line.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionCyclePriceAdjustment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionPricingPolicyCycleDiscountsInput", + "description": "The input fields for an array containing all pricing changes for each billing cycle.", + "fields": null, + "inputFields": [ + { + "name": "adjustmentType", + "description": "The price adjustment type.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SellingPlanPricingPolicyAdjustmentType", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "adjustmentValue", + "description": "The price adjustment value.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SellingPlanPricingPolicyValueInput", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "afterCycle", + "description": "The cycle after which the pricing policy applies.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "computedPrice", + "description": "The computed price after the adjustments are applied.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SubscriptionPricingPolicyInput", + "description": "The input fields for expected price changes of the subscription line over time.", + "fields": null, + "inputFields": [ + { + "name": "basePrice", + "description": "The base price per unit for the subscription line in the contract's currency.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "cycleDiscounts", + "description": "An array containing all pricing changes for each billing cycle.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SubscriptionPricingPolicyCycleDiscountsInput", + "ofType": null + } + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionShippingOption", + "description": "A shipping option to deliver a subscription contract.", + "fields": [ + { + "name": "carrierService", + "description": "The carrier service that's providing this shipping option.\nThis field isn't currently supported and returns null.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DeliveryCarrierService", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "This field has never been implemented." + }, + { + "name": "code", + "description": "The code of the shipping option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": "The description of the shipping option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "phoneRequired", + "description": "If a phone number is required for the shipping option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "presentmentTitle", + "description": "The presentment title of the shipping option.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The price of the shipping option.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the shipping option.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "SubscriptionShippingOptionResult", + "description": "The result of the query to fetch shipping options for the subscription contract.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "SubscriptionShippingOptionResultFailure", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionShippingOptionResultSuccess", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "SubscriptionShippingOptionResultFailure", + "description": "Failure determining available shipping options for delivery of a subscription contract.", + "fields": [ + { + "name": "message", + "description": "Failure reason.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SubscriptionShippingOptionResultSuccess", + "description": "A shipping option for delivery of a subscription contract.", + "fields": [ + { + "name": "shippingOptions", + "description": "Available shipping options.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SubscriptionShippingOption", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuggestedOrderTransaction", + "description": "A suggested transaction. Suggested transaction are usually used in the context of refunds\nand exchanges.", + "fields": [ + { + "name": "accountNumber", + "description": "The masked account number associated with the payment method.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "amount", + "description": "The amount of the transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `amountSet` instead." + }, + { + "name": "amountSet", + "description": "The amount and currency of the suggested order transaction in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "formattedGateway", + "description": "The human-readable payment gateway name suggested to process the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "gateway", + "description": "The suggested payment gateway used to process the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "kind", + "description": "Specifies the kind of the suggested order transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SuggestedOrderTransactionKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumRefundable", + "description": "Specifies the available amount to refund on the gateway. Only available within SuggestedRefund.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Use `maximumRefundableSet` instead." + }, + { + "name": "maximumRefundableSet", + "description": "Specifies the available amount to refund on the gateway in shop and presentment currencies. Only available within SuggestedRefund.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentTransaction", + "description": "The associated parent transaction, for example the authorization of a capture.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentDetails", + "description": "The associated payment details related to the transaction.", + "args": [], + "type": { + "kind": "UNION", + "name": "PaymentDetails", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SuggestedOrderTransactionKind", + "description": "Specifies the kind of the suggested order transaction.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SUGGESTED_REFUND", + "description": "A suggested refund transaction for an order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuggestedRefund", + "description": "Represents a refund suggested by Shopify based on the items being reimbursed. You can then use the suggested refund object to generate an actual refund.", + "fields": [ + { + "name": "amount", + "description": "The total monetary value to be refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `amountSet` instead." + }, + { + "name": "amountSet", + "description": "The total monetary value to be refunded in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedSubtotalSet", + "description": "The sum of all the discounted prices of the line items being refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumRefundable", + "description": "The total monetary value available to refund.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `maximumRefundableSet` instead." + }, + { + "name": "maximumRefundableSet", + "description": "The total monetary value available to refund in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundDuties", + "description": "A list of duties to be refunded from the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundDuty", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundLineItems", + "description": "A list of line items to be refunded, along with restock instructions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundLineItem", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shipping", + "description": "The shipping costs to be refunded from the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingRefund", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotal", + "description": "The sum of all the prices of the line items being refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `subtotalSet` instead." + }, + { + "name": "subtotalSet", + "description": "The sum of all the prices of the line items being refunded in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestedTransactions", + "description": "A list of suggested order transactions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SuggestedOrderTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCartDiscountAmountSet", + "description": "The total cart discount amount that was applied to all line items in this refund.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDutiesSet", + "description": "The sum of all the duties being refunded from the order in shop and presentment currencies. The value must be positive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxSet", + "description": "The sum of the taxes being refunded from the order in shop and presentment currencies. The value must be positive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxes", + "description": "The sum of the taxes being refunded from the order. The value must be positive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `totalTaxSet` instead." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuggestedReturnRefund", + "description": "Represents a return refund suggested by Shopify based on the items being reimbursed. You can then use the suggested refund object to generate an actual refund for the return.", + "fields": [ + { + "name": "amount", + "description": "The total monetary value to be refunded in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "discountedSubtotal", + "description": "The sum of all the discounted prices of the line items being refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "maximumRefundable", + "description": "The total monetary value available to refund in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundDuties", + "description": "A list of duties to be refunded from the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "RefundDuty", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "shipping", + "description": "The shipping costs to be refunded from the order.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShippingRefund", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subtotal", + "description": "The sum of all the prices of the line items being refunded in shop and presentment currencies.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suggestedTransactions", + "description": "A list of suggested order transactions.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SuggestedOrderTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCartDiscountAmount", + "description": "The total cart discount amount that was applied to all line items in this refund.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDuties", + "description": "The sum of all the duties being refunded from the order in shop and presentment currencies. The value must be positive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTax", + "description": "The sum of the taxes being refunded in shop and presentment currencies. The value must be positive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TagsAddPayload", + "description": "Return type for `tagsAdd` mutation.", + "fields": [ + { + "name": "node", + "description": "The object that was updated.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TagsRemovePayload", + "description": "Return type for `tagsRemove` mutation.", + "fields": [ + { + "name": "node", + "description": "The object that was updated.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxAppConfiguration", + "description": "Tax app configuration of a merchant.", + "fields": [ + { + "name": "state", + "description": "State of the tax app configuration.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TaxPartnerState", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxAppConfigurePayload", + "description": "Return type for `taxAppConfigure` mutation.", + "fields": [ + { + "name": "taxAppConfiguration", + "description": "The updated tax app configuration.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "TaxAppConfiguration", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxAppConfigureUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxAppConfigureUserError", + "description": "An error that occurs during the execution of `TaxAppConfigure`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "TaxAppConfigureUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TaxAppConfigureUserErrorCode", + "description": "Possible error codes that can be returned by `TaxAppConfigureUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "TAX_PARTNER_ALREADY_ACTIVE", + "description": "Unable to update already active tax partner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_PARTNER_NOT_FOUND", + "description": "Unable to find the tax partner record.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_PARTNER_STATE_UPDATE_FAILED", + "description": "Unable to update tax partner state.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TaxExemption", + "description": "Available customer tax exemptions.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CA_BC_COMMERCIAL_FISHERY_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in British Columbia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_BC_CONTRACTOR_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid CONTRACTOR_EXEMPTION in British Columbia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_BC_PRODUCTION_AND_MACHINERY_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid PRODUCTION_AND_MACHINERY_EXEMPTION in British Columbia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_BC_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in British Columbia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_BC_SUB_CONTRACTOR_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid SUB_CONTRACTOR_EXEMPTION in British Columbia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_DIPLOMAT_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid DIPLOMAT_EXEMPTION in Canada.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_MB_COMMERCIAL_FISHERY_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Manitoba.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_MB_FARMER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Manitoba.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_MB_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Manitoba.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_NS_COMMERCIAL_FISHERY_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Nova Scotia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_NS_FARMER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Nova Scotia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_ON_PURCHASE_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid PURCHASE_EXEMPTION in Ontario.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_PE_COMMERCIAL_FISHERY_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Prince Edward Island.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_SK_COMMERCIAL_FISHERY_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Saskatchewan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_SK_CONTRACTOR_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid CONTRACTOR_EXEMPTION in Saskatchewan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_SK_FARMER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Saskatchewan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_SK_PRODUCTION_AND_MACHINERY_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid PRODUCTION_AND_MACHINERY_EXEMPTION in Saskatchewan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_SK_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Saskatchewan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_SK_SUB_CONTRACTOR_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid SUB_CONTRACTOR_EXEMPTION in Saskatchewan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CA_STATUS_CARD_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid STATUS_CARD_EXEMPTION in Canada.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EU_REVERSE_CHARGE_EXEMPTION_RULE", + "description": "This customer is exempt from VAT for purchases within the EU that is shipping from outside of customer's country.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_AK_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Alaska.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_AL_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Alabama.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_AR_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Arkansas.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_AZ_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Arizona.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_CA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in California.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_CO_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Colorado.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_CT_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Connecticut.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_DC_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Washington DC.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_DE_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Delaware.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_FL_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Florida.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_GA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Georgia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_HI_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Hawaii.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_IA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Iowa.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_ID_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Idaho.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_IL_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Illinois.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_IN_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Indiana.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_KS_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Kansas.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_KY_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Kentucky.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_LA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Louisiana.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_MA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Massachusetts.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_MD_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Maryland.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_ME_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Maine.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_MI_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Michigan.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_MN_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Minnesota.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_MO_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Missouri.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_MS_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Mississippi.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_MT_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Montana.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_NC_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in North Carolina.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_ND_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in North Dakota.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_NE_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Nebraska.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_NH_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New Hampshire.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_NJ_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New Jersey.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_NM_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New Mexico.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_NV_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Nevada.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_NY_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New York.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_OH_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Ohio.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_OK_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Oklahoma.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_OR_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Oregon.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_PA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Pennsylvania.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_RI_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Rhode Island.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_SC_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in South Carolina.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_SD_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in South Dakota.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_TN_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Tennessee.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_TX_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Texas.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_UT_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Utah.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_VA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Virginia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_VT_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Vermont.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_WA_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Washington.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_WI_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Wisconsin.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_WV_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in West Virginia.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "US_WY_RESELLER_EXEMPTION", + "description": "This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Wyoming.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxLine", + "description": "Represents a single tax applied to the associated line item.", + "fields": [ + { + "name": "channelLiable", + "description": "Whether the channel that submitted the tax line is liable for remitting. A value of null indicates unknown liability for this tax line.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "price", + "description": "The amount of tax, in shop currency, after discounts and before returns.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Money", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `priceSet` instead." + }, + { + "name": "priceSet", + "description": "The amount of tax, in shop and presentment currencies, after discounts and before returns.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rate", + "description": "The proportion of the line item price that the tax represents as a decimal.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ratePercentage", + "description": "The proportion of the line item price that the tax represents as a percentage.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "The source of the tax.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The name of the tax.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TaxPartnerState", + "description": "State of the tax app configuration.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ACTIVE", + "description": "App is configured and to be used for tax calculations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PENDING", + "description": "App is not configured.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "READY", + "description": "App is configured, but not used for tax calculations.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Taxonomy", + "description": "The Taxonomy resource lets you access the categories, attributes and values of a taxonomy tree.", + "fields": [ + { + "name": "categories", + "description": "Returns the categories of the product taxonomy based on the arguments provided.\nIf a `search` argument is provided, then all categories that match the search query globally are returned.\nIf a `children_of` argument is provided, then all children of the specified category are returned.\nIf a `siblings_of` argument is provided, then all siblings of the specified category are returned.\nIf a `decendents_of` argument is provided, then all descendents of the specified category are returned.\nIf no arguments are provided, then all the top-level categories of the taxonomy are returned.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "childrenOf", + "description": "The ID of the category associated with the child categories to return.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "descendantsOf", + "description": "The ID of the category associated with the descendant categories to return.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "search", + "description": "Searches the product taxonomy for matching categories.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "siblingsOf", + "description": "The ID of the category associated with the sibling categories to return.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategoryConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyAttribute", + "description": "A Shopify product taxonomy attribute.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyCategory", + "description": "The details of a specific product category within the [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17).", + "fields": [ + { + "name": "ancestorIds", + "description": "The IDs of the category's ancestor categories.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "attributes", + "description": "The attributes of the taxonomy category.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategoryAttributeConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "childrenIds", + "description": "The IDs of the category's child categories.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fullName", + "description": "The full name of the taxonomy category. For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The globally-unique ID of the TaxonomyCategory.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isArchived", + "description": "Whether the category is archived. The default value is `false`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isLeaf", + "description": "Whether the category is a leaf category. A leaf category doesn't have any subcategories beneath it. For example, in Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Treadmills, Dog Treadmills is a leaf category. The value is `true` when there are no `childrenIds` specified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRoot", + "description": "Whether the category is a root category. A root category is at the top level of the category hierarchy and doesn't have a parent category. For example, Animals & Pet Supplies. The value is `true` when there's no `parentId` specified.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "level", + "description": "The level of the category in the taxonomy tree. Levels indicate the depth of the category from the root. For example, in Animals & Pet Supplies > Pet Supplies > Dog Supplies, Animals & Pet Supplies is at level 1, Animals & Pet Supplies > Pet Supplies is at level 2, and Animals & Pet Supplies > Pet Supplies > Dog Supplies is at level 3.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the taxonomy category. For example, Dog Beds.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "parentId", + "description": "The ID of the category's parent category.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "TaxonomyCategoryAttribute", + "description": "A product taxonomy attribute interface.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "TaxonomyAttribute", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyChoiceListAttribute", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyMeasurementAttribute", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "TaxonomyCategoryAttributeConnection", + "description": "An auto-generated type for paginating through multiple TaxonomyCategoryAttributes.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategoryAttributeEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in TaxonomyCategoryAttributeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "TaxonomyCategoryAttribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyCategoryAttributeEdge", + "description": "An auto-generated type which holds one TaxonomyCategoryAttribute and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of TaxonomyCategoryAttributeEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "TaxonomyCategoryAttribute", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyCategoryConnection", + "description": "An auto-generated type for paginating through multiple TaxonomyCategories.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategoryEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in TaxonomyCategoryEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategory", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyCategoryEdge", + "description": "An auto-generated type which holds one TaxonomyCategory and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of TaxonomyCategoryEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyCategory", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyChoiceListAttribute", + "description": "A Shopify product taxonomy choice list attribute.", + "fields": [ + { + "name": "id", + "description": "The unique ID of the TaxonomyAttribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product taxonomy attribute. For example, Color.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "values", + "description": "A list of values on the choice list attribute.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyValueConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyMeasurementAttribute", + "description": "A Shopify product taxonomy measurement attribute.", + "fields": [ + { + "name": "id", + "description": "The unique ID of the TaxonomyAttribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product taxonomy attribute. For example, Color.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "options", + "description": "The product taxonomy attribute options.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Attribute", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyValue", + "description": "Represents a Shopify product taxonomy value.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the product taxonomy value. For example, Red.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyValueConnection", + "description": "An auto-generated type for paginating through multiple TaxonomyValues.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyValueEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in TaxonomyValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TaxonomyValueEdge", + "description": "An auto-generated type which holds one TaxonomyValue and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of TaxonomyValueEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TaxonomyValue", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TenderTransaction", + "description": "A TenderTransaction represents a transaction with financial impact on a shop's balance sheet. A tender transaction always\nrepresents actual money movement between a buyer and a shop. TenderTransactions can be used instead of OrderTransactions\nfor reconciling a shop's cash flow. A TenderTransaction is immutable once created.", + "fields": [ + { + "name": "amount", + "description": "The amount and currency of the tender transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "order", + "description": "The order that's related to the tender transaction. This value is null if the order has been deleted.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Order", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paymentMethod", + "description": "Information about the payment method used for the transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "processedAt", + "description": "Date and time when the transaction was processed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "remoteReference", + "description": "The remote gateway reference associated with the tender transaction.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "test", + "description": "Whether the transaction is a test transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "transactionDetails", + "description": "Information about the payment instrument used for the transaction.", + "args": [], + "type": { + "kind": "UNION", + "name": "TenderTransactionDetails", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The staff member who performed the transaction.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "StaffMember", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TenderTransactionConnection", + "description": "An auto-generated type for paginating through multiple TenderTransactions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TenderTransactionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in TenderTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TenderTransaction", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TenderTransactionCreditCardDetails", + "description": "Information about the credit card used for this transaction.", + "fields": [ + { + "name": "creditCardCompany", + "description": "The name of the company that issued the customer's credit card. Example: `Visa`.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "creditCardNumber", + "description": "The customer's credit card number, with all digits except the last 4 redacted. Example: `•••• •••• •••• 1234`", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "TenderTransactionDetails", + "description": "Information about the payment instrument used for this transaction.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "TenderTransactionCreditCardDetails", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "TenderTransactionEdge", + "description": "An auto-generated type which holds one TenderTransaction and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of TenderTransactionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TenderTransaction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeCreatePayload", + "description": "Return type for `themeCreate` mutation.", + "fields": [ + { + "name": "theme", + "description": "The theme that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ThemeCreateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeCreateUserError", + "description": "An error that occurs during the execution of `ThemeCreate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ThemeCreateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ThemeCreateUserErrorCode", + "description": "Possible error codes that can be returned by `ThemeCreateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_ZIP", + "description": "Must be a zip file.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZIP_IS_EMPTY", + "description": "Zip is empty.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ZIP_TOO_LARGE", + "description": "May not be used to fetch a file bigger\n than 50MB.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeDeletePayload", + "description": "Return type for `themeDelete` mutation.", + "fields": [ + { + "name": "deletedThemeId", + "description": "The ID of the deleted theme.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ThemeDeleteUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeDeleteUserError", + "description": "An error that occurs during the execution of `ThemeDelete`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ThemeDeleteUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ThemeDeleteUserErrorCode", + "description": "Possible error codes that can be returned by `ThemeDeleteUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ThemeFilesCopyFileInput", + "description": "The input fields for the file copy.", + "fields": null, + "inputFields": [ + { + "name": "dstFilename", + "description": "The new file where the content is copied to.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "srcFilename", + "description": "The source file to copy from.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeFilesCopyPayload", + "description": "Return type for `themeFilesCopy` mutation.", + "fields": [ + { + "name": "copiedThemeFiles", + "description": "The resulting theme files.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileOperationResult", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFilesUserErrors", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeFilesDeletePayload", + "description": "Return type for `themeFilesDelete` mutation.", + "fields": [ + { + "name": "deletedThemeFiles", + "description": "The resulting theme files.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileOperationResult", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFilesUserErrors", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeFilesUpsertPayload", + "description": "Return type for `themeFilesUpsert` mutation.", + "fields": [ + { + "name": "job", + "description": "The theme files write job triggered by the mutation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "upsertedThemeFiles", + "description": "The resulting theme files.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFileOperationResult", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "OnlineStoreThemeFilesUserErrors", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemePublishPayload", + "description": "Return type for `themePublish` mutation.", + "fields": [ + { + "name": "theme", + "description": "The theme that was published.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ThemePublishUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemePublishUserError", + "description": "An error that occurs during the execution of `ThemePublish`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ThemePublishUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ThemePublishUserErrorCode", + "description": "Possible error codes that can be returned by `ThemePublishUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CANNOT_PUBLISH_THEME_DURING_INSTALL", + "description": "Theme publishing is not available during install.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEME_PUBLISH_NOT_AVAILABLE_FOR_THEME_LIMITED_PLAN", + "description": "Theme publishing is not allowed on this plan.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ThemeRole", + "description": "The role of the theme.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARCHIVED", + "description": "The theme is archived if a merchant changes their plan and exceeds the maximum number of themes allowed. Archived themes can be downloaded by merchant, but can not be customized or published until the plan is upgraded.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEMO", + "description": "The theme is installed as a trial from the Shopify Theme Store. It can be customized using the theme editor, but access to the code editor and the ability to publish the theme are restricted until it is purchased.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DEVELOPMENT", + "description": "The theme is automatically created by the CLI for previewing purposes when in a development session.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCKED", + "description": "The theme is locked if it is identified as unlicensed. Customization and publishing are restricted until the merchant resolves the licensing issue.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAIN", + "description": "TThe currently published theme. There can only be one main theme at any time.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MOBILE", + "description": "The currently published theme that is only accessible to a mobile client.", + "isDeprecated": true, + "deprecationReason": "The feature for this role has been deprecated." + }, + { + "name": "UNPUBLISHED", + "description": "The theme is currently not published. It can be transitioned to the main role if it is published by the merchant.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeUpdatePayload", + "description": "Return type for `themeUpdate` mutation.", + "fields": [ + { + "name": "theme", + "description": "The theme that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OnlineStoreTheme", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ThemeUpdateUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ThemeUpdateUserError", + "description": "An error that occurs during the execution of `ThemeUpdate`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ThemeUpdateUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ThemeUpdateUserErrorCode", + "description": "Possible error codes that can be returned by `ThemeUpdateUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "The record with the ID used as the input value couldn't be found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TipSale", + "description": "A sale associated with a tip.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineItem", + "description": "The line item for the associated sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "LineItem", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TransactionFee", + "description": "Transaction fee related to an order transaction.", + "fields": [ + { + "name": "amount", + "description": "Amount of the fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "flatFee", + "description": "Flat rate charge for a transaction.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "flatFeeName", + "description": "Name of the credit card flat fee.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rate", + "description": "Percentage charge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Decimal", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rateName", + "description": "Name of the credit card rate.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxAmount", + "description": "Tax amount charged on the fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Name of the type of fee.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TransactionSortKeys", + "description": "The set of valid sort keys for the Transaction query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EXPIRES_AT", + "description": "Sort by the `expires_at` value.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TransactionVoidPayload", + "description": "Return type for `transactionVoid` mutation.", + "fields": [ + { + "name": "transaction", + "description": "The created void transaction.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "OrderTransaction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TransactionVoidUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TransactionVoidUserError", + "description": "An error that occurs during the execution of `TransactionVoid`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "TransactionVoidUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TransactionVoidUserErrorCode", + "description": "Possible error codes that can be returned by `TransactionVoidUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AUTH_NOT_SUCCESSFUL", + "description": "Transaction must be a successful authorization.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUTH_NOT_VOIDABLE", + "description": "Transaction must be voidable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "GENERIC_ERROR", + "description": "A generic error occurred while attempting to void the transaction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TRANSACTION_NOT_FOUND", + "description": "Transaction does not exist.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TranslatableContent", + "description": "Translatable content of a resource's field.", + "fields": [ + { + "name": "digest", + "description": "Hash digest representation of the content value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "key", + "description": "The resource field that's being translated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "Locale of the content.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": "Type of the translatable content.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "LocalizableContentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Content value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TranslatableResource", + "description": "A resource that has translatable fields.", + "fields": [ + { + "name": "nestedTranslatableResources", + "description": "Nested translatable resources under the current resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceType", + "description": "Return only resources of a type.", + "type": { + "kind": "ENUM", + "name": "TranslatableResourceType", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslatableResourceConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "resourceId", + "description": "GID of the resource.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatableContent", + "description": "Translatable content.", + "args": [ + { + "name": "marketId", + "description": "Filters translatable content by market ID. Use this argument to retrieve translatable content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslatableContent", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translations", + "description": "Translatable content translations (includes unpublished locales).", + "args": [ + { + "name": "locale", + "description": "Filters translations by locale.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "Filters translations by market ID. Use this argument to retrieve content specific to a market.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "outdated", + "description": "Filters by outdated translations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TranslatableResourceConnection", + "description": "An auto-generated type for paginating through multiple TranslatableResources.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslatableResourceEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in TranslatableResourceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslatableResource", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TranslatableResourceEdge", + "description": "An auto-generated type which holds one TranslatableResource and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of TranslatableResourceEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslatableResource", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TranslatableResourceType", + "description": "Specifies the type of resources that are translatable.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ARTICLE", + "description": "A blog post. Translatable fields: `title`, `body_html`, `summary_html`, `handle`, `meta_title`, `meta_description`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLOG", + "description": "A blog. Translatable fields: `title`, `handle`, `meta_title`, `meta_description`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION", + "description": "A product collection. Translatable fields: `title`, `body_html`, `handle`, `meta_title`, `meta_description`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELIVERY_METHOD_DEFINITION", + "description": "The delivery method definition. For example, \"Standard\", or \"Expedited\". Translatable fields: `name`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "EMAIL_TEMPLATE", + "description": "An email template. Translatable fields: `title`, `body_html`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILTER", + "description": "A filter. Translatable fields: `label`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LINK", + "description": "A link to direct users. Translatable fields: `title`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MENU", + "description": "A category of links. Translatable fields: `title`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAFIELD", + "description": "A Metafield. Translatable fields: `value`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAOBJECT", + "description": "A Metaobject. Translatable fields are determined by the Metaobject type.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_THEME", + "description": "An online store theme. Translatable fields: `dynamic keys based on theme data`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_THEME_APP_EMBED", + "description": "A theme app embed. Translatable fields: `dynamic keys based on theme data`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_THEME_JSON_TEMPLATE", + "description": "A theme json template. Translatable fields: `dynamic keys based on theme data`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_THEME_LOCALE_CONTENT", + "description": "Locale file content of an online store theme. Translatable fields: `dynamic keys based on theme data`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_THEME_SECTION_GROUP", + "description": "A theme json section group. Translatable fields: `dynamic keys based on theme data`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_THEME_SETTINGS_CATEGORY", + "description": "A theme setting category. Translatable fields: `dynamic keys based on theme data`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ONLINE_STORE_THEME_SETTINGS_DATA_SECTIONS", + "description": "Shared static sections of an online store theme. Translatable fields: `dynamic keys based on theme data`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PACKING_SLIP_TEMPLATE", + "description": "A packing slip template. Translatable fields: `body`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAGE", + "description": "A page. Translatable fields: `title`, `body_html`, `handle`, `meta_title`, `meta_description`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_GATEWAY", + "description": "A payment gateway. Translatable fields: `name`, `message`, `before_payment_instructions`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT", + "description": "An online store product. Translatable fields: `title`, `body_html`, `handle`, `product_type`, `meta_title`, `meta_description`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_OPTION", + "description": "An online store custom product property name. For example, \"Size\", \"Color\", or \"Material\".\n Translatable fields: `name`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_OPTION_VALUE", + "description": "The product option value names. For example, \"Red\", \"Blue\", and \"Green\" for a \"Color\" option. Translatable fields: `name`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN", + "description": "A selling plan. Translatable fields:`name`, `option1`, `option2`, `option3`, `description`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_GROUP", + "description": "A selling plan group. Translatable fields: `name`, `option1`, `option2`, `option3`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP", + "description": "A shop. Translatable fields: `meta_title`, `meta_description`.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_POLICY", + "description": "A shop policy. Translatable fields: `body`.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Translation", + "description": "Translation of a field of a resource.", + "fields": [ + { + "name": "key", + "description": "On the resource that this translation belongs to, the reference to the value being translated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "ISO code of the translation locale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "market", + "description": "The market that the translation is specific to. Null value means the translation is available in all markets.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Market", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "outdated", + "description": "Whether the original content has changed since this translation was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the translation was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Translation value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TranslationErrorCode", + "description": "Possible error codes that can be returned by `TranslationUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FAILS_RESOURCE_VALIDATION", + "description": "Translation value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID", + "description": "The input value is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_CODE", + "description": "Locale language code is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_FORMAT", + "description": "Locale code format is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_KEY_FOR_MODEL", + "description": "Translation key is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_LOCALE_FOR_MARKET", + "description": "The locale is missing on the market corresponding to the `marketId` argument.", + "isDeprecated": true, + "deprecationReason": "`invalid_locale_for_market` is deprecated because the creation of a locale that's specific to a market no longer needs to be tied to that market's URL.\n" + }, + { + "name": "INVALID_LOCALE_FOR_SHOP", + "description": "Locale is invalid for the shop.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_MARKET_LOCALIZABLE_CONTENT", + "description": "Market localizable content is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TRANSLATABLE_CONTENT", + "description": "Translatable content is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE_FOR_HANDLE_TRANSLATION", + "description": "The handle is already taken for this resource.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_CUSTOM_CONTENT_NOT_ALLOWED", + "description": "The shop isn't allowed to operate on market custom content.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_DOES_NOT_EXIST", + "description": "The market corresponding to the `marketId` argument doesn't exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKET_LOCALE_CREATION_FAILED", + "description": "The market override locale creation failed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOURCE_NOT_FOUND", + "description": "Resource does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOURCE_NOT_MARKET_CUSTOMIZABLE", + "description": "The specified resource can't be customized for a market.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESOURCE_NOT_TRANSLATABLE", + "description": "Resource is not translatable.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_MANY_KEYS_FOR_RESOURCE", + "description": "Too many translation keys for the resource.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "TranslationInput", + "description": "The input fields and values for creating or updating a translation.", + "fields": null, + "inputFields": [ + { + "name": "key", + "description": "On the resource that this translation belongs to, the reference to the value being translated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locale", + "description": "ISO code of the locale being translated into. Only locales returned in `shopLocales` are valid.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "marketId", + "description": "The ID of the market that the translation is specific to. Not specifying this field means that the translation will be available in all markets.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "translatableContentDigest", + "description": "Hash digest representation of the content being translated.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The value of the translation.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TranslationUserError", + "description": "Represents an error that happens during the execution of a translation mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "TranslationErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TranslationsRegisterPayload", + "description": "Return type for `translationsRegister` mutation.", + "fields": [ + { + "name": "translations", + "description": "The translations that were created or updated.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TranslationsRemovePayload", + "description": "Return type for `translationsRemove` mutation.", + "fields": [ + { + "name": "translations", + "description": "The translations that were deleted.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Translation", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TranslationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TypedAttribute", + "description": "Represents a typed custom attribute.", + "fields": [ + { + "name": "key", + "description": "Key or name of the attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "Value of the attribute.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "URL", + "description": "Represents an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and\n[RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string.\n\nFor example, `\"https://example.myshopify.com\"` is a valid URL. It includes a scheme (`https`) and a host\n(`example.myshopify.com`).\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UTMInput", + "description": "Specifies the\n[Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters)\nthat are associated with a related marketing campaign.", + "fields": null, + "inputFields": [ + { + "name": "campaign", + "description": "The name of the UTM campaign.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "medium", + "description": "The UTM campaign medium.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "The name of the website or application where the referral link exists.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UTMParameters", + "description": "Represents a set of UTM parameters.", + "fields": [ + { + "name": "campaign", + "description": "The name of a marketing campaign.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "content", + "description": "Identifies specific content in a marketing campaign. Used to differentiate between similar content or links in a marketing campaign to determine which is the most effective.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "medium", + "description": "The medium of a marketing campaign, such as a banner or email newsletter.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "source", + "description": "The source of traffic to the merchant's store, such as Google or an email newsletter.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "term", + "description": "Paid search terms used by a marketing campaign.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnitPriceMeasurement", + "description": "The measurement used to calculate a unit price for a product variant (e.g. $9.99 / 100ml).", + "fields": [ + { + "name": "measuredType", + "description": "The type of unit of measurement for the unit price measurement.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UnitPriceMeasurementMeasuredType", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityUnit", + "description": "The quantity unit for the unit price measurement.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UnitPriceMeasurementMeasuredUnit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantityValue", + "description": "The quantity value for the unit price measurement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceUnit", + "description": "The reference unit for the unit price measurement.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UnitPriceMeasurementMeasuredUnit", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "referenceValue", + "description": "The reference value for the unit price measurement.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UnitPriceMeasurementMeasuredType", + "description": "The accepted types of unit of measurement.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "AREA", + "description": "Unit of measurements representing areas.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LENGTH", + "description": "Unit of measurements representing lengths.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VOLUME", + "description": "Unit of measurements representing volumes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "WEIGHT", + "description": "Unit of measurements representing weights.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UnitPriceMeasurementMeasuredUnit", + "description": "The valid units of measurement for a unit price measurement.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CL", + "description": "100 centiliters equals 1 liter.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CM", + "description": "100 centimeters equals 1 meter.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "G", + "description": "Metric system unit of weight.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KG", + "description": "1 kilogram equals 1000 grams.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "L", + "description": "Metric system unit of volume.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "M", + "description": "Metric system unit of length.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "M2", + "description": "Metric system unit of area.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "M3", + "description": "1 cubic meter equals 1000 liters.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MG", + "description": "1000 milligrams equals 1 gram.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ML", + "description": "1000 milliliters equals 1 liter.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MM", + "description": "1000 millimeters equals 1 meter.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UnitSystem", + "description": "Systems of weights and measures.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "IMPERIAL_SYSTEM", + "description": "Imperial system of weights and measures.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METRIC_SYSTEM", + "description": "Metric system of weights and measures.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnknownSale", + "description": "This is represents new sale types that have been added in future API versions. You may update to a more recent API version to receive additional details about this sale.", + "fields": [ + { + "name": "actionType", + "description": "The type of order action that the sale represents.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleActionType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The unique ID for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lineType", + "description": "The line type assocated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "SaleLineType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The number of units either ordered or intended to be returned.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "taxes", + "description": "All individual taxes associated with the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SaleTax", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalAmount", + "description": "The total sale amount after taxes and discounts.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountAfterTaxes", + "description": "The total discounts allocated to the sale after taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalDiscountAmountBeforeTaxes", + "description": "The total discounts allocated to the sale before taxes.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalTaxAmount", + "description": "The total amount of taxes for the sale.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyBag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Sale", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "UnsignedInt64", + "description": "An unsigned 64-bit integer. Represents whole numeric values between 0 and 2^64 - 1 encoded as a string of base-10 digits.\n\nExample value: `\"50\"`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnverifiedReturnLineItem", + "description": "An unverified return line item.", + "fields": [ + { + "name": "customerNote", + "description": "A note from the customer that describes the item to be returned. Maximum length: 300 characters.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "quantity", + "description": "The quantity being returned.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundableQuantity", + "description": "The quantity that can be refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "refundedQuantity", + "description": "The quantity that was refunded.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReason", + "description": "The reason for returning the item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ReturnReason", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "returnReasonNote", + "description": "Additional information about the reason for the return. Maximum length: 255 characters.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unitPrice", + "description": "The unit price of the unverified return line item.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MoneyV2", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "ReturnLineItemType", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateMediaInput", + "description": "The input fields required to update a media object.", + "fields": null, + "inputFields": [ + { + "name": "alt", + "description": "The alt text associated to the media.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Specifies the media to update.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previewImageSource", + "description": "The source from which to update the media preview image. May be an external URL or staged upload URL.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirect", + "description": "The URL redirect for the online store.", + "fields": [ + { + "name": "id", + "description": "The ID of the URL redirect.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "The old path to be redirected from. When the user visits this path, they will be redirected to the target location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "The target location where the user will be redirected to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteAllPayload", + "description": "Return type for `urlRedirectBulkDeleteAll` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job removing the redirects.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteByIdsPayload", + "description": "Return type for `urlRedirectBulkDeleteByIds` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job removing the redirects.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteByIdsUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteByIdsUserError", + "description": "An error that occurs during the execution of `UrlRedirectBulkDeleteByIds`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UrlRedirectBulkDeleteByIdsUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UrlRedirectBulkDeleteByIdsUserErrorCode", + "description": "Possible error codes that can be returned by `UrlRedirectBulkDeleteByIdsUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "IDS_EMPTY", + "description": "You must pass one or more [`URLRedirect`](\n https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect\n ) object IDs.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySavedSearchPayload", + "description": "Return type for `urlRedirectBulkDeleteBySavedSearch` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job removing the redirects.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySavedSearchUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySavedSearchUserError", + "description": "An error that occurs during the execution of `UrlRedirectBulkDeleteBySavedSearch`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UrlRedirectBulkDeleteBySavedSearchUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UrlRedirectBulkDeleteBySavedSearchUserErrorCode", + "description": "Possible error codes that can be returned by `UrlRedirectBulkDeleteBySavedSearchUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_SAVED_SEARCH_QUERY", + "description": "The saved search's query cannot match all entries or be empty.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SAVED_SEARCH_NOT_FOUND", + "description": "Saved search not found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySearchPayload", + "description": "Return type for `urlRedirectBulkDeleteBySearch` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job removing the redirects.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySearchUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectBulkDeleteBySearchUserError", + "description": "An error that occurs during the execution of `UrlRedirectBulkDeleteBySearch`.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UrlRedirectBulkDeleteBySearchUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UrlRedirectBulkDeleteBySearchUserErrorCode", + "description": "Possible error codes that can be returned by `UrlRedirectBulkDeleteBySearchUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "INVALID_SEARCH_ARGUMENT", + "description": "Invalid search string.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectConnection", + "description": "An auto-generated type for paginating through multiple UrlRedirects.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in UrlRedirectEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirect", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectCreatePayload", + "description": "Return type for `urlRedirectCreate` mutation.", + "fields": [ + { + "name": "urlRedirect", + "description": "The created redirect.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UrlRedirect", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectDeletePayload", + "description": "Return type for `urlRedirectDelete` mutation.", + "fields": [ + { + "name": "deletedUrlRedirectId", + "description": "The ID of the deleted redirect.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectEdge", + "description": "An auto-generated type which holds one UrlRedirect and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of UrlRedirectEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirect", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UrlRedirectErrorCode", + "description": "Possible error codes that can be returned by `UrlRedirectUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATE_FAILED", + "description": "Redirect could not be created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DELETE_FAILED", + "description": "Redirect could not be deleted.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOES_NOT_EXIST", + "description": "Redirect does not exist.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UPDATE_FAILED", + "description": "Redirect could not be updated.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectImport", + "description": "A request to import a [`URLRedirect`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) object\ninto the Online Store channel. Apps can use this to query the state of an `UrlRedirectImport` request.\n\nFor more information, see [`url-redirect`](https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect)s.", + "fields": [ + { + "name": "count", + "description": "The number of rows in the file.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdCount", + "description": "The number of redirects created from the import.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "failedCount", + "description": "The number of redirects that failed to be imported.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finished", + "description": "Whether the import is finished.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "finishedAt", + "description": "The date and time when the import finished.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the `UrlRedirectImport` object.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "previewRedirects", + "description": "A list of up to three previews of the URL redirects to be imported.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectImportPreview", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedCount", + "description": "The number of redirects updated during the import.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectImportCreatePayload", + "description": "Return type for `urlRedirectImportCreate` mutation.", + "fields": [ + { + "name": "urlRedirectImport", + "description": "The created `URLRedirectImport` object.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UrlRedirectImport", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectImportUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UrlRedirectImportErrorCode", + "description": "Possible error codes that can be returned by `UrlRedirectImportUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ALREADY_IMPORTED", + "description": "The import has already completed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FILE_DOES_NOT_EXIST", + "description": "CSV file does not exist at given URL.", + "isDeprecated": true, + "deprecationReason": "This error code is never returned" + }, + { + "name": "IN_PROGRESS", + "description": "The import is already in progress.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "URL redirect import not found.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectImportPreview", + "description": "A preview of a URL redirect import row.", + "fields": [ + { + "name": "path", + "description": "The old path to be redirected from. When the user visits this path, they will be redirected to the target location.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "The target location where the user will be redirected to.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectImportSubmitPayload", + "description": "Return type for `urlRedirectImportSubmit` mutation.", + "fields": [ + { + "name": "job", + "description": "The asynchronous job importing the redirects.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Job", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectImportUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectImportUserError", + "description": "Represents an error that happens during execution of a redirect import mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UrlRedirectImportErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UrlRedirectInput", + "description": "The input fields to create or update a URL redirect.", + "fields": null, + "inputFields": [ + { + "name": "path", + "description": "The old path to be redirected from. When the user visits this path, they will be redirected to the target location.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "target", + "description": "The target location where the user will be redirected to.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "UrlRedirectSortKeys", + "description": "The set of valid sort keys for the UrlRedirect query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PATH", + "description": "Sort by the `path` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectUpdatePayload", + "description": "Return type for `urlRedirectUpdate` mutation.", + "fields": [ + { + "name": "urlRedirect", + "description": "Returns the updated URL redirect.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UrlRedirect", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UrlRedirectUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UrlRedirectUserError", + "description": "Represents an error that happens during execution of a redirect mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "UrlRedirectErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserError", + "description": "Represents an error in the input of a mutation.", + "fields": [ + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "UtcOffset", + "description": "Time between UTC time and a location's observed time, in the format `\"+HH:MM\"` or `\"-HH:MM\"`.\n\nExample value: `\"-07:00\"`.\n", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Validation", + "description": "A checkout server side validation installed on the shop.", + "fields": [ + { + "name": "blockOnFailure", + "description": "Whether the validation should block on failures other than expected violations.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enabled", + "description": "Whether the validation is enabled on the merchant checkout.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errorHistory", + "description": "The error history on the most recent version of the validation function.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FunctionsErrorHistory", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "Global ID for the validation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafield", + "description": "A [custom field](https://shopify.dev/docs/apps/build/custom-data),\nincluding its `namespace` and `key`, that's associated with a Shopify resource\nfor the purposes of adding and storing additional information.", + "args": [ + { + "name": "key", + "description": "The key for the metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The container the metafield belongs to. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Metafield", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldDefinitions", + "description": "List of metafield definitions.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter metafield definitions by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pinnedStatus", + "description": "Filter by the definition's pinned status.", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionPinnedStatus", + "ofType": null + }, + "defaultValue": "ANY", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "A filter made up of terms, connectives, modifiers, and comparators.\n| name | type | description | acceptable_values | default_value | example_use |\n| ---- | ---- | ---- | ---- | ---- | ---- |\n| default | string | Filter by a case-insensitive search of all the fields in a document. |\n| created_at | time | Filter by the date and time when the metafield definition was created. | | | - `created_at:>2020-10-21T23:39:20Z`
- `created_at: - `created_at:<=2024` |\n| id | id | Filter by `id` range. | | | - `id:1234`
- `id:>=1234`
- `id:<=1234` |\n| key | string | Filter by the metafield definition [`key`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-key) field. | | | - `key:some-key` |\n| namespace | string | Filter by the metafield definition [`namespace`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-namespace) field. | | | - `namespace:some-namespace` |\n| owner_type | string | Filter by the metafield definition [`ownerType`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-ownertype) field. | | | - `owner_type:PRODUCT` |\n| type | string | Filter by the metafield definition [`type`](https://shopify.dev/docs/api/admin-graphql/latest/objects/MetafieldDefinition#field-type) field. | | | - `type:single_line_text_field` |\n| updated_at | time | Filter by the date and time when the metafield definition was last updated. | | | - `updated_at:>2020-10-21T23:39:20Z`
- `updated_at: - `updated_at:<=2024` |\nYou can apply one or more filters to a query. Learn more about [Shopify API search syntax](https://shopify.dev/api/usage/search-syntax).\n", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sortKey", + "description": "Sort the underlying list using a key. If your query is slow or returns an error, then [try specifying a sort key that matches the field used in the search](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).", + "type": { + "kind": "ENUM", + "name": "MetafieldDefinitionSortKeys", + "ofType": null + }, + "defaultValue": "ID", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldDefinitionConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "This field will be removed in a future version. Use the root `metafieldDefinitions` field instead." + }, + { + "name": "metafields", + "description": "A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data)\nthat a merchant associates with a Shopify resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "keys", + "description": "List of keys of metafields in the format `namespace.key`, will be returned in the same format.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The metafield namespace to filter by. If omitted, the app-reserved namespace will be used.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MetafieldConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafield", + "description": "Returns a private metafield by namespace and key that belongs to the resource.", + "args": [ + { + "name": "key", + "description": "The key for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "The namespace for the private metafield.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "PrivateMetafield", + "ofType": null + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "privateMetafields", + "description": "List of private metafields that belong to the resource.", + "args": [ + { + "name": "after", + "description": "The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "before", + "description": "The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "first", + "description": "The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "last", + "description": "The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "namespace", + "description": "Filter the private metafields by namespace.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reverse", + "description": "Reverse the order of the underlying list.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PrivateMetafieldConnection", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "shopifyFunction", + "description": "The Shopify Function implementing the validation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ShopifyFunction", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The merchant-facing validation name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "HasMetafieldDefinitions", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "HasMetafields", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationConnection", + "description": "An auto-generated type for paginating through multiple Validations.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in ValidationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ValidationCreateInput", + "description": "The input fields required to install a validation.", + "fields": null, + "inputFields": [ + { + "name": "blockOnFailure", + "description": "Whether the validation should block on failures other than expected violations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enable", + "description": "Whether the validation should be live on the merchant checkout.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "functionId", + "description": "The function ID representing the extension to install.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the validation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the validation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationCreatePayload", + "description": "Return type for `validationCreate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validation", + "description": "The created validation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationDeletePayload", + "description": "Return type for `validationDelete` mutation.", + "fields": [ + { + "name": "deletedId", + "description": "Returns the deleted validation ID.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationEdge", + "description": "An auto-generated type which holds one Validation and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of ValidationEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ValidationSortKeys", + "description": "The set of valid sort keys for the Validation query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ValidationUpdateInput", + "description": "The input fields required to update a validation.", + "fields": null, + "inputFields": [ + { + "name": "blockOnFailure", + "description": "Whether the validation should block on failures other than expected violations.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enable", + "description": "Whether the validation should be live on the merchant checkout.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafields", + "description": "Additional metafields to associate to the validation.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "MetafieldInput", + "ofType": null + } + } + }, + "defaultValue": [], + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The title of the validation.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationUpdatePayload", + "description": "Return type for `validationUpdate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ValidationUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "validation", + "description": "The updated validation.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Validation", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationUserError", + "description": "An error that occurs during the execution of a validation mutation.", + "fields": [ + { + "name": "code", + "description": "The error code.", + "args": [], + "type": { + "kind": "ENUM", + "name": "ValidationUserErrorCode", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field", + "description": "The path to the input field that caused the error.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "The error message.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "DisplayableError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ValidationUserErrorCode", + "description": "Possible error codes that can be returned by `ValidationUserError`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_NOT_AUTHORIZED", + "description": "ApiPermission metafields can only be created or updated by the app owner.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BLANK", + "description": "The input value is blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CAPABILITY_VIOLATION", + "description": "The metafield violates a capability restriction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOM_APP_FUNCTION_NOT_ELIGIBLE", + "description": "Shop must be on a Shopify Plus plan to activate functions from a custom app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISALLOWED_OWNER_TYPE", + "description": "Owner type can't be used in this mutation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_DOES_NOT_IMPLEMENT", + "description": "Function does not implement the required interface for this cart & checkout validation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_NOT_FOUND", + "description": "Function not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FUNCTION_PENDING_DELETION", + "description": "Function is pending deletion.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INCLUSION", + "description": "The input value isn't included in the list.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERNAL_ERROR", + "description": "An internal error occurred.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_TYPE", + "description": "The type is invalid.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVALID_VALUE", + "description": "The value is invalid for the metafield type or for the definition options.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MAX_VALIDATIONS_ACTIVATED", + "description": "Cannot have more than 5 active validation functions.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NOT_FOUND", + "description": "Validation not found.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRESENT", + "description": "The input value needs to be blank.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLIC_APP_NOT_ALLOWED", + "description": "Only unlisted apps can be used for this cart & checkout validation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAKEN", + "description": "The input value is already taken.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_LONG", + "description": "The input value is too long.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TOO_SHORT", + "description": "The input value is too short.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNSTRUCTURED_RESERVED_NAMESPACE", + "description": "Unstructured reserved namespace.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "VariantOptionValueInput", + "description": "The input fields required to create or modify a product variant's option value.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "Specifies the product option value by ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "linkedMetafieldValue", + "description": "Metafield value associated with an option.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Specifies the product option value by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionId", + "description": "Specifies the product option by ID.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "optionName", + "description": "Specifies the product option by name.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VaultCreditCard", + "description": "Represents a credit card payment instrument.", + "fields": [ + { + "name": "billingAddress", + "description": "The billing address of the card.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "CustomerCreditCardBillingAddress", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "brand", + "description": "The brand for the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expired", + "description": "Whether the card has been expired.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiryMonth", + "description": "The expiry month of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expiryYear", + "description": "The expiry year of the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "lastDigits", + "description": "The last four digits for the card.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The name of the card holder.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VaultPaypalBillingAgreement", + "description": "Represents a paypal billing agreement payment instrument.", + "fields": [ + { + "name": "inactive", + "description": "Whether the paypal billing agreement is inactive.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "The paypal account name.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "paypalAccountEmail", + "description": "The paypal account email address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Vector3", + "description": "Representation of 3d vectors and points. It can represent\neither the coordinates of a point in space, a direction, or\nsize. Presented as an object with three floating-point values.", + "fields": [ + { + "name": "x", + "description": "The x coordinate of Vector3.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "y", + "description": "The y coordinate of Vector3.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "z", + "description": "The z coordinate of Vector3.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Video", + "description": "Represents a Shopify hosted video.", + "fields": [ + { + "name": "alt", + "description": "A word or phrase to share the nature or contents of a media.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createdAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "duration", + "description": "The video's duration in milliseconds. This value is `null` unless the video's status field is\n[READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready).", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileErrors", + "description": "Any errors that have occurred on the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "FileError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fileStatus", + "description": "The status of the file.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "FileStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filename", + "description": "The video's filename.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaContentType", + "description": "The media content type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaContentType", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaErrors", + "description": "Any errors which have occurred on the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mediaWarnings", + "description": "The warnings attached to the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "MediaWarning", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "originalSource", + "description": "The video's original source. This value is `null` unless the video's status field is\n[READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "VideoSource", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "preview", + "description": "The preview image for the media.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "MediaPreviewImage", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "sources", + "description": "The video's sources. This value is empty unless the video's status field is\n[READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "VideoSource", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "Current status of the media.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MediaStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "File", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Media", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "VideoSource", + "description": "Represents a source for a Shopify hosted video.\n\nTypes of sources include the original video, lower resolution versions of the original video,\nand an m3u8 playlist file.\n\nOnly [videos](https://shopify.dev/api/admin-graphql/latest/objects/video) with a status field\nof [READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready) have sources.", + "fields": [ + { + "name": "fileSize", + "description": "The video source's file size in bytes.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "The video source's file format extension.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "height", + "description": "The video source's height.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mimeType", + "description": "The video source's MIME type.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The video source's URL.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "width", + "description": "The video source's width.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebPixel", + "description": "A web pixel settings.", + "fields": [ + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "settings", + "description": "The settings JSON object for the web pixel.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebPixelCreatePayload", + "description": "Return type for `webPixelCreate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorsWebPixelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPixel", + "description": "The created web pixel settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebPixel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebPixelDeletePayload", + "description": "Return type for `webPixelDelete` mutation.", + "fields": [ + { + "name": "deletedWebPixelId", + "description": "The ID of the web pixel settings that was deleted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorsWebPixelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "WebPixelInput", + "description": "The input fields to use to update a web pixel.", + "fields": null, + "inputFields": [ + { + "name": "settings", + "description": "The web pixel settings in JSON format.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "JSON", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebPixelUpdatePayload", + "description": "Return type for `webPixelUpdate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ErrorsWebPixelUserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webPixel", + "description": "The updated web pixel settings.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebPixel", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookEventBridgeEndpoint", + "description": "An Amazon EventBridge partner event source to which webhook subscriptions publish events.", + "fields": [ + { + "name": "arn", + "description": "The ARN of this EventBridge partner event source.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ARN", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookHttpEndpoint", + "description": "An HTTPS endpoint to which webhook subscriptions send POST requests.", + "fields": [ + { + "name": "callbackUrl", + "description": "The URL to which the webhooks events are sent.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookPubSubEndpoint", + "description": "A Google Cloud Pub/Sub topic to which webhook subscriptions publish events.", + "fields": [ + { + "name": "pubSubProject", + "description": "The Google Cloud Pub/Sub project ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pubSubTopic", + "description": "The Google Cloud Pub/Sub topic ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscription", + "description": "A webhook subscription is a persisted data object created by an app using the REST Admin API or GraphQL Admin API.\nIt describes the topic that the app wants to receive, and a destination where Shopify should send webhooks of the specified topic.\nWhen an event for a given topic occurs, the webhook subscription sends a relevant payload to the destination.\nLearn more about the [webhooks system](https://shopify.dev/apps/webhooks).", + "fields": [ + { + "name": "apiVersion", + "description": "The Admin API version that Shopify uses to serialize webhook events. This value is inherited from the app that created the webhook subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "ApiVersion", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "callbackUrl", + "description": "The destination URI to which the webhook subscription will send a message when an event occurs.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `endpoint` instead." + }, + { + "name": "createdAt", + "description": "The date and time when the webhook subscription was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endpoint", + "description": "The endpoint to which the webhook subscription will send events.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "UNION", + "name": "WebhookSubscriptionEndpoint", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filter", + "description": "A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "The format in which the webhook subscription should send the data.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WebhookSubscriptionFormat", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "A globally-unique ID.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeFields", + "description": "An optional array of top-level resource fields that should be serialized and sent in the webhook message. If null, then all fields will be sent.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "legacyResourceId", + "description": "The ID of the corresponding resource in the REST Admin API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "UnsignedInt64", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldNamespaces", + "description": "The list of namespaces for any metafields that should be included in the webhook subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "privateMetafieldNamespaces", + "description": "The list of namespaces for private metafields that should be included in the webhook subscription.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": true, + "deprecationReason": "Metafields created using a reserved namespace are private by default. See our guide for\n[migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields).\n" + }, + { + "name": "topic", + "description": "The type of event that triggers the webhook. The topic determines when the webhook subscription sends a webhook, as well as what class of data object that webhook contains.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WebhookSubscriptionTopic", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updatedAt", + "description": "The date and time when the webhook subscription was updated.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "DateTime", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "LegacyInteroperability", + "ofType": null + }, + { + "kind": "INTERFACE", + "name": "Node", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscriptionConnection", + "description": "An auto-generated type for paginating through multiple WebhookSubscriptions.", + "fields": [ + { + "name": "edges", + "description": "The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WebhookSubscriptionEdge", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "A list of nodes that are contained in WebhookSubscriptionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pageInfo", + "description": "An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscriptionCreatePayload", + "description": "Return type for `webhookSubscriptionCreate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "The webhook subscription that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscriptionDeletePayload", + "description": "Return type for `webhookSubscriptionDelete` mutation.", + "fields": [ + { + "name": "deletedWebhookSubscriptionId", + "description": "The ID of the deleted webhook subscription.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscriptionEdge", + "description": "An auto-generated type which holds one WebhookSubscription and a cursor during pagination.", + "fields": [ + { + "name": "cursor", + "description": "The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql).", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "node", + "description": "The item at the end of WebhookSubscriptionEdge.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "UNION", + "name": "WebhookSubscriptionEndpoint", + "description": "An endpoint to which webhook subscriptions send webhooks events.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "WebhookEventBridgeEndpoint", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WebhookHttpEndpoint", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "WebhookPubSubEndpoint", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "WebhookSubscriptionFormat", + "description": "The supported formats for webhook subscriptions.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "JSON", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "XML", + "description": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "WebhookSubscriptionInput", + "description": "The input fields for a webhook subscription.", + "fields": null, + "inputFields": [ + { + "name": "callbackUrl", + "description": "URL where the webhook subscription should send the POST request when the event occurs.", + "type": { + "kind": "SCALAR", + "name": "URL", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "filter", + "description": "A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "format", + "description": "The format in which the webhook subscription should send the data.", + "type": { + "kind": "ENUM", + "name": "WebhookSubscriptionFormat", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "includeFields", + "description": "The list of fields to be included in the webhook subscription.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "metafieldNamespaces", + "description": "The list of namespaces for any metafields that should be included in the webhook subscription.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WebhookSubscriptionSortKeys", + "description": "The set of valid sort keys for the WebhookSubscription query.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Sort by the `created_at` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ID", + "description": "Sort by the `id` value.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RELEVANCE", + "description": "Sort by relevance to the search terms when the `query` parameter is specified on the connection.\nDon't use this sort key when no search query is specified.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WebhookSubscriptionTopic", + "description": "The supported topics for webhook subscriptions. You can use webhook subscriptions to receive\nnotifications about particular events in a shop.\n\nYou create [mandatory webhooks](https://shopify.dev/apps/webhooks/configuration/mandatory-webhooks#mandatory-compliance-webhooks) either via the\n[Partner Dashboard](https://shopify.dev/apps/webhooks/configuration/mandatory-webhooks#subscribe-to-privacy-webhooks)\nor by updating the [app configuration file](https://shopify.dev/apps/tools/cli/configuration#app-configuration-file-example).\n\n> Tip: \n>To configure your subscription using the app configuration file, refer to the [full list of topic names](https://shopify.dev/docs/api/webhooks?reference=graphql).", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "APP_PURCHASES_ONE_TIME_UPDATE", + "description": "The webhook topic for `app_purchases_one_time/update` events. Occurs whenever a one-time app charge is updated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APP_SCOPES_UPDATE", + "description": "The webhook topic for `app/scopes_update` events. Occurs whenever the access scopes of any installation are modified. Allows apps to keep track of the granted access scopes of their installations.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT", + "description": "The webhook topic for `app_subscriptions/approaching_capped_amount` events. Occurs when the balance used on an app subscription crosses 90% of the capped amount.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APP_SUBSCRIPTIONS_UPDATE", + "description": "The webhook topic for `app_subscriptions/update` events. Occurs whenever an app subscription is updated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APP_UNINSTALLED", + "description": "The webhook topic for `app/uninstalled` events. Occurs whenever a shop has uninstalled the app.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ATTRIBUTED_SESSIONS_FIRST", + "description": "The webhook topic for `attributed_sessions/first` events. Occurs whenever an order with a \"first\" attributed session is attributed. Requires the `read_marketing_events` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ATTRIBUTED_SESSIONS_LAST", + "description": "The webhook topic for `attributed_sessions/last` events. Occurs whenever an order with a \"last\" attributed session is attributed. Requires the `read_marketing_events` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "AUDIT_EVENTS_ADMIN_API_ACTIVITY", + "description": "The webhook topic for `audit_events/admin_api_activity` events. Triggers for each auditable Admin API request. This topic is limited to one active subscription per Plus store and requires the use of Google Cloud Pub/Sub or AWS EventBridge. Requires the `read_audit_events` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "BULK_OPERATIONS_FINISH", + "description": "The webhook topic for `bulk_operations/finish` events. Notifies when a Bulk Operation finishes.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CARTS_CREATE", + "description": "The webhook topic for `carts/create` events. Occurs when a cart is created in the online store. Other types of carts aren't supported. For example, the webhook doesn't support carts that are created in a custom storefront. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CARTS_UPDATE", + "description": "The webhook topic for `carts/update` events. Occurs when a cart is updated in the online store. Other types of carts aren't supported. For example, the webhook doesn't support carts that are updated in a custom storefront. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANNELS_DELETE", + "description": "The webhook topic for `channels/delete` events. Occurs whenever a channel is deleted. Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHECKOUTS_CREATE", + "description": "The webhook topic for `checkouts/create` events. Occurs whenever a checkout is created. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHECKOUTS_DELETE", + "description": "The webhook topic for `checkouts/delete` events. Occurs whenever a checkout is deleted. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHECKOUTS_UPDATE", + "description": "The webhook topic for `checkouts/update` events. Occurs whenever a checkout is updated. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTIONS_CREATE", + "description": "The webhook topic for `collections/create` events. Occurs whenever a collection is created. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTIONS_DELETE", + "description": "The webhook topic for `collections/delete` events. Occurs whenever a collection is deleted. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTIONS_UPDATE", + "description": "The webhook topic for `collections/update` events. Occurs whenever a collection is updated, including whenever products are added or removed from the collection. Occurs once if multiple products are added or removed from a collection at the same time. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_LISTINGS_ADD", + "description": "The webhook topic for `collection_listings/add` events. Occurs whenever a collection listing is added. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_LISTINGS_REMOVE", + "description": "The webhook topic for `collection_listings/remove` events. Occurs whenever a collection listing is removed. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_LISTINGS_UPDATE", + "description": "The webhook topic for `collection_listings/update` events. Occurs whenever a collection listing is updated. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_PUBLICATIONS_CREATE", + "description": "The webhook topic for `collection_publications/create` events. Occurs whenever a collection publication listing is created. Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_PUBLICATIONS_DELETE", + "description": "The webhook topic for `collection_publications/delete` events. Occurs whenever a collection publication listing is deleted. Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COLLECTION_PUBLICATIONS_UPDATE", + "description": "The webhook topic for `collection_publications/update` events. Occurs whenever a collection publication listing is updated. Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANIES_CREATE", + "description": "The webhook topic for `companies/create` events. Occurs whenever a company is created. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANIES_DELETE", + "description": "The webhook topic for `companies/delete` events. Occurs whenever a company is deleted. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANIES_UPDATE", + "description": "The webhook topic for `companies/update` events. Occurs whenever a company is updated. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_CONTACTS_CREATE", + "description": "The webhook topic for `company_contacts/create` events. Occurs whenever a company contact is created. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_CONTACTS_DELETE", + "description": "The webhook topic for `company_contacts/delete` events. Occurs whenever a company contact is deleted. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_CONTACTS_UPDATE", + "description": "The webhook topic for `company_contacts/update` events. Occurs whenever a company contact is updated. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_CONTACT_ROLES_ASSIGN", + "description": "The webhook topic for `company_contact_roles/assign` events. Occurs whenever a role is assigned to a contact at a location. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_CONTACT_ROLES_REVOKE", + "description": "The webhook topic for `company_contact_roles/revoke` events. Occurs whenever a role is revoked from a contact at a location. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATIONS_CREATE", + "description": "The webhook topic for `company_locations/create` events. Occurs whenever a company location is created. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATIONS_DELETE", + "description": "The webhook topic for `company_locations/delete` events. Occurs whenever a company location is deleted. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMPANY_LOCATIONS_UPDATE", + "description": "The webhook topic for `company_locations/update` events. Occurs whenever a company location is updated. Requires at least one of the following scopes: read_customers, read_companies.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_CREATE", + "description": "The webhook topic for `customers/create` events. Occurs whenever a customer is created. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_DELETE", + "description": "The webhook topic for `customers/delete` events. Occurs whenever a customer is deleted. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_DISABLE", + "description": "The webhook topic for `customers/disable` events. Occurs whenever a customer account is disabled. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE", + "description": "The webhook topic for `customers_email_marketing_consent/update` events. Occurs whenever a customer's email marketing consent is updated. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_ENABLE", + "description": "The webhook topic for `customers/enable` events. Occurs whenever a customer account is enabled. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_MARKETING_CONSENT_UPDATE", + "description": "The webhook topic for `customers_marketing_consent/update` events. Occurs whenever a customer's SMS marketing consent is updated. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_MERGE", + "description": "The webhook topic for `customers/merge` events. Triggers when two customers are merged Requires the `read_customer_merge` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMERS_UPDATE", + "description": "The webhook topic for `customers/update` events. Occurs whenever a customer is updated. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_ACCOUNT_SETTINGS_UPDATE", + "description": "The webhook topic for `customer_account_settings/update` events. Triggers when merchants change customer account setting.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_GROUPS_CREATE", + "description": "The webhook topic for `customer_groups/create` events. Occurs whenever a customer saved search is created. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_GROUPS_DELETE", + "description": "The webhook topic for `customer_groups/delete` events. Occurs whenever a customer saved search is deleted. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_GROUPS_UPDATE", + "description": "The webhook topic for `customer_groups/update` events. Occurs whenever a customer saved search is updated. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_PAYMENT_METHODS_CREATE", + "description": "The webhook topic for `customer_payment_methods/create` events. Occurs whenever a customer payment method is created. Requires the `read_customer_payment_methods` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_PAYMENT_METHODS_REVOKE", + "description": "The webhook topic for `customer_payment_methods/revoke` events. Occurs whenever a customer payment method is revoked. Requires the `read_customer_payment_methods` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_PAYMENT_METHODS_UPDATE", + "description": "The webhook topic for `customer_payment_methods/update` events. Occurs whenever a customer payment method is updated. Requires the `read_customer_payment_methods` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_TAGS_ADDED", + "description": "The webhook topic for `customer.tags_added` events. Triggers when tags are added to a customer. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CUSTOMER_TAGS_REMOVED", + "description": "The webhook topic for `customer.tags_removed` events. Triggers when tags are removed from a customer. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNTS_CREATE", + "description": "The webhook topic for `discounts/create` events. Occurs whenever a discount is created. Requires the `read_discounts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNTS_DELETE", + "description": "The webhook topic for `discounts/delete` events. Occurs whenever a discount is deleted. Requires the `read_discounts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNTS_REDEEMCODE_ADDED", + "description": "The webhook topic for `discounts/redeemcode_added` events. Occurs whenever a redeem code is added to a code discount. Requires the `read_discounts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNTS_REDEEMCODE_REMOVED", + "description": "The webhook topic for `discounts/redeemcode_removed` events. Occurs whenever a redeem code on a code discount is deleted. Requires the `read_discounts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISCOUNTS_UPDATE", + "description": "The webhook topic for `discounts/update` events. Occurs whenever a discount is updated. Requires the `read_discounts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISPUTES_CREATE", + "description": "The webhook topic for `disputes/create` events. Occurs whenever a dispute is created. Requires the `read_shopify_payments_disputes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DISPUTES_UPDATE", + "description": "The webhook topic for `disputes/update` events. Occurs whenever a dispute is updated. Requires the `read_shopify_payments_disputes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOMAINS_CREATE", + "description": "The webhook topic for `domains/create` events. Occurs whenever a domain is created.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOMAINS_DESTROY", + "description": "The webhook topic for `domains/destroy` events. Occurs whenever a domain is destroyed.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DOMAINS_UPDATE", + "description": "The webhook topic for `domains/update` events. Occurs whenever a domain is updated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT_ORDERS_CREATE", + "description": "The webhook topic for `draft_orders/create` events. Occurs whenever a draft order is created. Requires the `read_draft_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT_ORDERS_DELETE", + "description": "The webhook topic for `draft_orders/delete` events. Occurs whenever a draft order is deleted. Requires the `read_draft_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DRAFT_ORDERS_UPDATE", + "description": "The webhook topic for `draft_orders/update` events. Occurs whenever a draft order is updated. Requires the `read_draft_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENTS_CREATE", + "description": "The webhook topic for `fulfillments/create` events. Occurs whenever a fulfillment is created. Requires at least one of the following scopes: read_fulfillments, read_marketplace_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENTS_UPDATE", + "description": "The webhook topic for `fulfillments/update` events. Occurs whenever a fulfillment is updated. Requires at least one of the following scopes: read_fulfillments, read_marketplace_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_EVENTS_CREATE", + "description": "The webhook topic for `fulfillment_events/create` events. Occurs whenever a fulfillment event is created. Requires the `read_fulfillments` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_EVENTS_DELETE", + "description": "The webhook topic for `fulfillment_events/delete` events. Occurs whenever a fulfillment event is deleted. Requires the `read_fulfillments` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED", + "description": "The webhook topic for `fulfillment_orders/cancellation_request_accepted` events. Occurs when a 3PL accepts a fulfillment cancellation request, received from a merchant. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED", + "description": "The webhook topic for `fulfillment_orders/cancellation_request_rejected` events. Occurs when a 3PL rejects a fulfillment cancellation request, received from a merchant. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED", + "description": "The webhook topic for `fulfillment_orders/cancellation_request_submitted` events. Occurs when a merchant requests a fulfillment request to be cancelled after that request was approved by a 3PL. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_CANCELLED", + "description": "The webhook topic for `fulfillment_orders/cancelled` events. Occurs when a fulfillment order is cancelled. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED", + "description": "The webhook topic for `fulfillment_orders/fulfillment_request_accepted` events. Occurs when a fulfillment service accepts a request to fulfill a fulfillment order. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED", + "description": "The webhook topic for `fulfillment_orders/fulfillment_request_rejected` events. Occurs when a 3PL rejects a fulfillment request that was sent by a merchant. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED", + "description": "The webhook topic for `fulfillment_orders/fulfillment_request_submitted` events. Occurs when a merchant submits a fulfillment request to a 3PL. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE", + "description": "The webhook topic for `fulfillment_orders/fulfillment_service_failed_to_complete` events. Occurs when a fulfillment service intends to close an in_progress fulfillment order. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_HOLD_RELEASED", + "description": "The webhook topic for `fulfillment_orders/hold_released` events. Occurs whenever a fulfillment order hold is released. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY", + "description": "The webhook topic for `fulfillment_orders/line_items_prepared_for_local_delivery` events. Occurs whenever a fulfillment order's line items are prepared for local delivery. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP", + "description": "The webhook topic for `fulfillment_orders/line_items_prepared_for_pickup` events. Triggers when one or more of the line items for a fulfillment order are prepared for pickup Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_MERGED", + "description": "The webhook topic for `fulfillment_orders/merged` events. Occurs when multiple fulfillment orders are merged into a single fulfillment order. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_MOVED", + "description": "The webhook topic for `fulfillment_orders/moved` events. Occurs whenever the location which is assigned to fulfill one or more fulfillment order line items is changed.\n\n* `original_fulfillment_order` - The final state of the original fulfillment order.\n* `moved_fulfillment_order` - The fulfillment order which now contains the re-assigned line items.\n* `source_location` - The original location which was assigned to fulfill the line items (available as of the `2023-04` API version).\n* `destination_location_id` - The ID of the location which is now responsible for fulfilling the line items.\n\n**Note:** The [assignedLocation](https://shopify.dev/docs/api/admin-graphql/latest/objects/fulfillmentorder#field-fulfillmentorder-assignedlocation)\nof the `original_fulfillment_order` might be changed by the move operation.\nIf you need to determine the originally assigned location, then you should refer to the `source_location`.\n\n[Learn more about moving line items](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentOrderMove).\n Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE", + "description": "The webhook topic for `fulfillment_orders/order_routing_complete` events. Occurs when an order has finished being routed and it's fulfillment orders assigned to a fulfillment service's location. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_buyer_membership_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_PLACED_ON_HOLD", + "description": "The webhook topic for `fulfillment_orders/placed_on_hold` events. Occurs when a fulfillment order is placed on hold. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_RESCHEDULED", + "description": "The webhook topic for `fulfillment_orders/rescheduled` events. Triggers when a fulfillment order is rescheduled.\n\nFulfillment orders may be merged if they have the same `fulfillAt` datetime.\nIf the fulfillment order is merged then the resulting fulfillment order will be indicated in the webhook body.\nOtherwise it will be the original fulfillment order with an updated `fulfill_at` datetime.\n Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY", + "description": "The webhook topic for `fulfillment_orders/scheduled_fulfillment_order_ready` events. Occurs whenever a fulfillment order which was scheduled becomes due. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FULFILLMENT_ORDERS_SPLIT", + "description": "The webhook topic for `fulfillment_orders/split` events. Occurs when a fulfillment order is split into multiple fulfillment orders. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_ITEMS_CREATE", + "description": "The webhook topic for `inventory_items/create` events. Occurs whenever an inventory item is created. Requires the `read_inventory` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_ITEMS_DELETE", + "description": "The webhook topic for `inventory_items/delete` events. Occurs whenever an inventory item is deleted. Requires the `read_inventory` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_ITEMS_UPDATE", + "description": "The webhook topic for `inventory_items/update` events. Occurs whenever an inventory item is updated. Requires the `read_inventory` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_LEVELS_CONNECT", + "description": "The webhook topic for `inventory_levels/connect` events. Occurs whenever an inventory level is connected. Requires the `read_inventory` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_LEVELS_DISCONNECT", + "description": "The webhook topic for `inventory_levels/disconnect` events. Occurs whenever an inventory level is disconnected. Requires the `read_inventory` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INVENTORY_LEVELS_UPDATE", + "description": "The webhook topic for `inventory_levels/update` events. Occurs whenever an inventory level is updated. Requires the `read_inventory` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCALES_CREATE", + "description": "The webhook topic for `locales/create` events. Occurs whenever a shop locale is created Requires the `read_locales` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCALES_UPDATE", + "description": "The webhook topic for `locales/update` events. Occurs whenever a shop locale is updated, such as published or unpublished Requires the `read_locales` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATIONS_ACTIVATE", + "description": "The webhook topic for `locations/activate` events. Occurs whenever a deactivated location is re-activated. Requires the `read_locations` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATIONS_CREATE", + "description": "The webhook topic for `locations/create` events. Occurs whenever a location is created. Requires the `read_locations` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATIONS_DEACTIVATE", + "description": "The webhook topic for `locations/deactivate` events. Occurs whenever a location is deactivated. Requires the `read_locations` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATIONS_DELETE", + "description": "The webhook topic for `locations/delete` events. Occurs whenever a location is deleted. Requires the `read_locations` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LOCATIONS_UPDATE", + "description": "The webhook topic for `locations/update` events. Occurs whenever a location is updated. Requires the `read_locations` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETS_CREATE", + "description": "The webhook topic for `markets/create` events. Occurs when a new market is created. Requires the `read_markets` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETS_DELETE", + "description": "The webhook topic for `markets/delete` events. Occurs when a market is deleted. Requires the `read_markets` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MARKETS_UPDATE", + "description": "The webhook topic for `markets/update` events. Occurs when a market is updated. Requires the `read_markets` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAFIELD_DEFINITIONS_CREATE", + "description": "The webhook topic for `metafield_definitions/create` events. Occurs when a metafield definition is created. Requires the `read_content` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAFIELD_DEFINITIONS_DELETE", + "description": "The webhook topic for `metafield_definitions/delete` events. Occurs when a metafield definition is deleted. Requires the `read_content` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAFIELD_DEFINITIONS_UPDATE", + "description": "The webhook topic for `metafield_definitions/update` events. Occurs when a metafield definition is updated. Requires the `read_content` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAOBJECTS_CREATE", + "description": "The webhook topic for `metaobjects/create` events. Occurs when a metaobject is created. Requires the `read_metaobjects` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAOBJECTS_DELETE", + "description": "The webhook topic for `metaobjects/delete` events. Occurs when a metaobject is deleted. Requires the `read_metaobjects` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "METAOBJECTS_UPDATE", + "description": "The webhook topic for `metaobjects/update` events. Occurs when a metaobject is updated. Requires the `read_metaobjects` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_CANCELLED", + "description": "The webhook topic for `orders/cancelled` events. Occurs whenever an order is cancelled. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_CREATE", + "description": "The webhook topic for `orders/create` events. Occurs whenever an order is created. Requires at least one of the following scopes: read_orders, read_marketplace_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_DELETE", + "description": "The webhook topic for `orders/delete` events. Occurs whenever an order is deleted. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_EDITED", + "description": "The webhook topic for `orders/edited` events. Occurs whenever an order is edited. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_FULFILLED", + "description": "The webhook topic for `orders/fulfilled` events. Occurs whenever an order is fulfilled. Requires at least one of the following scopes: read_orders, read_marketplace_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_PAID", + "description": "The webhook topic for `orders/paid` events. Occurs whenever an order is paid. Requires at least one of the following scopes: read_orders, read_marketplace_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_PARTIALLY_FULFILLED", + "description": "The webhook topic for `orders/partially_fulfilled` events. Occurs whenever an order is partially fulfilled. Requires at least one of the following scopes: read_orders, read_marketplace_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_RISK_ASSESSMENT_CHANGED", + "description": "The webhook topic for `orders/risk_assessment_changed` events. Triggers when a new risk assessment is available on the order.\nThis can be the first or a subsequent risk assessment.\nNew risk assessments can be provided until the order is marked as fulfilled.\nIncludes the risk level, risk facts, the provider and the order ID.\nDoes not include the risk recommendation for the order.\nThe Shop ID is available in the headers.\n Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_SHOPIFY_PROTECT_ELIGIBILITY_CHANGED", + "description": "The webhook topic for `orders/shopify_protect_eligibility_changed` events. Occurs whenever Shopify Protect's eligibility for an order is changed. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDERS_UPDATED", + "description": "The webhook topic for `orders/updated` events. Occurs whenever an order is updated. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ORDER_TRANSACTIONS_CREATE", + "description": "The webhook topic for `order_transactions/create` events. Occurs when a order transaction is created or when it's status is updated. Only occurs for transactions with a status of success, failure or error. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_SCHEDULES_DUE", + "description": "The webhook topic for `payment_schedules/due` events. Occurs whenever payment schedules are due. Requires the `read_payment_terms` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_TERMS_CREATE", + "description": "The webhook topic for `payment_terms/create` events. Occurs whenever payment terms are created. Requires the `read_payment_terms` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_TERMS_DELETE", + "description": "The webhook topic for `payment_terms/delete` events. Occurs whenever payment terms are deleted. Requires the `read_payment_terms` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PAYMENT_TERMS_UPDATE", + "description": "The webhook topic for `payment_terms/update` events. Occurs whenever payment terms are updated. Requires the `read_payment_terms` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCTS_CREATE", + "description": "The webhook topic for `products/create` events. Occurs whenever a product is created. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCTS_DELETE", + "description": "The webhook topic for `products/delete` events. Occurs whenever a product is deleted. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCTS_UPDATE", + "description": "The webhook topic for `products/update` events. Occurs whenever a product is updated, ordered, or variants are added, removed or updated. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_FEEDS_CREATE", + "description": "The webhook topic for `product_feeds/create` events. Triggers when product feed is created Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_FEEDS_FULL_SYNC", + "description": "The webhook topic for `product_feeds/full_sync` events. Triggers when a full sync for a product feed is performed Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_FEEDS_FULL_SYNC_FINISH", + "description": "The webhook topic for `product_feeds/full_sync_finish` events. Triggers when a full sync finishes Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_FEEDS_INCREMENTAL_SYNC", + "description": "The webhook topic for `product_feeds/incremental_sync` events. Occurs whenever a product publication is created, updated or removed for a product feed Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_FEEDS_UPDATE", + "description": "The webhook topic for `product_feeds/update` events. Triggers when product feed is updated Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_LISTINGS_ADD", + "description": "The webhook topic for `product_listings/add` events. Occurs whenever an active product is listed on a channel. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_LISTINGS_REMOVE", + "description": "The webhook topic for `product_listings/remove` events. Occurs whenever a product listing is removed from the channel. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_LISTINGS_UPDATE", + "description": "The webhook topic for `product_listings/update` events. Occurs whenever a product publication is updated. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_PUBLICATIONS_CREATE", + "description": "The webhook topic for `product_publications/create` events. Occurs whenever a product publication for an active product is created, or whenever an existing product publication is published on the app that is subscribed to this webhook topic. Note that a webhook is only emitted when there are publishing changes to the app that is subscribed to the topic (ie. no webhook will be emitted if there is a publishing change to the online store and the webhook subscriber of the topic is a third-party app). Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_PUBLICATIONS_DELETE", + "description": "The webhook topic for `product_publications/delete` events. Occurs whenever a product publication for an active product is removed, or whenever an existing product publication is unpublished from the app that is subscribed to this webhook topic. Note that a webhook is only emitted when there are publishing changes to the app that is subscribed to the topic (ie. no webhook will be emitted if there is a publishing change to the online store and the webhook subscriber of the topic is a third-party app). Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PRODUCT_PUBLICATIONS_UPDATE", + "description": "The webhook topic for `product_publications/update` events. Occurs whenever a product publication is updated from the app that is subscribed to this webhook topic. Note that a webhook is only emitted when there are publishing changes to the app that is subscribed to the topic (ie. no webhook will be emitted if there is a publishing change to the online store and the webhook subscriber of the topic is a third-party app). Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROFILES_CREATE", + "description": "The webhook topic for `profiles/create` events. Occurs whenever a delivery profile is created Requires at least one of the following scopes: read_shipping, read_assigned_shipping.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROFILES_DELETE", + "description": "The webhook topic for `profiles/delete` events. Occurs whenever a delivery profile is deleted Requires at least one of the following scopes: read_shipping, read_assigned_shipping.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PROFILES_UPDATE", + "description": "The webhook topic for `profiles/update` events. Occurs whenever a delivery profile is updated Requires at least one of the following scopes: read_shipping, read_assigned_shipping.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PUBLICATIONS_DELETE", + "description": "The webhook topic for `publications/delete` events. Occurs whenever a publication is deleted. Requires the `read_publications` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REFUNDS_CREATE", + "description": "The webhook topic for `refunds/create` events. Occurs whenever a new refund is created without errors on an order, independent from the movement of money. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNS_APPROVE", + "description": "The webhook topic for `returns/approve` events. Occurs whenever a return is approved. This means `Return.status` is `OPEN`. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNS_CANCEL", + "description": "The webhook topic for `returns/cancel` events. Occurs whenever a return is canceled. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_returns, read_marketplace_returns, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNS_CLOSE", + "description": "The webhook topic for `returns/close` events. Occurs whenever a return is closed. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_returns, read_marketplace_returns, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNS_DECLINE", + "description": "The webhook topic for `returns/decline` events. Occurs whenever a return is declined. This means `Return.status` is `DECLINED`. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNS_REOPEN", + "description": "The webhook topic for `returns/reopen` events. Occurs whenever a closed return is reopened. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_returns, read_marketplace_returns, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNS_REQUEST", + "description": "The webhook topic for `returns/request` events. Occurs whenever a return is requested. This means `Return.status` is `REQUESTED`. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RETURNS_UPDATE", + "description": "The webhook topic for `returns/update` events. Occurs whenever a return is updated. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REVERSE_DELIVERIES_ATTACH_DELIVERABLE", + "description": "The webhook topic for `reverse_deliveries/attach_deliverable` events. Occurs whenever a deliverable is attached to a reverse delivery.\nThis occurs when a reverse delivery is created or updated with delivery metadata.\nMetadata includes the delivery method, label, and tracking information associated with a reverse delivery.\n Requires at least one of the following scopes: read_returns, read_marketplace_returns.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REVERSE_FULFILLMENT_ORDERS_DISPOSE", + "description": "The webhook topic for `reverse_fulfillment_orders/dispose` events. Occurs whenever a disposition is made on a reverse fulfillment order.\nThis includes dispositions made on reverse deliveries that are associated with the reverse fulfillment order.\n Requires at least one of the following scopes: read_returns, read_marketplace_returns.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED_PRODUCT_LISTINGS_ADD", + "description": "The webhook topic for `scheduled_product_listings/add` events. Occurs whenever a product is scheduled to be published. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED_PRODUCT_LISTINGS_REMOVE", + "description": "The webhook topic for `scheduled_product_listings/remove` events. Occurs whenever a product is no longer scheduled to be published. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEDULED_PRODUCT_LISTINGS_UPDATE", + "description": "The webhook topic for `scheduled_product_listings/update` events. Occurs whenever a product's scheduled availability date changes. Requires the `read_product_listings` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEGMENTS_CREATE", + "description": "The webhook topic for `segments/create` events. Occurs whenever a segment is created. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEGMENTS_DELETE", + "description": "The webhook topic for `segments/delete` events. Occurs whenever a segment is deleted. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SEGMENTS_UPDATE", + "description": "The webhook topic for `segments/update` events. Occurs whenever a segment is updated. Requires the `read_customers` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_GROUPS_CREATE", + "description": "The webhook topic for `selling_plan_groups/create` events. Notifies when a SellingPlanGroup is created. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_GROUPS_DELETE", + "description": "The webhook topic for `selling_plan_groups/delete` events. Notifies when a SellingPlanGroup is deleted. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SELLING_PLAN_GROUPS_UPDATE", + "description": "The webhook topic for `selling_plan_groups/update` events. Notifies when a SellingPlanGroup is updated. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_ADDRESSES_CREATE", + "description": "The webhook topic for `shipping_addresses/create` events. Occurs whenever a shipping address is created. Requires the `read_shipping` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHIPPING_ADDRESSES_UPDATE", + "description": "The webhook topic for `shipping_addresses/update` events. Occurs whenever a shipping address is updated. Requires the `read_shipping` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SHOP_UPDATE", + "description": "The webhook topic for `shop/update` events. Occurs whenever a shop is updated.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED", + "description": "The webhook topic for `subscription_billing_attempts/challenged` events. Occurs when the financial instutition challenges the subscripttion billing attempt charge as per 3D Secure. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE", + "description": "The webhook topic for `subscription_billing_attempts/failure` events. Occurs whenever a subscription billing attempt fails. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS", + "description": "The webhook topic for `subscription_billing_attempts/success` events. Occurs whenever a subscription billing attempt succeeds. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_CYCLES_SKIP", + "description": "The webhook topic for `subscription_billing_cycles/skip` events. Occurs whenever a subscription contract billing cycle is skipped. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_CYCLES_UNSKIP", + "description": "The webhook topic for `subscription_billing_cycles/unskip` events. Occurs whenever a subscription contract billing cycle is unskipped. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE", + "description": "The webhook topic for `subscription_billing_cycle_edits/create` events. Occurs whenever a subscription contract billing cycle is edited. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE", + "description": "The webhook topic for `subscription_billing_cycle_edits/delete` events. Occurs whenever a subscription contract billing cycle edit is deleted. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE", + "description": "The webhook topic for `subscription_billing_cycle_edits/update` events. Occurs whenever a subscription contract billing cycle edit is updated. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CONTRACTS_ACTIVATE", + "description": "The webhook topic for `subscription_contracts/activate` events. Occurs when a subscription contract is activated. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CONTRACTS_CANCEL", + "description": "The webhook topic for `subscription_contracts/cancel` events. Occurs when a subscription contract is canceled. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CONTRACTS_CREATE", + "description": "The webhook topic for `subscription_contracts/create` events. Occurs whenever a subscription contract is created. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CONTRACTS_EXPIRE", + "description": "The webhook topic for `subscription_contracts/expire` events. Occurs when a subscription contract expires. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CONTRACTS_FAIL", + "description": "The webhook topic for `subscription_contracts/fail` events. Occurs when a subscription contract is failed. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CONTRACTS_PAUSE", + "description": "The webhook topic for `subscription_contracts/pause` events. Occurs when a subscription contract is paused. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION_CONTRACTS_UPDATE", + "description": "The webhook topic for `subscription_contracts/update` events. Occurs whenever a subscription contract is updated. Requires the `read_own_subscription_contracts` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_PARTNERS_UPDATE", + "description": "The webhook topic for `tax_partners/update` events. Occurs whenever a tax partner is created or updated. Requires the `read_taxes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_SERVICES_CREATE", + "description": "The webhook topic for `tax_services/create` events. Occurs whenever a tax service is created. Requires the `read_taxes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TAX_SERVICES_UPDATE", + "description": "The webhook topic for `tax_services/update` events. Occurs whenver a tax service is updated. Requires the `read_taxes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "TENDER_TRANSACTIONS_CREATE", + "description": "The webhook topic for `tender_transactions/create` events. Occurs when a tender transaction is created. Requires the `read_orders` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEMES_CREATE", + "description": "The webhook topic for `themes/create` events. Occurs whenever a theme is created. Does not occur when theme files are created. Requires the `read_themes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEMES_DELETE", + "description": "The webhook topic for `themes/delete` events. Occurs whenever a theme is deleted. Does not occur when theme files are deleted. Requires the `read_themes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEMES_PUBLISH", + "description": "The webhook topic for `themes/publish` events. Occurs whenever a theme with the main or mobile (deprecated) role is published. Requires the `read_themes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "THEMES_UPDATE", + "description": "The webhook topic for `themes/update` events. Occurs whenever a theme is updated. Does not occur when theme files are updated. Requires the `read_themes` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANTS_IN_STOCK", + "description": "The webhook topic for `variants/in_stock` events. Occurs whenever a variant becomes in stock. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIANTS_OUT_OF_STOCK", + "description": "The webhook topic for `variants/out_of_stock` events. Occurs whenever a variant becomes out of stock. Requires the `read_products` scope.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "WebhookSubscriptionUpdatePayload", + "description": "Return type for `webhookSubscriptionUpdate` mutation.", + "fields": [ + { + "name": "userErrors", + "description": "The list of errors that occurred from executing the mutation.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UserError", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "webhookSubscription", + "description": "The webhook subscription that was updated.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "WebhookSubscription", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Weight", + "description": "A weight, which includes a numeric value and a unit of measurement.", + "fields": [ + { + "name": "unit", + "description": "The unit of measurement for `value`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WeightUnit", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The weight value using the unit system specified with `unit`.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "WeightInput", + "description": "The input fields for the weight unit and value inputs.", + "fields": null, + "inputFields": [ + { + "name": "unit", + "description": "Unit of measurement for `value`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "WeightUnit", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "value", + "description": "The weight value using the unit system specified with `weight_unit`.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "WeightUnit", + "description": "Units of measurement for weight.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "GRAMS", + "description": "Metric system unit of mass.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "KILOGRAMS", + "description": "1 kilogram equals 1000 grams.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OUNCES", + "description": "Imperial system unit of mass.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POUNDS", + "description": "1 pound equals 16 ounces.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isRepeatable", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Location adjacent to a field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "VARIABLE_DEFINITION", + "description": "Location adjacent to a variable definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultValue", + "description": "A GraphQL-formatted string representing the default value for this input value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directives", + "description": "A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name, description and optional `specifiedByURL`, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "fields": [ + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "specifiedByURL", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false", + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given `__Type` is.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields`, `interfaces`, and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + } + ], + "directives": [ + { + "name": "accessRestricted", + "description": "Marks an element of a GraphQL schema as having restricted access.", + "isRepeatable": false, + "locations": [ + "FIELD_DEFINITION", + "OBJECT" + ], + "args": [ + { + "name": "reason", + "description": "Explains the reason around this restriction", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "null", + "isDeprecated": false, + "deprecationReason": null + } + ] + }, + { + "name": "deprecated", + "description": "Marks an element of a GraphQL schema as no longer supported.", + "isRepeatable": false, + "locations": [ + "ARGUMENT_DEFINITION", + "ENUM_VALUE", + "FIELD_DEFINITION", + "INPUT_FIELD_DEFINITION" + ], + "args": [ + { + "name": "reason", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"No longer supported\"", + "isDeprecated": false, + "deprecationReason": null + } + ] + }, + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", + "isRepeatable": false, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ] + }, + { + "name": "oneOf", + "description": "Requires that exactly one field must be supplied and that field must not be `null`.", + "isRepeatable": false, + "locations": [ + "INPUT_OBJECT" + ], + "args": [] + }, + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", + "isRepeatable": false, + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Skipped when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ] + }, + { + "name": "specifiedBy", + "description": "Exposes a URL that specifies the behavior of this scalar.", + "isRepeatable": false, + "locations": [ + "SCALAR" + ], + "args": [ + { + "name": "url", + "description": "The URL that specifies the behavior of this scalar.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ] + } + ] + } +} \ No newline at end of file diff --git a/app/types/admin.generated.d.ts b/app/types/admin.generated.d.ts new file mode 100644 index 00000000..4b0698f7 --- /dev/null +++ b/app/types/admin.generated.d.ts @@ -0,0 +1,35 @@ +/* eslint-disable eslint-comments/disable-enable-pair */ +/* eslint-disable eslint-comments/no-unlimited-disable */ +/* eslint-disable */ +import type * as AdminTypes from './admin.types'; + +export type PopulateProductMutationVariables = AdminTypes.Exact<{ + product: AdminTypes.ProductCreateInput; +}>; + + +export type PopulateProductMutation = { productCreate?: AdminTypes.Maybe<{ product?: AdminTypes.Maybe<( + Pick + & { variants: { edges: Array<{ node: Pick }> } } + )> }> }; + +export type ShopifyRemixTemplateUpdateVariantMutationVariables = AdminTypes.Exact<{ + productId: AdminTypes.Scalars['ID']['input']; + variants: Array | AdminTypes.ProductVariantsBulkInput; +}>; + + +export type ShopifyRemixTemplateUpdateVariantMutation = { productVariantsBulkUpdate?: AdminTypes.Maybe<{ productVariants?: AdminTypes.Maybe>> }> }; + +interface GeneratedQueryTypes { +} + +interface GeneratedMutationTypes { + "#graphql\n mutation populateProduct($product: ProductCreateInput!) {\n productCreate(product: $product) {\n product {\n id\n title\n handle\n status\n variants(first: 10) {\n edges {\n node {\n id\n price\n barcode\n createdAt\n }\n }\n }\n }\n }\n }": {return: PopulateProductMutation, variables: PopulateProductMutationVariables}, + "#graphql\n mutation shopifyRemixTemplateUpdateVariant($productId: ID!, $variants: [ProductVariantsBulkInput!]!) {\n productVariantsBulkUpdate(productId: $productId, variants: $variants) {\n productVariants {\n id\n price\n barcode\n createdAt\n }\n }\n }": {return: ShopifyRemixTemplateUpdateVariantMutation, variables: ShopifyRemixTemplateUpdateVariantMutationVariables}, +} +declare module '@shopify/admin-api-client' { + type InputMaybe = AdminTypes.InputMaybe; + interface AdminQueries extends GeneratedQueryTypes {} + interface AdminMutations extends GeneratedMutationTypes {} +} diff --git a/app/types/admin.types.d.ts b/app/types/admin.types.d.ts new file mode 100644 index 00000000..864b2ebd --- /dev/null +++ b/app/types/admin.types.d.ts @@ -0,0 +1,56438 @@ +export type Maybe = T | null; +export type InputMaybe = Maybe; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type MakeEmpty = { [_ in K]?: never }; +export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never }; +/** All built-in and custom scalars, mapped to their actual values */ +export type Scalars = { + ID: { input: string; output: string; } + String: { input: string; output: string; } + Boolean: { input: boolean; output: boolean; } + Int: { input: number; output: number; } + Float: { input: number; output: number; } + ARN: { input: any; output: any; } + BigInt: { input: any; output: any; } + Color: { input: any; output: any; } + Date: { input: any; output: any; } + DateTime: { input: any; output: any; } + Decimal: { input: any; output: any; } + FormattedString: { input: any; output: any; } + HTML: { input: any; output: any; } + JSON: { input: any; output: any; } + Money: { input: any; output: any; } + StorefrontID: { input: any; output: any; } + URL: { input: any; output: any; } + UnsignedInt64: { input: any; output: any; } + UtcOffset: { input: any; output: any; } +}; + +/** A checkout that was abandoned by the customer. */ +export type AbandonedCheckout = Navigable & Node & { + __typename?: 'AbandonedCheckout'; + /** The URL for the buyer to recover their checkout. */ + abandonedCheckoutUrl: Scalars['URL']['output']; + /** + * The billing address provided by the buyer. + * Null if the user did not provide a billing address. + */ + billingAddress?: Maybe; + /** + * The date and time when the buyer completed the checkout. + * Null if the checkout has not been completed. + */ + completedAt?: Maybe; + /** The date and time when the checkout was created. */ + createdAt: Scalars['DateTime']['output']; + /** A list of extra information that has been added to the checkout. */ + customAttributes: Array; + /** + * The customer who created this checkout. + * May be null if the checkout was created from a draft order or via an app. + */ + customer?: Maybe; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** The discount codes entered by the buyer at checkout. */ + discountCodes: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** A list of the line items in this checkout. */ + lineItems: AbandonedCheckoutLineItemConnection; + /** + * The number of products in the checkout. + * @deprecated Use [AbandonedCheckoutLineItem.quantity](https://shopify.dev/api/admin-graphql/unstable/objects/AbandonedCheckoutLineItem#field-quantity) instead. + */ + lineItemsQuantity: Scalars['Int']['output']; + /** Unique merchant-facing identifier for the checkout. */ + name: Scalars['String']['output']; + /** A merchant-facing note added to the checkout. Not visible to the buyer. */ + note: Scalars['String']['output']; + /** + * The shipping address to where the line items will be shipped. + * Null if the user did not provide a shipping address. + */ + shippingAddress?: Maybe; + /** The sum of all items in the checkout, including discounts but excluding shipping, taxes and tips. */ + subtotalPriceSet: MoneyBag; + /** Individual taxes charged on the checkout. */ + taxLines: Array; + /** Whether taxes are included in line item and shipping line prices. */ + taxesIncluded: Scalars['Boolean']['output']; + /** The total amount of discounts to be applied. */ + totalDiscountSet: MoneyBag; + /** The total duties applied to the checkout. */ + totalDutiesSet?: Maybe; + /** The sum of the prices of all line items in the checkout. */ + totalLineItemsPriceSet: MoneyBag; + /** The sum of all items in the checkout, including discounts, shipping, taxes, and tips. */ + totalPriceSet: MoneyBag; + /** The total tax applied to the checkout. */ + totalTaxSet?: Maybe; + /** The date and time when the checkout was most recently updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** A checkout that was abandoned by the customer. */ +export type AbandonedCheckoutLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple AbandonedCheckouts. */ +export type AbandonedCheckoutConnection = { + __typename?: 'AbandonedCheckoutConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AbandonedCheckoutEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one AbandonedCheckout and a cursor during pagination. */ +export type AbandonedCheckoutEdge = { + __typename?: 'AbandonedCheckoutEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AbandonedCheckoutEdge. */ + node: AbandonedCheckout; +}; + +/** A single line item in an abandoned checkout. */ +export type AbandonedCheckoutLineItem = Node & { + __typename?: 'AbandonedCheckoutLineItem'; + /** A list of extra information that has been added to the line item. */ + customAttributes: Array; + /** Discount allocations that have been applied on the line item. */ + discountAllocations: DiscountAllocationConnection; + /** Final total price for the entire quantity of this line item, including discounts. */ + discountedTotalPriceSet: MoneyBag; + /** The total price for the entire quantity of this line item, after all discounts are applied, at both the line item and code-based line item level. */ + discountedTotalPriceWithCodeDiscount: MoneyBag; + /** The price of a single variant unit after discounts are applied at the line item level, in shop and presentment currencies. */ + discountedUnitPriceSet: MoneyBag; + /** The price of a single variant unit after all discounts are applied, at both the line item and code-based line item level. */ + discountedUnitPriceWithCodeDiscount: MoneyBag; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The image associated with the line item's variant or product. + * NULL if the line item has no product, or if neither the variant nor the product have an image. + */ + image?: Maybe; + /** Original total price for the entire quantity of this line item, before discounts. */ + originalTotalPriceSet: MoneyBag; + /** Original price for a single unit of this line item, before discounts. */ + originalUnitPriceSet: MoneyBag; + /** + * Product for this line item. + * NULL for custom line items and products that were deleted after checkout began. + */ + product?: Maybe; + /** The quantity of the line item. */ + quantity: Scalars['Int']['output']; + /** SKU for the inventory item associated with the variant, if any. */ + sku?: Maybe; + /** Title of the line item. Defaults to the product's title. */ + title?: Maybe; + /** + * Product variant for this line item. + * NULL for custom line items and variants that were deleted after checkout began. + */ + variant?: Maybe; + /** + * Title of the variant for this line item. + * NULL for custom line items and products that don't have distinct variants. + */ + variantTitle?: Maybe; +}; + + +/** A single line item in an abandoned checkout. */ +export type AbandonedCheckoutLineItemDiscountAllocationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple AbandonedCheckoutLineItems. */ +export type AbandonedCheckoutLineItemConnection = { + __typename?: 'AbandonedCheckoutLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AbandonedCheckoutLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one AbandonedCheckoutLineItem and a cursor during pagination. */ +export type AbandonedCheckoutLineItemEdge = { + __typename?: 'AbandonedCheckoutLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AbandonedCheckoutLineItemEdge. */ + node: AbandonedCheckoutLineItem; +}; + +/** The set of valid sort keys for the AbandonedCartGraphQL query. */ +export enum AbandonedCheckoutSortKeys { + /** Sort by the `checkout_id` value. */ + CheckoutId = 'CHECKOUT_ID', + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `customer_name` value. */ + CustomerName = 'CUSTOMER_NAME', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `total_price` value. */ + TotalPrice = 'TOTAL_PRICE' +} + +/** A browse, cart, or checkout that was abandoned by a customer. */ +export type Abandonment = Node & { + __typename?: 'Abandonment'; + /** The abandonment payload for the abandoned checkout. */ + abandonedCheckoutPayload?: Maybe; + /** The abandonment type. */ + abandonmentType: AbandonmentAbandonmentType; + /** The app associated with an abandoned checkout. */ + app: App; + /** Permalink to the cart page. */ + cartUrl?: Maybe; + /** The date and time when the abandonment was created. */ + createdAt: Scalars['DateTime']['output']; + /** The customer who abandoned this event. */ + customer: Customer; + /** Whether the customer has a draft order since this abandonment has been abandoned. */ + customerHasNoDraftOrderSinceAbandonment: Scalars['Boolean']['output']; + /** Whether the customer has completed an order since this checkout has been abandoned. */ + customerHasNoOrderSinceAbandonment: Scalars['Boolean']['output']; + /** The number of days since the last abandonment email was sent to the customer. */ + daysSinceLastAbandonmentEmail: Scalars['Int']['output']; + /** When the email was sent, if that's the case. */ + emailSentAt?: Maybe; + /** The email state (e.g., sent or not sent). */ + emailState?: Maybe; + /** The number of hours since the customer has last abandoned a checkout. */ + hoursSinceLastAbandonedCheckout?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the products in abandonment are available. */ + inventoryAvailable: Scalars['Boolean']['output']; + /** Whether the abandonment event comes from a custom storefront channel. */ + isFromCustomStorefront: Scalars['Boolean']['output']; + /** Whether the abandonment event comes from the Online Store sales channel. */ + isFromOnlineStore: Scalars['Boolean']['output']; + /** Whether the abandonment event comes from the Shop app sales channel. */ + isFromShopApp: Scalars['Boolean']['output']; + /** Whether the abandonment event comes from Shop Pay. */ + isFromShopPay: Scalars['Boolean']['output']; + /** Whether the customer didn't complete another most significant step since this abandonment. */ + isMostSignificantAbandonment: Scalars['Boolean']['output']; + /** The date for the latest browse abandonment. */ + lastBrowseAbandonmentDate: Scalars['DateTime']['output']; + /** The date for the latest cart abandonment. */ + lastCartAbandonmentDate: Scalars['DateTime']['output']; + /** The date for the latest checkout abandonment. */ + lastCheckoutAbandonmentDate: Scalars['DateTime']['output']; + /** The most recent step type. */ + mostRecentStep: AbandonmentAbandonmentType; + /** The products added to the cart during the customer abandoned visit. */ + productsAddedToCart: CustomerVisitProductInfoConnection; + /** The products viewed during the customer abandoned visit. */ + productsViewed: CustomerVisitProductInfoConnection; + /** The date and time when the visit started. */ + visitStartedAt?: Maybe; +}; + + +/** A browse, cart, or checkout that was abandoned by a customer. */ +export type AbandonmentProductsAddedToCartArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A browse, cart, or checkout that was abandoned by a customer. */ +export type AbandonmentProductsViewedArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Specifies the abandonment type. */ +export enum AbandonmentAbandonmentType { + /** The abandonment event is an abandoned browse. */ + Browse = 'BROWSE', + /** The abandonment event is an abandoned cart. */ + Cart = 'CART', + /** The abandonment event is an abandoned checkout. */ + Checkout = 'CHECKOUT' +} + +/** Specifies the delivery state of a marketing activity. */ +export enum AbandonmentDeliveryState { + /** The marketing activity action has not yet been sent. */ + NotSent = 'NOT_SENT', + /** The marketing activity action has been scheduled for later delivery. */ + Scheduled = 'SCHEDULED', + /** The marketing activity action has been sent. */ + Sent = 'SENT' +} + +/** Specifies the email state. */ +export enum AbandonmentEmailState { + /** The email has not yet been sent. */ + NotSent = 'NOT_SENT', + /** The email has been scheduled for later delivery. */ + Scheduled = 'SCHEDULED', + /** The email has been sent. */ + Sent = 'SENT' +} + +/** Return type for `abandonmentEmailStateUpdate` mutation. */ +export type AbandonmentEmailStateUpdatePayload = { + __typename?: 'AbandonmentEmailStateUpdatePayload'; + /** The updated abandonment. */ + abandonment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `AbandonmentEmailStateUpdate`. */ +export type AbandonmentEmailStateUpdateUserError = DisplayableError & { + __typename?: 'AbandonmentEmailStateUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `AbandonmentEmailStateUpdateUserError`. */ +export enum AbandonmentEmailStateUpdateUserErrorCode { + /** Unable to find an Abandonment for the provided ID. */ + AbandonmentNotFound = 'ABANDONMENT_NOT_FOUND' +} + +/** Return type for `abandonmentUpdateActivitiesDeliveryStatuses` mutation. */ +export type AbandonmentUpdateActivitiesDeliveryStatusesPayload = { + __typename?: 'AbandonmentUpdateActivitiesDeliveryStatusesPayload'; + /** The updated abandonment. */ + abandonment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `AbandonmentUpdateActivitiesDeliveryStatuses`. */ +export type AbandonmentUpdateActivitiesDeliveryStatusesUserError = DisplayableError & { + __typename?: 'AbandonmentUpdateActivitiesDeliveryStatusesUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `AbandonmentUpdateActivitiesDeliveryStatusesUserError`. */ +export enum AbandonmentUpdateActivitiesDeliveryStatusesUserErrorCode { + /** Unable to find an Abandonment for the provided ID. */ + AbandonmentNotFound = 'ABANDONMENT_NOT_FOUND', + /** Unable to find delivery status info for the provided ID. */ + DeliveryStatusInfoNotFound = 'DELIVERY_STATUS_INFO_NOT_FOUND', + /** Unable to find a marketing activity for the provided ID. */ + MarketingActivityNotFound = 'MARKETING_ACTIVITY_NOT_FOUND' +} + +/** The permission required to access a Shopify Admin API or Storefront API resource for a shop. Merchants grant access scopes that are requested by applications. */ +export type AccessScope = { + __typename?: 'AccessScope'; + /** A description of the actions that the access scope allows an app to perform. */ + description: Scalars['String']['output']; + /** A readable string that represents the access scope. The string usually follows the format `{action}_{resource}`. `{action}` is `read` or `write`, and `{resource}` is the resource that the action can be performed on. `{action}` and `{resource}` are separated by an underscore. For example, `read_orders` or `write_products`. */ + handle: Scalars['String']['output']; +}; + +/** Possible account types that a staff member can have. */ +export enum AccountType { + /** The account of a partner who collaborates with the merchant. */ + Collaborator = 'COLLABORATOR', + /** The account of a partner collaborator team member. */ + CollaboratorTeamMember = 'COLLABORATOR_TEAM_MEMBER', + /** The user has not yet accepted the invitation to create an account. */ + Invited = 'INVITED', + /** The user has not yet accepted the invitation to become the store owner. */ + InvitedStoreOwner = 'INVITED_STORE_OWNER', + /** The account can access the Shopify admin. */ + Regular = 'REGULAR', + /** The admin has not yet accepted the request to create a collaborator account. */ + Requested = 'REQUESTED', + /** The account cannot access the Shopify admin. */ + Restricted = 'RESTRICTED', + /** The account can be signed into via a SAML provider. */ + Saml = 'SAML' +} + +/** Represents an operation publishing all products to a publication. */ +export type AddAllProductsOperation = Node & ResourceOperation & { + __typename?: 'AddAllProductsOperation'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The count of processed rows, summing imported, failed, and skipped rows. */ + processedRowCount?: Maybe; + /** Represents a rows objects within this background operation. */ + rowCount?: Maybe; + /** The status of this operation. */ + status: ResourceOperationStatus; +}; + +/** The additional fees that have been applied to the order. */ +export type AdditionalFee = Node & { + __typename?: 'AdditionalFee'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the additional fee. */ + name: Scalars['String']['output']; + /** The price of the additional fee. */ + price: MoneyBag; + /** A list of taxes charged on the additional fee. */ + taxLines: Array; +}; + +/** A sale associated with an additional fee charge. */ +export type AdditionalFeeSale = Sale & { + __typename?: 'AdditionalFeeSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The additional fees for the associated sale. */ + additionalFee: SaleAdditionalFee; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** A sale associated with an order price adjustment. */ +export type AdjustmentSale = Sale & { + __typename?: 'AdjustmentSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** The set of valid sort keys for the Adjustments query. */ +export enum AdjustmentsSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `time` value. */ + Time = 'TIME' +} + +/** Targets all items the cart for a specified discount. */ +export type AllDiscountItems = { + __typename?: 'AllDiscountItems'; + /** Whether all items are eligible for the discount. This value always returns `true`. */ + allItems: Scalars['Boolean']['output']; +}; + +/** The Android mobile platform application. */ +export type AndroidApplication = { + __typename?: 'AndroidApplication'; + /** Whether Android App Links are supported by this app. */ + appLinksEnabled: Scalars['Boolean']['output']; + /** The Android application ID. */ + applicationId?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The SHA256 fingerprints of the app's signing certificate. */ + sha256CertFingerprints: Array; +}; + +/** + * A version of the API, as defined by [Shopify API versioning](https://shopify.dev/api/usage/versioning). + * Versions are commonly referred to by their handle (for example, `2021-10`). + */ +export type ApiVersion = { + __typename?: 'ApiVersion'; + /** The human-readable name of the version. */ + displayName: Scalars['String']['output']; + /** The unique identifier of an ApiVersion. All supported API versions have a date-based (YYYY-MM) or `unstable` handle. */ + handle: Scalars['String']['output']; + /** Whether the version is actively supported by Shopify. Supported API versions are guaranteed to be stable. Unsupported API versions include unstable, release candidate, and end-of-life versions that are marked as unsupported. For more information, refer to [Versioning](https://shopify.dev/api/usage/versioning). */ + supported: Scalars['Boolean']['output']; +}; + +/** A Shopify application. */ +export type App = Node & { + __typename?: 'App'; + /** A unique application API identifier. */ + apiKey: Scalars['String']['output']; + /** App store page URL of the app. */ + appStoreAppUrl?: Maybe; + /** App store page URL of the developer who created the app. */ + appStoreDeveloperUrl?: Maybe; + /** All requestable access scopes available to the app. */ + availableAccessScopes: Array; + /** Banner image for the app. */ + banner: Image; + /** Description of the app. */ + description?: Maybe; + /** The name of the app developer. */ + developerName?: Maybe; + /** The type of app developer. */ + developerType: AppDeveloperType; + /** + * Website of the developer who created the app. + * @deprecated Use `appStoreDeveloperUrl` instead. + */ + developerUrl: Scalars['URL']['output']; + /** Whether the app uses the Embedded App SDK. */ + embedded: Scalars['Boolean']['output']; + /** Requirements that must be met before the app can be installed. */ + failedRequirements: Array; + /** A list of app features that are shown in the Shopify App Store listing. */ + features: Array; + /** Feedback from this app about the store. */ + feedback?: Maybe; + /** Handle of the app. */ + handle?: Maybe; + /** Icon that represents the app. */ + icon: Image; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Webpage where you can install the app. */ + installUrl?: Maybe; + /** + * Corresponding AppInstallation for this shop and App. + * Returns null if the App is not installed. + */ + installation?: Maybe; + /** Whether the app is the [post purchase](https://shopify.dev/apps/checkout/post-purchase) app in use. */ + isPostPurchaseAppInUse: Scalars['Boolean']['output']; + /** + * Webpage that the app starts in. + * @deprecated Use AppInstallation.launchUrl instead + */ + launchUrl: Scalars['URL']['output']; + /** + * Menu items for the app, which also appear as submenu items in left navigation sidebar in the Shopify admin. + * @deprecated Use AppInstallation.navigationItems instead + */ + navigationItems: Array; + /** The optional scopes requested by the app. Lists the optional access scopes the app has declared in its configuration. These scopes are optionally requested by the app after installation. */ + optionalAccessScopes: Array; + /** Whether the app was previously installed on the current shop. */ + previouslyInstalled: Scalars['Boolean']['output']; + /** Detailed information about the app pricing. */ + pricingDetails?: Maybe; + /** Summary of the app pricing details. */ + pricingDetailsSummary: Scalars['String']['output']; + /** Link to app privacy policy. */ + privacyPolicyUrl?: Maybe; + /** The public category for the app. */ + publicCategory: AppPublicCategory; + /** Whether the app is published to the Shopify App Store. */ + published: Scalars['Boolean']['output']; + /** The access scopes requested by the app. Lists the access scopes the app has declared in its configuration. Merchant must grant approval to these scopes for the app to be installed. */ + requestedAccessScopes: Array; + /** Screenshots of the app. */ + screenshots: Array; + /** Whether the app was developed by Shopify. */ + shopifyDeveloped: Scalars['Boolean']['output']; + /** Name of the app. */ + title: Scalars['String']['output']; + /** + * Message that appears when the app is uninstalled. For example: + * By removing this app, you will no longer be able to publish products to MySocialSite or view this app in your Shopify admin. You can re-enable this channel at any time. + */ + uninstallMessage: Scalars['String']['output']; + /** + * Webpage where you can uninstall the app. + * @deprecated Use AppInstallation.uninstallUrl instead + */ + uninstallUrl?: Maybe; + /** The webhook API version for the app. */ + webhookApiVersion: Scalars['String']['output']; +}; + +/** A catalog that defines the publication associated with an app. */ +export type AppCatalog = Catalog & Node & { + __typename?: 'AppCatalog'; + /** The apps associated with the catalog. */ + apps: AppConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Most recent catalog operations. */ + operations: Array; + /** The price list associated with the catalog. */ + priceList?: Maybe; + /** A group of products and collections that's published to a catalog. */ + publication?: Maybe; + /** The status of the catalog. */ + status: CatalogStatus; + /** The name of the catalog. */ + title: Scalars['String']['output']; +}; + + +/** A catalog that defines the publication associated with an app. */ +export type AppCatalogAppsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Apps. */ +export type AppConnection = { + __typename?: 'AppConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AppEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** App credits can be applied by the merchant towards future app purchases, subscriptions, or usage records in Shopify. */ +export type AppCredit = Node & { + __typename?: 'AppCredit'; + /** The amount that can be used towards future app purchases in Shopify. */ + amount: MoneyV2; + /** The date and time when the app credit was created. */ + createdAt: Scalars['DateTime']['output']; + /** The description of the app credit. */ + description: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the app credit is a test transaction. */ + test: Scalars['Boolean']['output']; +}; + +/** An auto-generated type for paginating through multiple AppCredits. */ +export type AppCreditConnection = { + __typename?: 'AppCreditConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AppCreditEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one AppCredit and a cursor during pagination. */ +export type AppCreditEdge = { + __typename?: 'AppCreditEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AppCreditEdge. */ + node: AppCredit; +}; + +/** Possible types of app developer. */ +export enum AppDeveloperType { + /** Indicates the app developer works directly for a Merchant. */ + Merchant = 'MERCHANT', + /** Indicates the app developer is a Partner. */ + Partner = 'PARTNER', + /** Indicates the app developer is Shopify. */ + Shopify = 'SHOPIFY', + /** Indicates the app developer is unknown. It is not categorized as any of the other developer types. */ + Unknown = 'UNKNOWN' +} + +/** A script that defines a discount type. */ +export type AppDiscountType = { + __typename?: 'AppDiscountType'; + /** The app providing the app discount type. */ + app: App; + /** The App Bridge details for discount type configuration. */ + appBridge: FunctionsAppBridge; + /** The client ID of the app providing the app discount type. */ + appKey: Scalars['String']['output']; + /** A description of the app discount type. */ + description?: Maybe; + /** The class of the app discount type. */ + discountClass: DiscountClass; + /** The ID of the function providing the app discount type. */ + functionId: Scalars['String']['output']; + /** The target type of the app discount type. Possible values: `SHIPPING_LINE` and `LINE_ITEM`. */ + targetType: DiscountApplicationTargetType; + /** The title of the app discount type. */ + title: Scalars['String']['output']; +}; + +/** An auto-generated type which holds one App and a cursor during pagination. */ +export type AppEdge = { + __typename?: 'AppEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AppEdge. */ + node: App; +}; + +/** + * Reports the status of shops and their resources and displays this information + * within Shopify admin. AppFeedback is used to notify merchants about steps they need to take + * to set up an app on their store. + */ +export type AppFeedback = { + __typename?: 'AppFeedback'; + /** The application associated to the feedback. */ + app: App; + /** The date and time when the app feedback was generated. */ + feedbackGeneratedAt: Scalars['DateTime']['output']; + /** A link to where merchants can resolve errors. */ + link?: Maybe; + /** The feedback message presented to the merchant. */ + messages: Array; + /** Conveys the state of the feedback and whether it requires merchant action or not. */ + state: ResourceFeedbackState; +}; + +/** Represents an installed application on a shop. */ +export type AppInstallation = HasMetafields & Node & { + __typename?: 'AppInstallation'; + /** The access scopes granted to the application by a merchant during installation. */ + accessScopes: Array; + /** The active application subscriptions billed to the shop on a recurring basis. */ + activeSubscriptions: Array; + /** All subscriptions created for a shop. */ + allSubscriptions: AppSubscriptionConnection; + /** Application which is installed. */ + app: App; + /** + * Channel associated with the installed application. + * @deprecated Use `publication` instead. + */ + channel?: Maybe; + /** Credits that can be used towards future app purchases. */ + credits: AppCreditConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The URL to launch the application. */ + launchUrl: Scalars['URL']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** One-time purchases to a shop. */ + oneTimePurchases: AppPurchaseOneTimeConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The publication associated with the installed application. */ + publication?: Maybe; + /** The records that track the externally-captured revenue for the app. The records are used for revenue attribution purposes. */ + revenueAttributionRecords: AppRevenueAttributionRecordConnection; + /** + * Subscriptions charge to a shop on a recurring basis. + * @deprecated Use `activeSubscriptions` instead. + */ + subscriptions: Array; + /** The URL to uninstall the application. */ + uninstallUrl?: Maybe; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationAllSubscriptionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationCreditsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationOneTimePurchasesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents an installed application on a shop. */ +export type AppInstallationRevenueAttributionRecordsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** + * The possible categories of an app installation, based on their purpose + * or the environment they can run in. + */ +export enum AppInstallationCategory { + /** Apps that serve as channels through which sales are made, such as the online store. */ + Channel = 'CHANNEL', + /** Apps that can be used in the POS mobile client. */ + PosEmbedded = 'POS_EMBEDDED' +} + +/** An auto-generated type for paginating through multiple AppInstallations. */ +export type AppInstallationConnection = { + __typename?: 'AppInstallationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AppInstallationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one AppInstallation and a cursor during pagination. */ +export type AppInstallationEdge = { + __typename?: 'AppInstallationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AppInstallationEdge. */ + node: AppInstallation; +}; + +/** The levels of privacy of an app installation. */ +export enum AppInstallationPrivacy { + Private = 'PRIVATE', + Public = 'PUBLIC' +} + +/** The set of valid sort keys for the AppInstallation query. */ +export enum AppInstallationSortKeys { + /** Sort by the `app_title` value. */ + AppTitle = 'APP_TITLE', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `installed_at` value. */ + InstalledAt = 'INSTALLED_AT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** + * The pricing model for the app subscription. + * The pricing model input can be either `appRecurringPricingDetails` or `appUsagePricingDetails`. + */ +export type AppPlanInput = { + /** The pricing details for recurring billing. */ + appRecurringPricingDetails?: InputMaybe; + /** The pricing details for usage-based billing. */ + appUsagePricingDetails?: InputMaybe; +}; + +/** The app plan that the merchant is subscribed to. */ +export type AppPlanV2 = { + __typename?: 'AppPlanV2'; + /** The plan billed to a shop on a recurring basis. */ + pricingDetails: AppPricingDetails; +}; + +/** + * The information about the price that's charged to a shop every plan period. + * The concrete type can be `AppRecurringPricing` for recurring billing or `AppUsagePricing` for usage-based billing. + */ +export type AppPricingDetails = AppRecurringPricing | AppUsagePricing; + +/** The frequency at which the shop is billed for an app subscription. */ +export enum AppPricingInterval { + /** The app subscription bills the shop annually. */ + Annual = 'ANNUAL', + /** The app subscription bills the shop every 30 days. */ + Every_30Days = 'EVERY_30_DAYS' +} + +/** The public-facing category for an app. */ +export enum AppPublicCategory { + /** The app's public category is [custom](https://shopify.dev/apps/distribution#capabilities-and-requirements). */ + Custom = 'CUSTOM', + /** The app's public category is other. An app is in this category if it's not classified under any of the other app types (private, public, or custom). */ + Other = 'OTHER', + /** The app's public category is [private](https://shopify.dev/apps/distribution#deprecated-app-types). */ + Private = 'PRIVATE', + /** The app's public category is [public](https://shopify.dev/apps/distribution#capabilities-and-requirements). */ + Public = 'PUBLIC' +} + +/** Services and features purchased once by the store. */ +export type AppPurchase = { + /** The date and time when the app purchase occurred. */ + createdAt: Scalars['DateTime']['output']; + /** The name of the app purchase. */ + name: Scalars['String']['output']; + /** The amount to be charged to the store for the app purchase. */ + price: MoneyV2; + /** The status of the app purchase. */ + status: AppPurchaseStatus; + /** Whether the app purchase is a test transaction. */ + test: Scalars['Boolean']['output']; +}; + +/** Services and features purchased once by a store. */ +export type AppPurchaseOneTime = AppPurchase & Node & { + __typename?: 'AppPurchaseOneTime'; + /** The date and time when the app purchase occurred. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the app purchase. */ + name: Scalars['String']['output']; + /** The amount to be charged to the store for the app purchase. */ + price: MoneyV2; + /** The status of the app purchase. */ + status: AppPurchaseStatus; + /** Whether the app purchase is a test transaction. */ + test: Scalars['Boolean']['output']; +}; + +/** An auto-generated type for paginating through multiple AppPurchaseOneTimes. */ +export type AppPurchaseOneTimeConnection = { + __typename?: 'AppPurchaseOneTimeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AppPurchaseOneTimeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `appPurchaseOneTimeCreate` mutation. */ +export type AppPurchaseOneTimeCreatePayload = { + __typename?: 'AppPurchaseOneTimeCreatePayload'; + /** The newly created app one-time purchase. */ + appPurchaseOneTime?: Maybe; + /** + * The URL that the merchant can access to approve or decline the newly created app one-time purchase. + * + * If the merchant declines, then the merchant is redirected to the app and receives a notification message stating that the charge was declined. + * If the merchant approves and they're successfully invoiced, then the state of the charge changes from `pending` to `active`. + * + * You get paid after the charge is activated. + */ + confirmationUrl?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one AppPurchaseOneTime and a cursor during pagination. */ +export type AppPurchaseOneTimeEdge = { + __typename?: 'AppPurchaseOneTimeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AppPurchaseOneTimeEdge. */ + node: AppPurchaseOneTime; +}; + +/** + * The approval status of the app purchase. + * + * The merchant is charged for the purchase immediately after approval, and the status changes to `active`. + * If the payment fails, then the app purchase remains `pending`. + * + * Purchases start as `pending` and can change to: `active`, `declined`, `expired`. After a purchase changes, it + * remains in that final state. + */ +export enum AppPurchaseStatus { + /** + * The app purchase has been approved by the merchant and is ready to be activated by the app. App purchases created through the GraphQL Admin API are activated upon approval. + * @deprecated As of API version 2021-01, when a merchant accepts an app purchase, the status immediately changes from `pending` to `active`. + */ + Accepted = 'ACCEPTED', + /** The app purchase was approved by the merchant and has been activated by the app. Active app purchases are charged to the merchant and are paid out to the partner. */ + Active = 'ACTIVE', + /** The app purchase was declined by the merchant. */ + Declined = 'DECLINED', + /** The app purchase was not accepted within two days of being created. */ + Expired = 'EXPIRED', + /** The app purchase is pending approval by the merchant. */ + Pending = 'PENDING' +} + +/** + * The pricing information about a subscription app. + * The object contains an interval (the frequency at which the shop is billed for an app subscription) and + * a price (the amount to be charged to the subscribing shop at each interval). + */ +export type AppRecurringPricing = { + __typename?: 'AppRecurringPricing'; + /** The discount applied to the subscription for a given number of billing intervals. */ + discount?: Maybe; + /** The frequency at which the subscribing shop is billed for an app subscription. */ + interval: AppPricingInterval; + /** The amount and currency to be charged to the subscribing shop every billing interval. */ + price: MoneyV2; +}; + +/** Instructs the app subscription to generate a fixed charge on a recurring basis. The frequency is specified by the billing interval. */ +export type AppRecurringPricingInput = { + /** The discount applied to the subscription for a given number of billing intervals. */ + discount?: InputMaybe; + /** How often the app subscription generates a charge. */ + interval?: InputMaybe; + /** The amount to be charged to the store every billing interval. */ + price: MoneyInput; +}; + +/** Represents app revenue that was captured externally by the partner. */ +export type AppRevenueAttributionRecord = Node & { + __typename?: 'AppRevenueAttributionRecord'; + /** The financial amount captured in this attribution. */ + amount: MoneyV2; + /** The timestamp when the financial amount was captured. */ + capturedAt: Scalars['DateTime']['output']; + /** The timestamp at which this revenue attribution was issued. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The unique value submitted during the creation of the app revenue attribution record. + * For more information, refer to + * [Idempotent requests](https://shopify.dev/api/usage/idempotent-requests). + */ + idempotencyKey: Scalars['String']['output']; + /** Indicates whether this is a test submission. */ + test: Scalars['Boolean']['output']; + /** The type of revenue attribution. */ + type: AppRevenueAttributionType; +}; + +/** An auto-generated type for paginating through multiple AppRevenueAttributionRecords. */ +export type AppRevenueAttributionRecordConnection = { + __typename?: 'AppRevenueAttributionRecordConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AppRevenueAttributionRecordEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one AppRevenueAttributionRecord and a cursor during pagination. */ +export type AppRevenueAttributionRecordEdge = { + __typename?: 'AppRevenueAttributionRecordEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AppRevenueAttributionRecordEdge. */ + node: AppRevenueAttributionRecord; +}; + +/** The set of valid sort keys for the AppRevenueAttributionRecord query. */ +export enum AppRevenueAttributionRecordSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** Represents the billing types of revenue attribution. */ +export enum AppRevenueAttributionType { + /** App purchase related revenue collection. */ + ApplicationPurchase = 'APPLICATION_PURCHASE', + /** App subscription revenue collection. */ + ApplicationSubscription = 'APPLICATION_SUBSCRIPTION', + /** App usage-based revenue collection. */ + ApplicationUsage = 'APPLICATION_USAGE', + /** Other app revenue collection type. */ + Other = 'OTHER' +} + +/** Represents an error that happens while revoking a granted scope. */ +export type AppRevokeAccessScopesAppRevokeScopeError = DisplayableError & { + __typename?: 'AppRevokeAccessScopesAppRevokeScopeError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `AppRevokeAccessScopesAppRevokeScopeError`. */ +export enum AppRevokeAccessScopesAppRevokeScopeErrorCode { + /** The application cannot be found. */ + ApplicationCannotBeFound = 'APPLICATION_CANNOT_BE_FOUND', + /** App is not installed on shop. */ + AppNotInstalled = 'APP_NOT_INSTALLED', + /** Already granted implied scopes cannot be revoked. */ + CannotRevokeImpliedScopes = 'CANNOT_REVOKE_IMPLIED_SCOPES', + /** Required scopes cannot be revoked. */ + CannotRevokeRequiredScopes = 'CANNOT_REVOKE_REQUIRED_SCOPES', + /** Cannot revoke optional scopes that haven't been declared. */ + CannotRevokeUndeclaredScopes = 'CANNOT_REVOKE_UNDECLARED_SCOPES', + /** No app found on the access token. */ + MissingSourceApp = 'MISSING_SOURCE_APP', + /** The requested list of scopes to revoke includes invalid handles. */ + UnknownScopes = 'UNKNOWN_SCOPES' +} + +/** Return type for `appRevokeAccessScopes` mutation. */ +export type AppRevokeAccessScopesPayload = { + __typename?: 'AppRevokeAccessScopesPayload'; + /** The list of scope handles that have been revoked. */ + revoked?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Provides users access to services and/or features for a duration of time. */ +export type AppSubscription = Node & { + __typename?: 'AppSubscription'; + /** The date and time when the app subscription was created. */ + createdAt: Scalars['DateTime']['output']; + /** The date and time when the current app subscription period ends. Returns `null` if the subscription isn't active. */ + currentPeriodEnd?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The plans attached to the app subscription. */ + lineItems: Array; + /** The name of the app subscription. */ + name: Scalars['String']['output']; + /** The URL that the merchant is redirected to after approving the app subscription. */ + returnUrl: Scalars['URL']['output']; + /** The status of the app subscription. */ + status: AppSubscriptionStatus; + /** Specifies whether the app subscription is a test transaction. */ + test: Scalars['Boolean']['output']; + /** The number of free trial days, starting at the subscription's creation date, by which billing is delayed. */ + trialDays: Scalars['Int']['output']; +}; + +/** Return type for `appSubscriptionCancel` mutation. */ +export type AppSubscriptionCancelPayload = { + __typename?: 'AppSubscriptionCancelPayload'; + /** The cancelled app subscription. */ + appSubscription?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple AppSubscriptions. */ +export type AppSubscriptionConnection = { + __typename?: 'AppSubscriptionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AppSubscriptionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `appSubscriptionCreate` mutation. */ +export type AppSubscriptionCreatePayload = { + __typename?: 'AppSubscriptionCreatePayload'; + /** The newly-created app subscription. */ + appSubscription?: Maybe; + /** The URL pointing to the page where the merchant approves or declines the charges for an app subscription. */ + confirmationUrl?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Discount applied to the recurring pricing portion of a subscription. */ +export type AppSubscriptionDiscount = { + __typename?: 'AppSubscriptionDiscount'; + /** + * The total number of billing intervals to which the discount will be applied. + * The discount will be applied to an indefinite number of billing intervals if this value is blank. + */ + durationLimitInIntervals?: Maybe; + /** The price of the subscription after the discount is applied. */ + priceAfterDiscount: MoneyV2; + /** The remaining number of billing intervals to which the discount will be applied. */ + remainingDurationInIntervals?: Maybe; + /** The value of the discount applied every billing interval. */ + value: AppSubscriptionDiscountValue; +}; + +/** The fixed amount value of a discount. */ +export type AppSubscriptionDiscountAmount = { + __typename?: 'AppSubscriptionDiscountAmount'; + /** The fixed amount value of a discount. */ + amount: MoneyV2; +}; + +/** The input fields to specify a discount to the recurring pricing portion of a subscription over a number of billing intervals. */ +export type AppSubscriptionDiscountInput = { + /** + * The total number of billing intervals to which the discount will be applied. Must be greater than 0. + * The discount will be applied to an indefinite number of billing intervals if this value is left blank. + */ + durationLimitInIntervals?: InputMaybe; + /** The value to be discounted every billing interval. */ + value?: InputMaybe; +}; + +/** The percentage value of a discount. */ +export type AppSubscriptionDiscountPercentage = { + __typename?: 'AppSubscriptionDiscountPercentage'; + /** The percentage value of a discount. */ + percentage: Scalars['Float']['output']; +}; + +/** The value of the discount. */ +export type AppSubscriptionDiscountValue = AppSubscriptionDiscountAmount | AppSubscriptionDiscountPercentage; + +/** The input fields to specify the value discounted every billing interval. */ +export type AppSubscriptionDiscountValueInput = { + /** The monetary value of a discount. */ + amount?: InputMaybe; + /** The percentage value of a discount. */ + percentage?: InputMaybe; +}; + +/** An auto-generated type which holds one AppSubscription and a cursor during pagination. */ +export type AppSubscriptionEdge = { + __typename?: 'AppSubscriptionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AppSubscriptionEdge. */ + node: AppSubscription; +}; + +/** The plan attached to an app subscription. */ +export type AppSubscriptionLineItem = { + __typename?: 'AppSubscriptionLineItem'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The pricing model for the app subscription. */ + plan: AppPlanV2; + /** A list of the store's usage records for a usage pricing plan. */ + usageRecords: AppUsageRecordConnection; +}; + + +/** The plan attached to an app subscription. */ +export type AppSubscriptionLineItemUsageRecordsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** The input fields to add more than one pricing plan to an app subscription. */ +export type AppSubscriptionLineItemInput = { + /** The pricing model for the app subscription. */ + plan: AppPlanInput; +}; + +/** Return type for `appSubscriptionLineItemUpdate` mutation. */ +export type AppSubscriptionLineItemUpdatePayload = { + __typename?: 'AppSubscriptionLineItemUpdatePayload'; + /** The updated app subscription. */ + appSubscription?: Maybe; + /** The URL where the merchant approves or declines the updated app subscription line item. */ + confirmationUrl?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The replacement behavior when creating an app subscription for a merchant with an already existing app subscription. */ +export enum AppSubscriptionReplacementBehavior { + /** Cancels the merchant's current app subscription immediately and replaces it with the newly created app subscription. */ + ApplyImmediately = 'APPLY_IMMEDIATELY', + /** Defers canceling the merchant's current app subscription and applying the newly created app subscription until the start of the next billing cycle. This value is ignored if the new app subscription is using a different currency than the current app subscription, in which case the new app subscription is applied immediately. */ + ApplyOnNextBillingCycle = 'APPLY_ON_NEXT_BILLING_CYCLE', + /** + * Cancels the merchant's current app subscription immediately and replaces it with the newly created app subscription, with the exception of + * the following scenarios where replacing the current app subscription will be deferred until the start of the next billing cycle. + * 1) The current app subscription is annual and the newly created app subscription is annual, using the same currency, but is of a lesser value. + * 2) The current app subscription is annual and the newly created app subscription is monthly and using the same currency. + * 3) The current app subscription and the newly created app subscription are identical except for the `discount` value. + */ + Standard = 'STANDARD' +} + +/** The set of valid sort keys for the AppSubscription query. */ +export enum AppSubscriptionSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The status of the app subscription. */ +export enum AppSubscriptionStatus { + /** + * The app subscription has been approved by the merchant and is ready to be activated by the app. + * @deprecated As of API version 2021-01, when a merchant approves an app subscription, the status immediately transitions from `pending` to `active`. + */ + Accepted = 'ACCEPTED', + /** The app subscription has been approved by the merchant. Active app subscriptions are billed to the shop. After payment, partners receive payouts. */ + Active = 'ACTIVE', + /** The app subscription was cancelled by the app. This could be caused by the app being uninstalled, a new app subscription being activated, or a direct cancellation by the app. This is a terminal state. */ + Cancelled = 'CANCELLED', + /** The app subscription was declined by the merchant. This is a terminal state. */ + Declined = 'DECLINED', + /** The app subscription wasn't approved by the merchant within two days of being created. This is a terminal state. */ + Expired = 'EXPIRED', + /** The app subscription is on hold due to non-payment. The subscription re-activates after payments resume. */ + Frozen = 'FROZEN', + /** The app subscription is pending approval by the merchant. */ + Pending = 'PENDING' +} + +/** Return type for `appSubscriptionTrialExtend` mutation. */ +export type AppSubscriptionTrialExtendPayload = { + __typename?: 'AppSubscriptionTrialExtendPayload'; + /** The app subscription that had its trial extended. */ + appSubscription?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `AppSubscriptionTrialExtend`. */ +export type AppSubscriptionTrialExtendUserError = DisplayableError & { + __typename?: 'AppSubscriptionTrialExtendUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `AppSubscriptionTrialExtendUserError`. */ +export enum AppSubscriptionTrialExtendUserErrorCode { + /** The app subscription isn't active. */ + SubscriptionNotActive = 'SUBSCRIPTION_NOT_ACTIVE', + /** The app subscription wasn't found. */ + SubscriptionNotFound = 'SUBSCRIPTION_NOT_FOUND', + /** The trial isn't active. */ + TrialNotActive = 'TRIAL_NOT_ACTIVE' +} + +/** The set of valid sort keys for the AppTransaction query. */ +export enum AppTransactionSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** + * Defines a usage pricing model for the app subscription. + * These charges are variable based on how much the merchant uses the app. + */ +export type AppUsagePricing = { + __typename?: 'AppUsagePricing'; + /** The total usage records for interval. */ + balanceUsed: MoneyV2; + /** + * The capped amount prevents the merchant from being charged for any usage over that amount during a billing period. + * This prevents billing from exceeding a maximum threshold over the duration of the billing period. + * For the merchant to continue using the app after exceeding a capped amount, they would need to agree to a new usage charge. + */ + cappedAmount: MoneyV2; + /** The frequency with which the app usage records are billed. */ + interval: AppPricingInterval; + /** + * The terms and conditions for app usage pricing. + * Must be present in order to create usage charges. + * The terms are presented to the merchant when they approve an app's usage charges. + */ + terms: Scalars['String']['output']; +}; + +/** The input fields to issue arbitrary charges for app usage associated with a subscription. */ +export type AppUsagePricingInput = { + /** The maximum amount of usage charges that can be incurred within a subscription billing interval. */ + cappedAmount: MoneyInput; + /** The terms and conditions for app usage. These terms stipulate the pricing model for the charges that an app creates. */ + terms: Scalars['String']['input']; +}; + +/** Store usage for app subscriptions with usage pricing. */ +export type AppUsageRecord = Node & { + __typename?: 'AppUsageRecord'; + /** The date and time when the usage record was created. */ + createdAt: Scalars['DateTime']['output']; + /** The description of the app usage record. */ + description: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** A unique key generated by the client to avoid duplicate charges. */ + idempotencyKey?: Maybe; + /** The price of the usage record. */ + price: MoneyV2; + /** Defines the usage pricing plan the merchant is subscribed to. */ + subscriptionLineItem: AppSubscriptionLineItem; +}; + +/** An auto-generated type for paginating through multiple AppUsageRecords. */ +export type AppUsageRecordConnection = { + __typename?: 'AppUsageRecordConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in AppUsageRecordEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `appUsageRecordCreate` mutation. */ +export type AppUsageRecordCreatePayload = { + __typename?: 'AppUsageRecordCreatePayload'; + /** The newly created app usage record. */ + appUsageRecord?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one AppUsageRecord and a cursor during pagination. */ +export type AppUsageRecordEdge = { + __typename?: 'AppUsageRecordEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of AppUsageRecordEdge. */ + node: AppUsageRecord; +}; + +/** The set of valid sort keys for the AppUsageRecord query. */ +export enum AppUsageRecordSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The Apple mobile platform application. */ +export type AppleApplication = { + __typename?: 'AppleApplication'; + /** The iOS App Clip application ID. */ + appClipApplicationId?: Maybe; + /** Whether iOS App Clips are enabled for this app. */ + appClipsEnabled: Scalars['Boolean']['output']; + /** The iOS App ID. */ + appId?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether iOS shared web credentials are enabled for this app. */ + sharedWebCredentialsEnabled: Scalars['Boolean']['output']; + /** Whether iOS Universal Links are supported by this app. */ + universalLinksEnabled: Scalars['Boolean']['output']; +}; + +/** An article in the blogging system. */ +export type Article = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & Navigable & Node & { + __typename?: 'Article'; + /** The name of the author of the article. */ + author?: Maybe; + /** The blog containing the article. */ + blog: Blog; + /** The text of the article's body, complete with HTML markup. */ + body: Scalars['HTML']['output']; + /** List of the article's comments. */ + comments: CommentConnection; + /** Count of comments. */ + commentsCount?: Maybe; + /** The date and time (ISO 8601 format) when the article was created. */ + createdAt: Scalars['DateTime']['output']; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** + * A unique, human-friendly string for the article that's automatically generated from the article's title. + * The handle is used in the article's URL. + */ + handle: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image associated with the article. */ + image?: Maybe; + /** Whether or not the article is visible. */ + isPublished: Scalars['Boolean']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** + * The date and time (ISO 8601 format) when the article became or will become visible. + * Returns null when the article isn't visible. + */ + publishedAt?: Maybe; + /** + * A summary of the article, which can include HTML markup. + * The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page. + */ + summary?: Maybe; + /** + * A comma-separated list of tags. + * Tags are additional short descriptors formatted as a string of comma-separated values. + */ + tags: Array; + /** + * The name of the template an article is using if it's using an alternate template. + * If an article is using the default `article.liquid` template, then the value returned is `null`. + */ + templateSuffix?: Maybe; + /** The title of the article. */ + title: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The date and time (ISO 8601 format) when the article was last updated. */ + updatedAt?: Maybe; +}; + + +/** An article in the blogging system. */ +export type ArticleCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** An article in the blogging system. */ +export type ArticleCommentsCountArgs = { + query?: InputMaybe; +}; + + +/** An article in the blogging system. */ +export type ArticleEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** An article in the blogging system. */ +export type ArticleMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** An article in the blogging system. */ +export type ArticleMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** An article in the blogging system. */ +export type ArticleMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** An article in the blogging system. */ +export type ArticlePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** An article in the blogging system. */ +export type ArticlePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** An article in the blogging system. */ +export type ArticleTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** Represents an article author in an Article. */ +export type ArticleAuthor = { + __typename?: 'ArticleAuthor'; + /** The author's full name. */ + name: Scalars['String']['output']; +}; + +/** The input fields of a blog when an article is created or updated. */ +export type ArticleBlogInput = { + /** The title of the blog. */ + title: Scalars['String']['input']; +}; + +/** An auto-generated type for paginating through multiple Articles. */ +export type ArticleConnection = { + __typename?: 'ArticleConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ArticleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array
; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields to create an article. */ +export type ArticleCreateInput = { + /** The name of the author of the article. */ + author: AuthorInput; + /** The ID of the blog containing the article. */ + blogId?: InputMaybe; + /** The text of the article's body, complete with HTML markup. */ + body?: InputMaybe; + /** + * A unique, human-friendly string for the article that's automatically generated from the article's title. + * The handle is used in the article's URL. + */ + handle?: InputMaybe; + /** The image associated with the article. */ + image?: InputMaybe; + /** Whether or not the article should be visible. */ + isPublished?: InputMaybe; + /** The input fields to create or update a metafield. */ + metafields?: InputMaybe>; + /** The date and time (ISO 8601 format) when the article should become visible. */ + publishDate?: InputMaybe; + /** + * A summary of the article, which can include HTML markup. + * The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page. + */ + summary?: InputMaybe; + /** + * A comma-separated list of tags. + * Tags are additional short descriptors formatted as a string of comma-separated values. + */ + tags?: InputMaybe>; + /** + * The suffix of the template that's used to render the page. + * If the value is an empty string or `null`, then the default article template is used. + */ + templateSuffix?: InputMaybe; + /** The title of the article. */ + title: Scalars['String']['input']; +}; + +/** Return type for `articleCreate` mutation. */ +export type ArticleCreatePayload = { + __typename?: 'ArticleCreatePayload'; + /** The article that was created. */ + article?: Maybe
; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ArticleCreate`. */ +export type ArticleCreateUserError = DisplayableError & { + __typename?: 'ArticleCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ArticleCreateUserError`. */ +export enum ArticleCreateUserErrorCode { + /** Can't create an article author if both author name and user ID are supplied. */ + AmbiguousAuthor = 'AMBIGUOUS_AUTHOR', + /** Can't create a blog from input if a blog ID is supplied. */ + AmbiguousBlog = 'AMBIGUOUS_BLOG', + /** Can't create an article if both author name and user ID are blank. */ + AuthorFieldRequired = 'AUTHOR_FIELD_REQUIRED', + /** User must exist if a user ID is supplied. */ + AuthorMustExist = 'AUTHOR_MUST_EXIST', + /** Must reference or create a blog when creating an article. */ + BlogReferenceRequired = 'BLOG_REFERENCE_REQUIRED', + /** Can’t set isPublished to true and also set a future publish date. */ + InvalidPublishDate = 'INVALID_PUBLISH_DATE', + /** The metafield type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The value is invalid for the metafield type or for the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** Image upload failed. */ + UploadFailed = 'UPLOAD_FAILED' +} + +/** Return type for `articleDelete` mutation. */ +export type ArticleDeletePayload = { + __typename?: 'ArticleDeletePayload'; + /** The ID of the deleted article. */ + deletedArticleId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ArticleDelete`. */ +export type ArticleDeleteUserError = DisplayableError & { + __typename?: 'ArticleDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ArticleDeleteUserError`. */ +export enum ArticleDeleteUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** An auto-generated type which holds one Article and a cursor during pagination. */ +export type ArticleEdge = { + __typename?: 'ArticleEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ArticleEdge. */ + node: Article; +}; + +/** The input fields for an image associated with an article. */ +export type ArticleImageInput = { + /** A word or phrase to share the nature or contents of an image. */ + altText?: InputMaybe; + /** The URL of the image. */ + url?: InputMaybe; +}; + +/** The set of valid sort keys for the Article query. */ +export enum ArticleSortKeys { + /** Sort by the `author` value. */ + Author = 'AUTHOR', + /** Sort by the `blog_title` value. */ + BlogTitle = 'BLOG_TITLE', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `published_at` value. */ + PublishedAt = 'PUBLISHED_AT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Possible sort of tags. */ +export enum ArticleTagSort { + /** Sort alphabetically.. */ + Alphabetical = 'ALPHABETICAL', + /** Sort by popularity, starting with the most popular tag. */ + Popular = 'POPULAR' +} + +/** The input fields to update an article. */ +export type ArticleUpdateInput = { + /** The name of the author of the article. */ + author?: InputMaybe; + /** The ID of the blog containing the article. */ + blogId?: InputMaybe; + /** The text of the article's body, complete with HTML markup. */ + body?: InputMaybe; + /** + * A unique, human-friendly string for the article that's automatically generated from the article's title. + * The handle is used in the article's URL. + */ + handle?: InputMaybe; + /** The image associated with the article. */ + image?: InputMaybe; + /** Whether or not the article should be visible. */ + isPublished?: InputMaybe; + /** The input fields to create or update a metafield. */ + metafields?: InputMaybe>; + /** The date and time (ISO 8601 format) when the article should become visible. */ + publishDate?: InputMaybe; + /** + * Whether a redirect is required after a new handle has been provided. + * If `true`, then the old handle is redirected to the new one automatically. + */ + redirectNewHandle?: InputMaybe; + /** + * A summary of the article, which can include HTML markup. + * The summary is used by the online store theme to display the article on other pages, such as the home page or the main blog page. + */ + summary?: InputMaybe; + /** + * A comma-separated list of tags. + * Tags are additional short descriptors formatted as a string of comma-separated values. + */ + tags?: InputMaybe>; + /** + * The suffix of the template that's used to render the page. + * If the value is an empty string or `null`, then the default article template is used. + */ + templateSuffix?: InputMaybe; + /** The title of the article. */ + title?: InputMaybe; +}; + +/** Return type for `articleUpdate` mutation. */ +export type ArticleUpdatePayload = { + __typename?: 'ArticleUpdatePayload'; + /** The article that was updated. */ + article?: Maybe
; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ArticleUpdate`. */ +export type ArticleUpdateUserError = DisplayableError & { + __typename?: 'ArticleUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ArticleUpdateUserError`. */ +export enum ArticleUpdateUserErrorCode { + /** Can't update an article author if both author name and user ID are supplied. */ + AmbiguousAuthor = 'AMBIGUOUS_AUTHOR', + /** Can't create a blog from input if a blog ID is supplied. */ + AmbiguousBlog = 'AMBIGUOUS_BLOG', + /** User must exist if a user ID is supplied. */ + AuthorMustExist = 'AUTHOR_MUST_EXIST', + /** The input value is blank. */ + Blank = 'BLANK', + /** Can’t set isPublished to true and also set a future publish date. */ + InvalidPublishDate = 'INVALID_PUBLISH_DATE', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** Image upload failed. */ + UploadFailed = 'UPLOAD_FAILED' +} + +/** Represents a generic custom attribute, such as whether an order is a customer's first. */ +export type Attribute = { + __typename?: 'Attribute'; + /** The key or name of the attribute. For example, `"customersFirstOrder"`. */ + key: Scalars['String']['output']; + /** The value of the attribute. For example, `"true"`. */ + value?: Maybe; +}; + +/** The input fields for an attribute. */ +export type AttributeInput = { + /** Key or name of the attribute. */ + key: Scalars['String']['input']; + /** Value of the attribute. */ + value: Scalars['String']['input']; +}; + +/** The input fields for an author. Either the `name` or `user_id` fields can be supplied, but never both. */ +export type AuthorInput = { + /** The author's full name. */ + name?: InputMaybe; + /** The ID of a staff member's account. */ + userId?: InputMaybe; +}; + +/** Automatic discount applications capture the intentions of a discount that was automatically applied. */ +export type AutomaticDiscountApplication = DiscountApplication & { + __typename?: 'AutomaticDiscountApplication'; + /** The method by which the discount's value is applied to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** + * An ordered index that can be used to identify the discount application and indicate the precedence + * of the discount application for calculations. + */ + index: Scalars['Int']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The title of the discount application. */ + title: Scalars['String']['output']; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** The set of valid sort keys for the AutomaticDiscount query. */ +export enum AutomaticDiscountSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** Represents an object containing all information for channels available to a shop. */ +export type AvailableChannelDefinitionsByChannel = { + __typename?: 'AvailableChannelDefinitionsByChannel'; + /** The channel definitions for channels installed on a shop. */ + channelDefinitions: Array; + /** The name of the channel. */ + channelName: Scalars['String']['output']; +}; + +/** The possible types for a badge. */ +export enum BadgeType { + /** This badge has type `attention`. */ + Attention = 'ATTENTION', + /** This badge has type `default`. */ + Default = 'DEFAULT', + /** This badge has type `info`. */ + Info = 'INFO', + /** This badge has type `success`. */ + Success = 'SUCCESS', + /** This badge has type `warning`. */ + Warning = 'WARNING' +} + +/** The set of valid sort keys for the BalanceTransaction query. */ +export enum BalanceTransactionSortKeys { + /** Sort by the `amount` value. */ + Amount = 'AMOUNT', + /** Sort by the `fee` value. */ + Fee = 'FEE', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `net` value. */ + Net = 'NET', + /** Sort by the `order_name` value. */ + OrderName = 'ORDER_NAME', + /** Sort by the `payment_method_name` value. */ + PaymentMethodName = 'PAYMENT_METHOD_NAME', + /** Sort by the `payout_date` value. */ + PayoutDate = 'PAYOUT_DATE', + /** Sort by the `payout_status` value. */ + PayoutStatus = 'PAYOUT_STATUS', + /** Sort by the `processed_at` value. */ + ProcessedAt = 'PROCESSED_AT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `transaction_type` value. */ + TransactionType = 'TRANSACTION_TYPE' +} + +/** Generic payment details that are related to a transaction. */ +export type BasePaymentDetails = { + /** The name of payment method used by the buyer. */ + paymentMethodName?: Maybe; +}; + +/** + * Basic events chronicle resource activities such as the creation of an article, the fulfillment of an order, or + * the addition of a product. + * + * ### General events + * + * | Action | Description | + * |---|---| + * | `create` | The item was created. | + * | `destroy` | The item was destroyed. | + * | `published` | The item was published. | + * | `unpublished` | The item was unpublished. | + * | `update` | The item was updated. | + * + * ### Order events + * + * Order events can be divided into the following categories: + * + * - *Authorization*: Includes whether the authorization succeeded, failed, or is pending. + * - *Capture*: Includes whether the capture succeeded, failed, or is pending. + * - *Email*: Includes confirmation or cancellation of the order, as well as shipping. + * - *Fulfillment*: Includes whether the fulfillment succeeded, failed, or is pending. Also includes cancellation, restocking, and fulfillment updates. + * - *Order*: Includess the placement, confirmation, closing, re-opening, and cancellation of the order. + * - *Refund*: Includes whether the refund succeeded, failed, or is pending. + * - *Sale*: Includes whether the sale succeeded, failed, or is pending. + * - *Void*: Includes whether the void succeeded, failed, or is pending. + * + * | Action | Message | Description | + * |---|---|---| + * | `authorization_failure` | The customer, unsuccessfully, tried to authorize: `{money_amount}`. | Authorization failed. The funds cannot be captured. | + * | `authorization_pending` | Authorization for `{money_amount}` is pending. | Authorization pending. | + * | `authorization_success` | The customer successfully authorized us to capture: `{money_amount}`. | Authorization was successful and the funds are available for capture. | + * | `cancelled` | Order was cancelled by `{shop_staff_name}`. | The order was cancelled. | + * | `capture_failure` | We failed to capture: `{money_amount}`. | The capture failed. The funds cannot be transferred to the shop. | + * | `capture_pending` | Capture for `{money_amount}` is pending. | The capture is in process. The funds are not yet available to the shop. | + * | `capture_success` | We successfully captured: `{money_amount}` | The capture was successful and the funds are now available to the shop. | + * | `closed` | Order was closed. | The order was closed. | + * | `confirmed` | Received a new order: `{order_number}` by `{customer_name}`. | The order was confirmed. | + * | `fulfillment_cancelled` | We cancelled `{number_of_line_items}` from being fulfilled by the third party fulfillment service. | Fulfillment for one or more of the line_items failed. | + * | `fulfillment_pending` | We submitted `{number_of_line_items}` to the third party service. | One or more of the line_items has been assigned to a third party service for fulfillment. | + * | `fulfillment_success` | We successfully fulfilled line_items. | Fulfillment was successful for one or more line_items. | + * | `mail_sent` | `{message_type}` email was sent to the customer. | An email was sent to the customer. | + * | `placed` | Order was placed. | An order was placed by the customer. | + * | `re_opened` | Order was re-opened. | An order was re-opened. | + * | `refund_failure` | We failed to refund `{money_amount}`. | The refund failed. The funds are still with the shop. | + * | `refund_pending` | Refund of `{money_amount}` is still pending. | The refund is in process. The funds are still with shop. | + * | `refund_success` | We successfully refunded `{money_amount}`. | The refund was successful. The funds have been transferred to the customer. | + * | `restock_line_items` | We restocked `{number_of_line_items}`. | One or more of the order's line items have been restocked. | + * | `sale_failure` | The customer failed to pay `{money_amount}`. | The sale failed. The funds are not available to the shop. | + * | `sale_pending` | The `{money_amount}` is pending. | The sale is in process. The funds are not yet available to the shop. | + * | `sale_success` | We successfully captured `{money_amount}`. | The sale was successful. The funds are now with the shop. | + * | `update` | `{order_number}` was updated. | The order was updated. | + * | `void_failure` | We failed to void the authorization. | Voiding the authorization failed. The authorization is still valid. | + * | `void_pending` | Authorization void is pending. | Voiding the authorization is in process. The authorization is still valid. | + * | `void_success` | We successfully voided the authorization. | Voiding the authorization was successful. The authorization is no longer valid. | + */ +export type BasicEvent = Event & Node & { + __typename?: 'BasicEvent'; + /** The action that occured. */ + action: Scalars['String']['output']; + /** Provides additional content for collapsible timeline events. */ + additionalContent?: Maybe; + /** Provides additional data for event consumers. */ + additionalData?: Maybe; + /** The name of the app that created the event. */ + appTitle?: Maybe; + /** Refers to a certain event and its resources. */ + arguments?: Maybe; + /** Whether the event was created by an app. */ + attributeToApp: Scalars['Boolean']['output']; + /** Whether the event was caused by an admin user. */ + attributeToUser: Scalars['Boolean']['output']; + /** The date and time when the event was created. */ + createdAt: Scalars['DateTime']['output']; + /** Whether the event is critical. */ + criticalAlert: Scalars['Boolean']['output']; + /** Whether this event has additional content. */ + hasAdditionalContent: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Human readable text that describes the event. */ + message: Scalars['FormattedString']['output']; + /** Human readable text that supports the event message. */ + secondaryMessage?: Maybe; + /** + * The resource that generated the event. To see a list of possible types, + * refer to [HasEvents](https://shopify.dev/docs/api/admin-graphql/unstable/interfaces/HasEvents#implemented-in). + */ + subject?: Maybe; + /** The ID of the resource that generated the event. */ + subjectId: Scalars['ID']['output']; + /** The type of the resource that generated the event. */ + subjectType: EventSubjectType; +}; + +/** Represents an error that happens during the execution of a billing attempt mutation. */ +export type BillingAttemptUserError = DisplayableError & { + __typename?: 'BillingAttemptUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `BillingAttemptUserError`. */ +export enum BillingAttemptUserErrorCode { + /** Billing cycle charge attempt made more than 24 hours before the billing cycle `billingAttemptExpectedDate`. */ + BillingCycleChargeBeforeExpectedDate = 'BILLING_CYCLE_CHARGE_BEFORE_EXPECTED_DATE', + /** Billing cycle must not be skipped. */ + BillingCycleSkipped = 'BILLING_CYCLE_SKIPPED', + /** The input value is blank. */ + Blank = 'BLANK', + /** Subscription contract does not exist. */ + ContractNotFound = 'CONTRACT_NOT_FOUND', + /** Subscription contract cannot be billed if paused. */ + ContractPaused = 'CONTRACT_PAUSED', + /** Subscription contract cannot be billed once terminated. */ + ContractTerminated = 'CONTRACT_TERMINATED', + /** Subscription contract is under review. */ + ContractUnderReview = 'CONTRACT_UNDER_REVIEW', + /** Billing cycle selector cannot select billing cycle outside of index range. */ + CycleIndexOutOfRange = 'CYCLE_INDEX_OUT_OF_RANGE', + /** Billing cycle selector cannot select billing cycle outside of start date range. */ + CycleStartDateOutOfRange = 'CYCLE_START_DATE_OUT_OF_RANGE', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Origin time cannot be before the contract creation time. */ + OriginTimeBeforeContractCreation = 'ORIGIN_TIME_BEFORE_CONTRACT_CREATION', + /** Origin time needs to be within the selected billing cycle's start and end at date. */ + OriginTimeOutOfRange = 'ORIGIN_TIME_OUT_OF_RANGE', + /** Billing cycle selector cannot select upcoming billing cycle past limit. */ + UpcomingCycleLimitExceeded = 'UPCOMING_CYCLE_LIMIT_EXCEEDED' +} + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type Blog = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & Node & { + __typename?: 'Blog'; + /** List of the blog's articles. */ + articles: ArticleConnection; + /** Count of articles. */ + articlesCount?: Maybe; + /** Indicates whether readers can post comments to the blog and if comments are moderated or not. */ + commentPolicy: CommentPolicy; + /** The date and time when the blog was created. */ + createdAt: Scalars['DateTime']['output']; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service. */ + feed?: Maybe; + /** + * A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title. + * The handle is customizable and is used by the Liquid templating language to refer to the blog. + */ + handle: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** A list of tags associated with the 200 most recent blog articles. */ + tags: Array; + /** + * The name of the template a blog is using if it's using an alternate template. + * Returns `null` if a blog is using the default blog.liquid template. + */ + templateSuffix?: Maybe; + /** The title of the blog. */ + title: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The date and time when the blog was update. */ + updatedAt?: Maybe; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogArticlesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Shopify stores come with a built-in blogging engine, allowing a shop to have one or more blogs. Blogs are meant + * to be used as a type of magazine or newsletter for the shop, with content that changes over time. + */ +export type BlogTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Blogs. */ +export type BlogConnection = { + __typename?: 'BlogConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in BlogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields to create a blog. */ +export type BlogCreateInput = { + /** Indicates whether readers can post comments to the blog and whether comments are moderated. */ + commentPolicy?: InputMaybe; + /** + * A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title. + * The handle is customizable and is used by the Liquid templating language to refer to the blog. + */ + handle?: InputMaybe; + /** Attaches additional metadata to a store's resources. */ + metafields?: InputMaybe>; + /** + * The name of the template a blog is using if it's using an alternate template. + * Returns `null` if a blog is using the default blog.liquid template. + */ + templateSuffix?: InputMaybe; + /** The title of the blog. */ + title: Scalars['String']['input']; +}; + +/** Return type for `blogCreate` mutation. */ +export type BlogCreatePayload = { + __typename?: 'BlogCreatePayload'; + /** The blog that was created. */ + blog?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `BlogCreate`. */ +export type BlogCreateUserError = DisplayableError & { + __typename?: 'BlogCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `BlogCreateUserError`. */ +export enum BlogCreateUserErrorCode { + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The metafield type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The value is invalid for the metafield type or for the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** Return type for `blogDelete` mutation. */ +export type BlogDeletePayload = { + __typename?: 'BlogDeletePayload'; + /** The ID of the deleted blog. */ + deletedBlogId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `BlogDelete`. */ +export type BlogDeleteUserError = DisplayableError & { + __typename?: 'BlogDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `BlogDeleteUserError`. */ +export enum BlogDeleteUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** An auto-generated type which holds one Blog and a cursor during pagination. */ +export type BlogEdge = { + __typename?: 'BlogEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of BlogEdge. */ + node: Blog; +}; + +/** FeedBurner provider details. Any blogs that aren't already integrated with FeedBurner can't use the service. */ +export type BlogFeed = { + __typename?: 'BlogFeed'; + /** Blog feed provider url. */ + location: Scalars['URL']['output']; + /** Blog feed provider path. */ + path: Scalars['String']['output']; +}; + +/** The set of valid sort keys for the Blog query. */ +export enum BlogSortKeys { + /** Sort by the `handle` value. */ + Handle = 'HANDLE', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE' +} + +/** The input fields to update a blog. */ +export type BlogUpdateInput = { + /** Indicates whether readers can post comments to the blog and whether comments are moderated. */ + commentPolicy?: InputMaybe; + /** + * A unique, human-friendly string for the blog. If no handle is specified, a handle will be generated automatically from the blog title. + * The handle is customizable and is used by the Liquid templating language to refer to the blog. + */ + handle?: InputMaybe; + /** Attaches additional metadata to a store's resources. */ + metafields?: InputMaybe>; + /** Whether to redirect blog posts automatically. */ + redirectArticles?: InputMaybe; + /** + * Whether a redirect is required after a new handle has been provided. + * If `true`, then the old handle is redirected to the new one automatically. + */ + redirectNewHandle?: InputMaybe; + /** + * The name of the template a blog is using if it's using an alternate template. + * Returns `null` if a blog is using the default blog.liquid template. + */ + templateSuffix?: InputMaybe; + /** The title of the blog. */ + title?: InputMaybe; +}; + +/** Return type for `blogUpdate` mutation. */ +export type BlogUpdatePayload = { + __typename?: 'BlogUpdatePayload'; + /** The blog that was updated. */ + blog?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `BlogUpdate`. */ +export type BlogUpdateUserError = DisplayableError & { + __typename?: 'BlogUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `BlogUpdateUserError`. */ +export enum BlogUpdateUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** Possible error codes that can be returned by `BulkMutationUserError`. */ +export enum BulkMutationErrorCode { + /** There was a problem reading the JSONL file. This error might be intermittent, so you can try performing the same query again. */ + InternalFileServerError = 'INTERNAL_FILE_SERVER_ERROR', + /** The operation did not run because the mutation is invalid. Check your mutation syntax and try again. */ + InvalidMutation = 'INVALID_MUTATION', + /** The JSONL file submitted via the `stagedUploadsCreate` mutation is invalid. Update the file and try again. */ + InvalidStagedUploadFile = 'INVALID_STAGED_UPLOAD_FILE', + /** The JSONL file could not be found. Try [uploading the file](https://shopify.dev/api/usage/bulk-operations/imports#generate-the-uploaded-url-and-parameters) again, and check that you've entered the URL correctly for the `stagedUploadPath` mutation argument. */ + NoSuchFile = 'NO_SUCH_FILE', + /** The operation did not run because another bulk mutation is already running. [Wait for the operation to finish](https://shopify.dev/api/usage/bulk-operations/imports#wait-for-the-operation-to-finish) before retrying this operation. */ + OperationInProgress = 'OPERATION_IN_PROGRESS' +} + +/** Represents an error that happens during execution of a bulk mutation. */ +export type BulkMutationUserError = DisplayableError & { + __typename?: 'BulkMutationUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** + * An asynchronous long-running operation to fetch data in bulk or to bulk import data. + * + * Bulk operations are created using the `bulkOperationRunQuery` or `bulkOperationRunMutation` mutation. After + * they are created, clients should poll the `status` field for updates. When `COMPLETED`, the `url` field contains + * a link to the data in [JSONL](http://jsonlines.org/) format. + * + * Refer to the [bulk operations guide](https://shopify.dev/api/usage/bulk-operations/imports) for more details. + */ +export type BulkOperation = Node & { + __typename?: 'BulkOperation'; + /** When the bulk operation was successfully completed. */ + completedAt?: Maybe; + /** When the bulk operation was created. */ + createdAt: Scalars['DateTime']['output']; + /** Error code for failed operations. */ + errorCode?: Maybe; + /** File size in bytes of the file in the `url` field. */ + fileSize?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * A running count of all the objects processed. + * For example, when fetching all the products and their variants, this field counts both products and variants. + * This field can be used to track operation progress. + */ + objectCount: Scalars['UnsignedInt64']['output']; + /** + * The URL that points to the partial or incomplete response data (in [JSONL](http://jsonlines.org/) format) that was returned by a failed operation. + * The URL expires 7 days after the operation fails. Returns `null` when there's no data available. + */ + partialDataUrl?: Maybe; + /** GraphQL query document specified in `bulkOperationRunQuery`. */ + query: Scalars['String']['output']; + /** + * A running count of all the objects that are processed at the root of the query. + * For example, when fetching all the products and their variants, this field only counts products. + * This field can be used to track operation progress. + */ + rootObjectCount: Scalars['UnsignedInt64']['output']; + /** Status of the bulk operation. */ + status: BulkOperationStatus; + /** The bulk operation's type. */ + type: BulkOperationType; + /** + * The URL that points to the response data in [JSONL](http://jsonlines.org/) format. + * The URL expires 7 days after the operation completes. + */ + url?: Maybe; +}; + +/** Return type for `bulkOperationCancel` mutation. */ +export type BulkOperationCancelPayload = { + __typename?: 'BulkOperationCancelPayload'; + /** The bulk operation to be canceled. */ + bulkOperation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed bulk operations. */ +export enum BulkOperationErrorCode { + /** + * The provided operation `query` returned access denied due to missing + * [access scopes](https://shopify.dev/api/usage/access-scopes). + * Review the requested object permissions and execute the query as a normal non-bulk GraphQL request to see more details. + */ + AccessDenied = 'ACCESS_DENIED', + /** + * The operation resulted in partial or incomplete data due to internal server errors during execution. + * These errors might be intermittent, so you can try performing the same query again. + */ + InternalServerError = 'INTERNAL_SERVER_ERROR', + /** + * The operation resulted in partial or incomplete data due to query timeouts during execution. + * In some cases, timeouts can be avoided by modifying your `query` to select fewer fields. + */ + Timeout = 'TIMEOUT' +} + +/** Return type for `bulkOperationRunMutation` mutation. */ +export type BulkOperationRunMutationPayload = { + __typename?: 'BulkOperationRunMutationPayload'; + /** The newly created bulk operation. */ + bulkOperation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `bulkOperationRunQuery` mutation. */ +export type BulkOperationRunQueryPayload = { + __typename?: 'BulkOperationRunQueryPayload'; + /** The newly created bulk operation. */ + bulkOperation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The valid values for the status of a bulk operation. */ +export enum BulkOperationStatus { + /** The bulk operation has been canceled. */ + Canceled = 'CANCELED', + /** + * Cancelation has been initiated on the bulk operation. There may be a short delay from when a cancelation + * starts until the operation is actually canceled. + */ + Canceling = 'CANCELING', + /** The bulk operation has successfully completed. */ + Completed = 'COMPLETED', + /** The bulk operation has been created. */ + Created = 'CREATED', + /** The bulk operation URL has expired. */ + Expired = 'EXPIRED', + /** + * The bulk operation has failed. For information on why the operation failed, use + * [BulkOperation.errorCode](https://shopify.dev/api/admin-graphql/latest/enums/bulkoperationerrorcode). + */ + Failed = 'FAILED', + /** The bulk operation is runnning. */ + Running = 'RUNNING' +} + +/** The valid values for the bulk operation's type. */ +export enum BulkOperationType { + /** The bulk operation is a mutation. */ + Mutation = 'MUTATION', + /** The bulk operation is a query. */ + Query = 'QUERY' +} + +/** Return type for `bulkProductResourceFeedbackCreate` mutation. */ +export type BulkProductResourceFeedbackCreatePayload = { + __typename?: 'BulkProductResourceFeedbackCreatePayload'; + /** The feedback that's created. */ + feedback?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `BulkProductResourceFeedbackCreate`. */ +export type BulkProductResourceFeedbackCreateUserError = DisplayableError & { + __typename?: 'BulkProductResourceFeedbackCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `BulkProductResourceFeedbackCreateUserError`. */ +export enum BulkProductResourceFeedbackCreateUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The input value should be less than or equal to the maximum value allowed. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + /** The operation was attempted on too many feedback objects. The maximum number of feedback objects that you can operate on is 50. */ + MaximumFeedbackLimitExceeded = 'MAXIMUM_FEEDBACK_LIMIT_EXCEEDED', + /** The feedback for a later version of this resource was already accepted. */ + OutdatedFeedback = 'OUTDATED_FEEDBACK', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The product wasn't found or isn't available to the channel. */ + ProductNotFound = 'PRODUCT_NOT_FOUND' +} + +/** The input fields representing the components of a bundle line item. */ +export type BundlesDraftOrderBundleLineItemComponentInput = { + /** The quantity of the bundle component. */ + quantity: Scalars['Int']['input']; + /** + * The UUID of the bundle component. Must be unique and consistent across requests. + * This field is mandatory in order to manipulate drafts with bundles. + */ + uuid?: InputMaybe; + /** The ID of the product variant corresponding to the bundle component. */ + variantId?: InputMaybe; +}; + +/** Represents the Bundles feature configuration for the shop. */ +export type BundlesFeature = { + __typename?: 'BundlesFeature'; + /** Whether a shop is configured properly to sell bundles. */ + eligibleForBundles: Scalars['Boolean']['output']; + /** The reason why a shop is not eligible for bundles. */ + ineligibilityReason?: Maybe; + /** Whether a shop has any fixed bundle products or has a cartTransform function installed. */ + sellsBundles: Scalars['Boolean']['output']; +}; + +/** Possible error codes that can be returned by `BusinessCustomerUserError`. */ +export enum BusinessCustomerErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** Deleting the resource failed. */ + FailedToDelete = 'FAILED_TO_DELETE', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The input is invalid. */ + InvalidInput = 'INVALID_INPUT', + /** The number of resources exceeded the limit. */ + LimitReached = 'LIMIT_REACHED', + /** The input is empty. */ + NoInput = 'NO_INPUT', + /** Missing a required field. */ + Required = 'REQUIRED', + /** The resource wasn't found. */ + ResourceNotFound = 'RESOURCE_NOT_FOUND', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The field value is too long. */ + TooLong = 'TOO_LONG', + /** Unexpected type. */ + UnexpectedType = 'UNEXPECTED_TYPE' +} + +/** An error that happens during the execution of a business customer mutation. */ +export type BusinessCustomerUserError = DisplayableError & { + __typename?: 'BusinessCustomerUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Represents a merchant's Business Entity. */ +export type BusinessEntity = Node & { + __typename?: 'BusinessEntity'; + /** The address of the merchant's Business Entity. */ + address: BusinessEntityAddress; + /** The name of the company associated with the merchant's Business Entity. */ + companyName?: Maybe; + /** The display name of the merchant's Business Entity. */ + displayName: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether it's the merchant's primary Business Entity. */ + primary: Scalars['Boolean']['output']; + /** Shopify Payments account information, including balances and payouts. */ + shopifyPaymentsAccount?: Maybe; +}; + +/** Represents the address of a merchant's Business Entity. */ +export type BusinessEntityAddress = { + __typename?: 'BusinessEntityAddress'; + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: Maybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: Maybe; + /** The name of the city, district, village, or town. */ + city?: Maybe; + /** The country code of the merchant's Business Entity. */ + countryCode: CountryCode; + /** The region of the address, such as the province, state, or district. */ + province?: Maybe; + /** The zip or postal code of the address. */ + zip?: Maybe; +}; + +/** Settings describing the behavior of checkout for a B2B buyer. */ +export type BuyerExperienceConfiguration = { + __typename?: 'BuyerExperienceConfiguration'; + /** Whether to checkout to draft order for merchant review. */ + checkoutToDraft: Scalars['Boolean']['output']; + /** The portion required to be paid at checkout. */ + deposit?: Maybe; + /** Whether to allow customers to use editable shipping addresses. */ + editableShippingAddress: Scalars['Boolean']['output']; + /** + * Whether a buyer must pay at checkout or they can also choose to pay + * later using net terms. + * @deprecated Please use `checkoutToDraft`(must be false) and `paymentTermsTemplate`(must be nil) to derive this instead. + */ + payNowOnly: Scalars['Boolean']['output']; + /** Represents the merchant configured payment terms. */ + paymentTermsTemplate?: Maybe; +}; + +/** The input fields specifying the behavior of checkout for a B2B buyer. */ +export type BuyerExperienceConfigurationInput = { + /** Whether to checkout to draft order for merchant review. */ + checkoutToDraft?: InputMaybe; + /** The input fields configuring the deposit a B2B buyer. */ + deposit?: InputMaybe; + /** Whether to allow customers to edit their shipping address at checkout. */ + editableShippingAddress?: InputMaybe; + /** Represents the merchant configured payment terms. */ + paymentTermsTemplateId?: InputMaybe; +}; + +/** The input fields for exchange line items on a calculated return. */ +export type CalculateExchangeLineItemInput = { + /** The discount to be applied to the exchange line item. */ + appliedDiscount?: InputMaybe; + /** The quantity of the item to be added. */ + quantity: Scalars['Int']['input']; + /** The ID of the product variant to be added to the order as part of an exchange. */ + variantId: Scalars['ID']['input']; +}; + +/** The input fields to calculate return amounts associated with an order. */ +export type CalculateReturnInput = { + /** The exchange line items to add to the order. */ + exchangeLineItems?: InputMaybe>; + /** The ID of the order that will be returned. */ + orderId: Scalars['ID']['input']; + /** The line items from the order to include in the return. */ + returnLineItems?: InputMaybe>; + /** The return shipping fee associated with the return. */ + returnShippingFee?: InputMaybe; +}; + +/** The input fields for return line items on a calculated return. */ +export type CalculateReturnLineItemInput = { + /** The ID of the fulfillment line item to be returned. */ + fulfillmentLineItemId: Scalars['ID']['input']; + /** The quantity of the item to be returned. */ + quantity: Scalars['Int']['input']; + /** The restocking fee for the return line item. */ + restockingFee?: InputMaybe; +}; + +/** A discount that is automatically applied to an order that is being edited. */ +export type CalculatedAutomaticDiscountApplication = CalculatedDiscountApplication & { + __typename?: 'CalculatedAutomaticDiscountApplication'; + /** The method by which the discount's value is allocated to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** The level at which the discount was applied. */ + appliedTo: DiscountApplicationLevel; + /** The description of discount application. Indicates the reason why the discount was applied. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** An amount discounting the line that has been allocated by an associated discount application. */ +export type CalculatedDiscountAllocation = { + __typename?: 'CalculatedDiscountAllocation'; + /** The money amount that's allocated by the discount application in shop and presentment currencies. */ + allocatedAmountSet: MoneyBag; + /** The discount that the allocated amount originated from. */ + discountApplication: CalculatedDiscountApplication; +}; + +/** A [discount application](https://shopify.dev/api/admin-graphql/latest/interfaces/discountapplication) involved in order editing that might be newly added or have new changes applied. */ +export type CalculatedDiscountApplication = { + /** The method by which the discount's value is allocated to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** The level at which the discount was applied. */ + appliedTo: DiscountApplicationLevel; + /** The description of discount application. Indicates the reason why the discount was applied. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** An auto-generated type for paginating through multiple CalculatedDiscountApplications. */ +export type CalculatedDiscountApplicationConnection = { + __typename?: 'CalculatedDiscountApplicationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CalculatedDiscountApplicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CalculatedDiscountApplication and a cursor during pagination. */ +export type CalculatedDiscountApplicationEdge = { + __typename?: 'CalculatedDiscountApplicationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CalculatedDiscountApplicationEdge. */ + node: CalculatedDiscountApplication; +}; + +/** A discount code that is applied to an order that is being edited. */ +export type CalculatedDiscountCodeApplication = CalculatedDiscountApplication & { + __typename?: 'CalculatedDiscountCodeApplication'; + /** The method by which the discount's value is allocated to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** The level at which the discount was applied. */ + appliedTo: DiscountApplicationLevel; + /** The string identifying the discount code that was used at the time of application. */ + code: Scalars['String']['output']; + /** The description of discount application. Indicates the reason why the discount was applied. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** The calculated fields for a draft order. */ +export type CalculatedDraftOrder = { + __typename?: 'CalculatedDraftOrder'; + /** + * Whether or not to accept automatic discounts on the draft order during calculation. + * If false, only discount codes and custom draft order discounts (see `appliedDiscount`) will be applied. + * If true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts. + */ + acceptAutomaticDiscounts?: Maybe; + /** The list of alerts raised while calculating. */ + alerts: Array; + /** The custom order-level discount applied. */ + appliedDiscount?: Maybe; + /** + * The available shipping rates. + * Requires a customer with a valid shipping address and at least one line item. + */ + availableShippingRates: Array; + /** Whether the billing address matches the shipping address. */ + billingAddressMatchesShippingAddress: Scalars['Boolean']['output']; + /** The shop currency used for calculation. */ + currencyCode: CurrencyCode; + /** The customer who will be sent an invoice. */ + customer?: Maybe; + /** All discount codes applied. */ + discountCodes: Array; + /** The list of the line items in the calculated draft order. */ + lineItems: Array; + /** + * A subtotal of the line items and corresponding discounts, + * excluding include shipping charges, shipping discounts, taxes, or order discounts. + */ + lineItemsSubtotalPrice: MoneyBag; + /** The name of the selected market. */ + marketName: Scalars['String']['output']; + /** The selected country code that determines the pricing. */ + marketRegionCountryCode: CountryCode; + /** The assigned phone number. */ + phone?: Maybe; + /** The list of platform discounts applied. */ + platformDiscounts: Array; + /** The payment currency used for calculation. */ + presentmentCurrencyCode: CurrencyCode; + /** The purchasing entity. */ + purchasingEntity?: Maybe; + /** The line item containing the shipping information and costs. */ + shippingLine?: Maybe; + /** + * The subtotal, in shop currency, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes. + * @deprecated Use `subtotalPriceSet` instead. + */ + subtotalPrice: Scalars['Money']['output']; + /** The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes. */ + subtotalPriceSet: MoneyBag; + /** The list of of taxes lines charged for each line item and shipping line. */ + taxLines: Array; + /** Whether the line item prices include taxes. */ + taxesIncluded: Scalars['Boolean']['output']; + /** Total discounts. */ + totalDiscountsSet: MoneyBag; + /** Total price of line items. */ + totalLineItemsPriceSet: MoneyBag; + /** + * The total price, in shop currency, includes taxes, shipping charges, and discounts. + * @deprecated Use `totalPriceSet` instead. + */ + totalPrice: Scalars['Money']['output']; + /** The total price, includes taxes, shipping charges, and discounts. */ + totalPriceSet: MoneyBag; + /** + * The sum of individual line item quantities. + * If the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle. + */ + totalQuantityOfLineItems: Scalars['Int']['output']; + /** + * The total shipping price in shop currency. + * @deprecated Use `totalShippingPriceSet` instead. + */ + totalShippingPrice: Scalars['Money']['output']; + /** The total shipping price. */ + totalShippingPriceSet: MoneyBag; + /** + * The total tax in shop currency. + * @deprecated Use `totalTaxSet` instead. + */ + totalTax: Scalars['Money']['output']; + /** The total tax. */ + totalTaxSet: MoneyBag; + /** + * Fingerprint of the current cart. + * In order to have bundles work, the fingerprint must be passed to + * each request as it was previously returned, unmodified. + */ + transformerFingerprint?: Maybe; + /** The list of warnings raised while calculating. */ + warnings: Array; +}; + +/** The calculated line item for a draft order. */ +export type CalculatedDraftOrderLineItem = { + __typename?: 'CalculatedDraftOrderLineItem'; + /** The custom applied discount. */ + appliedDiscount?: Maybe; + /** + * The `discountedTotal` divided by `quantity`, + * equal to the average value of the line item price per unit after discounts are applied. + * This value doesn't include discounts applied to the entire draft order. + */ + approximateDiscountedUnitPriceSet: MoneyBag; + /** The bundle components of the draft order line item. */ + bundleComponents: Array; + /** Whether the line item is custom (`true`) or contains a product variant (`false`). */ + custom: Scalars['Boolean']['output']; + /** A list of attributes that represent custom features or special requests. */ + customAttributes: Array; + /** The list of additional information (metafields) with the associated types. */ + customAttributesV2: Array; + /** The total price with discounts applied. */ + discountedTotal: MoneyV2; + /** The total price with discounts applied. */ + discountedTotalSet: MoneyBag; + /** + * The unit price with discounts applied. + * @deprecated Use `approximateDiscountedUnitPriceSet` instead. + */ + discountedUnitPrice: MoneyV2; + /** + * The unit price with discounts applied. + * @deprecated Use `approximateDiscountedUnitPriceSet` instead. + */ + discountedUnitPriceSet: MoneyBag; + /** + * Name of the service provider who fulfilled the order. + * + * Valid values are either **manual** or the name of the provider. + * For example, **amazon**, **shipwire**. + * + * Deleted fulfillment services will return null. + */ + fulfillmentService?: Maybe; + /** The image associated with the draft order line item. */ + image?: Maybe; + /** Whether the line item represents the purchase of a gift card. */ + isGiftCard: Scalars['Boolean']['output']; + /** The name of the product. */ + name: Scalars['String']['output']; + /** The total price, excluding discounts, equal to the original unit price multiplied by quantity. */ + originalTotal: MoneyV2; + /** The total price excluding discounts, equal to the original unit price multiplied by quantity. */ + originalTotalSet: MoneyBag; + /** The line item price without any discounts applied. */ + originalUnitPrice: MoneyV2; + /** The price without any discounts applied. */ + originalUnitPriceSet: MoneyBag; + /** The original custom line item input price. */ + originalUnitPriceWithCurrency?: Maybe; + /** The product for the line item. */ + product?: Maybe; + /** + * The quantity of items. For a bundle item, this is the quantity of bundles, + * not the quantity of items contained in the bundles themselves. + */ + quantity: Scalars['Int']['output']; + /** Whether physical shipping is required for the variant. */ + requiresShipping: Scalars['Boolean']['output']; + /** The SKU number of the product variant. */ + sku?: Maybe; + /** Whether the variant is taxable. */ + taxable: Scalars['Boolean']['output']; + /** The title of the product or variant. This field only applies to custom line items. */ + title: Scalars['String']['output']; + /** The total value of the discount. */ + totalDiscount: MoneyV2; + /** The total discount amount. */ + totalDiscountSet: MoneyBag; + /** + * The UUID of the draft order line item. Must be unique and consistent across requests. + * This field is mandatory in order to manipulate drafts with bundles. + */ + uuid: Scalars['String']['output']; + /** The product variant for the line item. */ + variant?: Maybe; + /** The name of the variant. */ + variantTitle?: Maybe; + /** The name of the vendor who created the product variant. */ + vendor?: Maybe; + /** The weight unit and value. */ + weight?: Maybe; +}; + +/** A calculated exchange line item. */ +export type CalculatedExchangeLineItem = { + __typename?: 'CalculatedExchangeLineItem'; + /** The discounts that have been allocated onto the line item by discount applications. */ + calculatedDiscountAllocations: Array; + /** The unit price of the exchange line item after discounts. */ + discountedUnitPriceSet: MoneyBag; + /** A globally-unique ID. */ + id?: Maybe; + /** The original unit price of the exchange line item before discounts. */ + originalUnitPriceSet: MoneyBag; + /** The quantity being exchanged. */ + quantity: Scalars['Int']['output']; + /** The calculated subtotal set of the exchange line item, including discounts. */ + subtotalSet: MoneyBag; + /** The total tax of the exchange line item. */ + totalTaxSet: MoneyBag; + /** The variant being exchanged. */ + variant: ProductVariant; +}; + +/** A line item involved in order editing that may be newly added or have new changes applied. */ +export type CalculatedLineItem = { + __typename?: 'CalculatedLineItem'; + /** The discounts that have been allocated onto the line item by discount applications. */ + calculatedDiscountAllocations: Array; + /** A list of attributes that represent custom features or special requests. */ + customAttributes: Array; + /** + * The discounts that have been allocated onto the line item by discount applications. + * @deprecated Use `calculatedDiscountAllocations` instead. + */ + discountAllocations: Array; + /** The price of a single quantity of the line item with line item discounts applied, in shop and presentment currencies. Discounts applied to the entire order aren't included in this price. */ + discountedUnitPriceSet: MoneyBag; + /** The total number of items that can be edited. */ + editableQuantity: Scalars['Int']['output']; + /** The editable quantity prior to any changes made in the current edit. */ + editableQuantityBeforeChanges: Scalars['Int']['output']; + /** The total price of editable lines in shop and presentment currencies. */ + editableSubtotalSet: MoneyBag; + /** Whether the calculated line item has a staged discount. */ + hasStagedLineItemDiscount: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image object associated to the line item's variant. */ + image?: Maybe; + /** The variant unit price in shop and presentment currencies, without any discounts applied. */ + originalUnitPriceSet: MoneyBag; + /** The total number of items. */ + quantity: Scalars['Int']['output']; + /** Whether the line item can be restocked or not. */ + restockable: Scalars['Boolean']['output']; + /** Whether the changes on the line item will result in a restock. */ + restocking: Scalars['Boolean']['output']; + /** The variant SKU number. */ + sku?: Maybe; + /** A list of changes that affect this line item. */ + stagedChanges: Array; + /** The title of the product. */ + title: Scalars['String']['output']; + /** The total price of uneditable lines in shop and presentment currencies. */ + uneditableSubtotalSet: MoneyBag; + /** + * The product variant associated with this line item. The value is null for custom line items and items where + * the variant has been deleted. + */ + variant?: Maybe; + /** The title of the variant. */ + variantTitle?: Maybe; +}; + +/** An auto-generated type for paginating through multiple CalculatedLineItems. */ +export type CalculatedLineItemConnection = { + __typename?: 'CalculatedLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CalculatedLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CalculatedLineItem and a cursor during pagination. */ +export type CalculatedLineItemEdge = { + __typename?: 'CalculatedLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CalculatedLineItemEdge. */ + node: CalculatedLineItem; +}; + +/** Represents a discount that was manually created for an order that is being edited. */ +export type CalculatedManualDiscountApplication = CalculatedDiscountApplication & { + __typename?: 'CalculatedManualDiscountApplication'; + /** The method by which the discount's value is allocated to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** The level at which the discount was applied. */ + appliedTo: DiscountApplicationLevel; + /** The description of discount application. Indicates the reason why the discount was applied. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** An order with edits applied but not saved. */ +export type CalculatedOrder = Node & { + __typename?: 'CalculatedOrder'; + /** Returns only the new discount applications being added to the order in the current edit. */ + addedDiscountApplications: CalculatedDiscountApplicationConnection; + /** Returns only the new line items being added to the order during the current edit. */ + addedLineItems: CalculatedLineItemConnection; + /** Amount of the order-level discount (doesn't contain any line item discounts) in shop and presentment currencies. */ + cartDiscountAmountSet?: Maybe; + /** Whether the changes have been applied and saved to the order. */ + committed: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * Returns all items on the order that existed before starting the edit. + * Will include any changes that have been made. + * Will not include line items added during the current edit. + */ + lineItems: CalculatedLineItemConnection; + /** The HTML of the customer notification for the order edit. */ + notificationPreviewHtml?: Maybe; + /** The customer notification title. */ + notificationPreviewTitle: Scalars['String']['output']; + /** The order without any changes applied. */ + originalOrder: Order; + /** + * Returns the shipping lines on the order that existed before starting the edit. + * Will include any changes that have been made as well as shipping lines added during the current edit. + * Returns only the first 250 shipping lines. + */ + shippingLines: Array; + /** List of changes made to the order during the current edit. */ + stagedChanges: OrderStagedChangeConnection; + /** The sum of the quantities for the line items that contribute to the order's subtotal. */ + subtotalLineItemsQuantity: Scalars['Int']['output']; + /** The subtotal of the line items, in shop and presentment currencies, after all the discounts are applied. The subtotal doesn't include shipping. The subtotal includes taxes for taxes-included orders and excludes taxes for taxes-excluded orders. */ + subtotalPriceSet?: Maybe; + /** Taxes charged for the line item. */ + taxLines: Array; + /** Total price of the order less the total amount received from the customer in shop and presentment currencies. */ + totalOutstandingSet: MoneyBag; + /** Total amount of the order (includes taxes and discounts) in shop and presentment currencies. */ + totalPriceSet: MoneyBag; +}; + + +/** An order with edits applied but not saved. */ +export type CalculatedOrderAddedDiscountApplicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** An order with edits applied but not saved. */ +export type CalculatedOrderAddedLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** An order with edits applied but not saved. */ +export type CalculatedOrderLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** An order with edits applied but not saved. */ +export type CalculatedOrderStagedChangesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** + * The calculated costs of handling a return line item. + * Typically, this would cover the costs of inspecting, repackaging, and restocking the item. + */ +export type CalculatedRestockingFee = CalculatedReturnFee & { + __typename?: 'CalculatedRestockingFee'; + /** The calculated amount of the return fee, in shop and presentment currencies. */ + amountSet: MoneyBag; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The value of the fee as a percentage. */ + percentage: Scalars['Float']['output']; +}; + +/** A calculated return. */ +export type CalculatedReturn = { + __typename?: 'CalculatedReturn'; + /** A list of calculated exchange line items. */ + exchangeLineItems: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** A list of calculated return line items. */ + returnLineItems: Array; + /** The calulated return shipping fee. */ + returnShippingFee?: Maybe; +}; + +/** A calculated return fee. */ +export type CalculatedReturnFee = { + /** The calculated amount of the return fee, in shop and presentment currencies. */ + amountSet: MoneyBag; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** A calculated return line item. */ +export type CalculatedReturnLineItem = { + __typename?: 'CalculatedReturnLineItem'; + /** The fulfillment line item from which items are returned. */ + fulfillmentLineItem: FulfillmentLineItem; + /** A globally-unique ID. */ + id?: Maybe; + /** The quantity being returned. */ + quantity: Scalars['Int']['output']; + /** The restocking fee of the return line item. */ + restockingFee?: Maybe; + /** The subtotal of the return line item before order discounts. */ + subtotalBeforeOrderDiscountsSet: MoneyBag; + /** The subtotal of the return line item. */ + subtotalSet: MoneyBag; + /** The total tax of the return line item. */ + totalTaxSet: MoneyBag; +}; + +/** The calculated cost of the return shipping. */ +export type CalculatedReturnShippingFee = CalculatedReturnFee & { + __typename?: 'CalculatedReturnShippingFee'; + /** The calculated amount of the return fee, in shop and presentment currencies. */ + amountSet: MoneyBag; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** A discount created by a Shopify script for an order that is being edited. */ +export type CalculatedScriptDiscountApplication = CalculatedDiscountApplication & { + __typename?: 'CalculatedScriptDiscountApplication'; + /** The method by which the discount's value is allocated to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** The level at which the discount was applied. */ + appliedTo: DiscountApplicationLevel; + /** The description of discount application. Indicates the reason why the discount was applied. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** A shipping line item involved in order editing that may be newly added or have new changes applied. */ +export type CalculatedShippingLine = { + __typename?: 'CalculatedShippingLine'; + /** A globally-unique ID. */ + id?: Maybe; + /** The price of the shipping line when sold and before applying discounts. This field includes taxes if `Order.taxesIncluded` is true. Otherwise, this field doesn't include taxes for the shipping line. */ + price: MoneyBag; + /** The staged status of the shipping line. */ + stagedStatus: CalculatedShippingLineStagedStatus; + /** The title of the shipping line. */ + title: Scalars['String']['output']; +}; + +/** Represents the staged status of a CalculatedShippingLine on a CalculatedOrder. */ +export enum CalculatedShippingLineStagedStatus { + /** The shipping line was added as part of the current order edit. */ + Added = 'ADDED', + /** The shipping line has no staged changes associated with it. */ + None = 'NONE', + /** The shipping line was removed as part of the current order edit. */ + Removed = 'REMOVED' +} + +/** Card payment details related to a transaction. */ +export type CardPaymentDetails = BasePaymentDetails & { + __typename?: 'CardPaymentDetails'; + /** The response code from the address verification system (AVS). The code is always a single letter. */ + avsResultCode?: Maybe; + /** The issuer identification number (IIN), formerly known as bank identification number (BIN) of the customer's credit card. This is made up of the first few digits of the credit card number. */ + bin?: Maybe; + /** The name of the company that issued the customer's credit card. */ + company?: Maybe; + /** The response code from the credit card company indicating whether the customer entered the card security code, or card verification value, correctly. The code is a single letter or empty string. */ + cvvResultCode?: Maybe; + /** The month in which the used credit card expires. */ + expirationMonth?: Maybe; + /** The year in which the used credit card expires. */ + expirationYear?: Maybe; + /** The holder of the credit card. */ + name?: Maybe; + /** The customer's credit card number, with most of the leading digits redacted. */ + number?: Maybe; + /** The name of payment method used by the buyer. */ + paymentMethodName?: Maybe; + /** Digital wallet used for the payment. */ + wallet?: Maybe; +}; + +/** Return type for `carrierServiceCreate` mutation. */ +export type CarrierServiceCreatePayload = { + __typename?: 'CarrierServiceCreatePayload'; + /** The created carrier service. */ + carrierService?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CarrierServiceCreate`. */ +export type CarrierServiceCreateUserError = DisplayableError & { + __typename?: 'CarrierServiceCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CarrierServiceCreateUserError`. */ +export enum CarrierServiceCreateUserErrorCode { + /** Carrier service creation failed. */ + CarrierServiceCreateFailed = 'CARRIER_SERVICE_CREATE_FAILED' +} + +/** Return type for `carrierServiceDelete` mutation. */ +export type CarrierServiceDeletePayload = { + __typename?: 'CarrierServiceDeletePayload'; + /** The ID of the deleted carrier service. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CarrierServiceDelete`. */ +export type CarrierServiceDeleteUserError = DisplayableError & { + __typename?: 'CarrierServiceDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CarrierServiceDeleteUserError`. */ +export enum CarrierServiceDeleteUserErrorCode { + /** Carrier service deletion failed. */ + CarrierServiceDeleteFailed = 'CARRIER_SERVICE_DELETE_FAILED' +} + +/** The set of valid sort keys for the CarrierService query. */ +export enum CarrierServiceSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Return type for `carrierServiceUpdate` mutation. */ +export type CarrierServiceUpdatePayload = { + __typename?: 'CarrierServiceUpdatePayload'; + /** The updated carrier service. */ + carrierService?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CarrierServiceUpdate`. */ +export type CarrierServiceUpdateUserError = DisplayableError & { + __typename?: 'CarrierServiceUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CarrierServiceUpdateUserError`. */ +export enum CarrierServiceUpdateUserErrorCode { + /** Carrier service update failed. */ + CarrierServiceUpdateFailed = 'CARRIER_SERVICE_UPDATE_FAILED' +} + +/** A Cart Transform Function to create [Customized Bundles.](https://shopify.dev/docs/apps/selling-strategies/bundles/add-a-customized-bundle). */ +export type CartTransform = HasMetafields & Node & { + __typename?: 'CartTransform'; + /** Whether a run failure will block cart and checkout operations. */ + blockOnFailure: Scalars['Boolean']['output']; + /** The ID for the Cart Transform function. */ + functionId: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; +}; + + +/** A Cart Transform Function to create [Customized Bundles.](https://shopify.dev/docs/apps/selling-strategies/bundles/add-a-customized-bundle). */ +export type CartTransformMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A Cart Transform Function to create [Customized Bundles.](https://shopify.dev/docs/apps/selling-strategies/bundles/add-a-customized-bundle). */ +export type CartTransformMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A Cart Transform Function to create [Customized Bundles.](https://shopify.dev/docs/apps/selling-strategies/bundles/add-a-customized-bundle). */ +export type CartTransformPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A Cart Transform Function to create [Customized Bundles.](https://shopify.dev/docs/apps/selling-strategies/bundles/add-a-customized-bundle). */ +export type CartTransformPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple CartTransforms. */ +export type CartTransformConnection = { + __typename?: 'CartTransformConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CartTransformEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `cartTransformCreate` mutation. */ +export type CartTransformCreatePayload = { + __typename?: 'CartTransformCreatePayload'; + /** The newly created cart transform function. */ + cartTransform?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CartTransformCreate`. */ +export type CartTransformCreateUserError = DisplayableError & { + __typename?: 'CartTransformCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CartTransformCreateUserError`. */ +export enum CartTransformCreateUserErrorCode { + /** A cart transform function already exists for the provided function_id. */ + FunctionAlreadyRegistered = 'FUNCTION_ALREADY_REGISTERED', + /** Function does not implement the required interface for this cart_transform function. */ + FunctionDoesNotImplement = 'FUNCTION_DOES_NOT_IMPLEMENT', + /** No Shopify Function found for provided function_id. */ + FunctionNotFound = 'FUNCTION_NOT_FOUND', + /** Failed to create cart transform due to invalid input. */ + InputInvalid = 'INPUT_INVALID', + /** Could not create or update metafields. */ + InvalidMetafields = 'INVALID_METAFIELDS' +} + +/** Return type for `cartTransformDelete` mutation. */ +export type CartTransformDeletePayload = { + __typename?: 'CartTransformDeletePayload'; + /** The globally-unique ID for the deleted cart transform. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CartTransformDelete`. */ +export type CartTransformDeleteUserError = DisplayableError & { + __typename?: 'CartTransformDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CartTransformDeleteUserError`. */ +export enum CartTransformDeleteUserErrorCode { + /** Could not find cart transform for provided id. */ + NotFound = 'NOT_FOUND', + /** Unauthorized app scope. */ + UnauthorizedAppScope = 'UNAUTHORIZED_APP_SCOPE' +} + +/** An auto-generated type which holds one CartTransform and a cursor during pagination. */ +export type CartTransformEdge = { + __typename?: 'CartTransformEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CartTransformEdge. */ + node: CartTransform; +}; + +/** Represents the cart transform feature configuration for the shop. */ +export type CartTransformEligibleOperations = { + __typename?: 'CartTransformEligibleOperations'; + /** The shop is eligible for expand operations. */ + expandOperation: Scalars['Boolean']['output']; + /** The shop is eligible for merge operations. */ + mergeOperation: Scalars['Boolean']['output']; + /** The shop is eligible for update operations. */ + updateOperation: Scalars['Boolean']['output']; +}; + +/** Represents the cart transform feature configuration for the shop. */ +export type CartTransformFeature = { + __typename?: 'CartTransformFeature'; + /** The cart transform operations eligible for the shop. */ + eligibleOperations: CartTransformEligibleOperations; +}; + +/** The rounding adjustment applied to total payment or refund received for an Order involving cash payments. */ +export type CashRoundingAdjustment = { + __typename?: 'CashRoundingAdjustment'; + /** The rounding adjustment that can be applied to totalReceived for an Order involving cash payments in shop and presentment currencies. Could be a positive or negative value. Value is 0 if there's no rounding, or for non-cash payments. */ + paymentSet: MoneyBag; + /** The rounding adjustment that can be applied to totalRefunded for an Order involving cash payments in shop and presentment currencies. Could be a positive or negative value. Value is 0 if there's no rounding, or for non-cash refunds. */ + refundSet: MoneyBag; +}; + +/** Tracks an adjustment to the cash in a cash tracking session for a point of sale device over the course of a shift. */ +export type CashTrackingAdjustment = Node & { + __typename?: 'CashTrackingAdjustment'; + /** The amount of cash being added or removed. */ + cash: MoneyV2; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The note entered when the adjustment was made. */ + note?: Maybe; + /** The staff member who made the adjustment. */ + staffMember: StaffMember; + /** The time when the adjustment was made. */ + time: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple CashTrackingAdjustments. */ +export type CashTrackingAdjustmentConnection = { + __typename?: 'CashTrackingAdjustmentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CashTrackingAdjustmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CashTrackingAdjustment and a cursor during pagination. */ +export type CashTrackingAdjustmentEdge = { + __typename?: 'CashTrackingAdjustmentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CashTrackingAdjustmentEdge. */ + node: CashTrackingAdjustment; +}; + +/** Tracks the balance in a cash drawer for a point of sale device over the course of a shift. */ +export type CashTrackingSession = Node & { + __typename?: 'CashTrackingSession'; + /** The adjustments made to the cash drawer during this session. */ + adjustments: CashTrackingAdjustmentConnection; + /** Whether this session is tracking cash payments. */ + cashTrackingEnabled: Scalars['Boolean']['output']; + /** The cash transactions made during this session. */ + cashTransactions: OrderTransactionConnection; + /** The counted cash balance when the session was closed. */ + closingBalance?: Maybe; + /** The note entered when the session was closed. */ + closingNote?: Maybe; + /** The user who closed the session. */ + closingStaffMember?: Maybe; + /** When the session was closed. */ + closingTime?: Maybe; + /** The expected balance at the end of the session or the expected current balance for sessions that are still open. */ + expectedBalance: MoneyV2; + /** The amount that was expected to be in the cash drawer at the end of the session, calculated after the session was closed. */ + expectedClosingBalance?: Maybe; + /** The amount expected to be in the cash drawer based on the previous session. */ + expectedOpeningBalance?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The location of the point of sale device during this session. */ + location?: Maybe; + /** The net cash sales made for the duration of this cash tracking session. */ + netCashSales: MoneyV2; + /** The counted cash balance when the session was opened. */ + openingBalance: MoneyV2; + /** The note entered when the session was opened. */ + openingNote?: Maybe; + /** The user who opened the session. */ + openingStaffMember?: Maybe; + /** When the session was opened. */ + openingTime: Scalars['DateTime']['output']; + /** The register name for the point of sale device that this session is tracking cash for. */ + registerName: Scalars['String']['output']; + /** The sum of all adjustments made during the session, excluding the final adjustment. */ + totalAdjustments?: Maybe; + /** The sum of all cash refunds for the duration of this cash tracking session. */ + totalCashRefunds: MoneyV2; + /** The sum of all cash sales for the duration of this cash tracking session. */ + totalCashSales: MoneyV2; + /** The total discrepancy for the session including starting and ending. */ + totalDiscrepancy?: Maybe; +}; + + +/** Tracks the balance in a cash drawer for a point of sale device over the course of a shift. */ +export type CashTrackingSessionAdjustmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Tracks the balance in a cash drawer for a point of sale device over the course of a shift. */ +export type CashTrackingSessionCashTransactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple CashTrackingSessions. */ +export type CashTrackingSessionConnection = { + __typename?: 'CashTrackingSessionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CashTrackingSessionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CashTrackingSession and a cursor during pagination. */ +export type CashTrackingSessionEdge = { + __typename?: 'CashTrackingSessionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CashTrackingSessionEdge. */ + node: CashTrackingSession; +}; + +/** The set of valid sort keys for the CashTrackingSessionTransactions query. */ +export enum CashTrackingSessionTransactionsSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `processed_at` value. */ + ProcessedAt = 'PROCESSED_AT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The set of valid sort keys for the CashTrackingSessions query. */ +export enum CashTrackingSessionsSortKeys { + /** Sort by the `closing_time_asc` value. */ + ClosingTimeAsc = 'CLOSING_TIME_ASC', + /** Sort by the `closing_time_desc` value. */ + ClosingTimeDesc = 'CLOSING_TIME_DESC', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `opening_time_asc` value. */ + OpeningTimeAsc = 'OPENING_TIME_ASC', + /** Sort by the `opening_time_desc` value. */ + OpeningTimeDesc = 'OPENING_TIME_DESC', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `total_discrepancy_asc` value. */ + TotalDiscrepancyAsc = 'TOTAL_DISCREPANCY_ASC', + /** Sort by the `total_discrepancy_desc` value. */ + TotalDiscrepancyDesc = 'TOTAL_DISCREPANCY_DESC' +} + +/** + * A list of products with publishing and pricing information. + * A catalog can be associated with a specific context, such as a [`Market`](https://shopify.dev/api/admin-graphql/current/objects/market), [`CompanyLocation`](https://shopify.dev/api/admin-graphql/current/objects/companylocation), or [`App`](https://shopify.dev/api/admin-graphql/current/objects/app). + */ +export type Catalog = { + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Most recent catalog operations. */ + operations: Array; + /** The price list associated with the catalog. */ + priceList?: Maybe; + /** A group of products and collections that's published to a catalog. */ + publication?: Maybe; + /** The status of the catalog. */ + status: CatalogStatus; + /** The name of the catalog. */ + title: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple Catalogs. */ +export type CatalogConnection = { + __typename?: 'CatalogConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CatalogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for the context in which the catalog's publishing and pricing rules apply. */ +export type CatalogContextInput = { + /** The IDs of the company locations to associate to the catalog. */ + companyLocationIds?: InputMaybe>; +}; + +/** Return type for `catalogContextUpdate` mutation. */ +export type CatalogContextUpdatePayload = { + __typename?: 'CatalogContextUpdatePayload'; + /** The updated catalog. */ + catalog?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields required to create a catalog. */ +export type CatalogCreateInput = { + /** The context associated with the catalog. */ + context: CatalogContextInput; + /** The ID of the price list to associate to the catalog. */ + priceListId?: InputMaybe; + /** The ID of the publication to associate to the catalog. */ + publicationId?: InputMaybe; + /** The status of the catalog. */ + status: CatalogStatus; + /** The name of the catalog. */ + title: Scalars['String']['input']; +}; + +/** Return type for `catalogCreate` mutation. */ +export type CatalogCreatePayload = { + __typename?: 'CatalogCreatePayload'; + /** The newly created catalog. */ + catalog?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A catalog csv operation represents a CSV file import. */ +export type CatalogCsvOperation = Node & ResourceOperation & { + __typename?: 'CatalogCsvOperation'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The count of processed rows, summing imported, failed, and skipped rows. */ + processedRowCount?: Maybe; + /** Represents a rows objects within this background operation. */ + rowCount?: Maybe; + /** The status of this operation. */ + status: ResourceOperationStatus; +}; + +/** Return type for `catalogDelete` mutation. */ +export type CatalogDeletePayload = { + __typename?: 'CatalogDeletePayload'; + /** The ID of the deleted catalog. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Catalog and a cursor during pagination. */ +export type CatalogEdge = { + __typename?: 'CatalogEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CatalogEdge. */ + node: Catalog; +}; + +/** The set of valid sort keys for the Catalog query. */ +export enum CatalogSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE' +} + +/** The state of a catalog. */ +export enum CatalogStatus { + /** The catalog is active. */ + Active = 'ACTIVE', + /** The catalog is archived. */ + Archived = 'ARCHIVED', + /** The catalog is in draft. */ + Draft = 'DRAFT' +} + +/** The associated catalog's type. */ +export enum CatalogType { + /** Catalogs belonging to apps. */ + App = 'APP', + /** Catalogs belonging to company locations. */ + CompanyLocation = 'COMPANY_LOCATION', + /** Catalogs belonging to markets. */ + Market = 'MARKET', + /** Not associated to a catalog. */ + None = 'NONE' +} + +/** The input fields used to update a catalog. */ +export type CatalogUpdateInput = { + /** The context associated with the catalog. */ + context?: InputMaybe; + /** The ID of the price list to associate to the catalog. */ + priceListId?: InputMaybe; + /** The ID of the publication to associate to the catalog. */ + publicationId?: InputMaybe; + /** The status of the catalog. */ + status?: InputMaybe; + /** The name of the catalog. */ + title?: InputMaybe; +}; + +/** Return type for `catalogUpdate` mutation. */ +export type CatalogUpdatePayload = { + __typename?: 'CatalogUpdatePayload'; + /** The updated catalog. */ + catalog?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Defines errors encountered while managing a catalog. */ +export type CatalogUserError = DisplayableError & { + __typename?: 'CatalogUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CatalogUserError`. */ +export enum CatalogUserErrorCode { + /** An app catalog cannot be assigned to a price list. */ + AppCatalogPriceListAssignment = 'APP_CATALOG_PRICE_LIST_ASSIGNMENT', + /** The input value is blank. */ + Blank = 'BLANK', + /** The catalog can't be associated with more than one market. */ + CannotAddMoreThanOneMarket = 'CANNOT_ADD_MORE_THAN_ONE_MARKET', + /** Cannot create a catalog for an app. */ + CannotCreateAppCatalog = 'CANNOT_CREATE_APP_CATALOG', + /** Cannot create a catalog for a market. */ + CannotCreateMarketCatalog = 'CANNOT_CREATE_MARKET_CATALOG', + /** Cannot delete a catalog for an app. */ + CannotDeleteAppCatalog = 'CANNOT_DELETE_APP_CATALOG', + /** Cannot delete a catalog for a market. */ + CannotDeleteMarketCatalog = 'CANNOT_DELETE_MARKET_CATALOG', + /** Cannot modify a catalog for an app. */ + CannotModifyAppCatalog = 'CANNOT_MODIFY_APP_CATALOG', + /** Cannot modify a catalog for a market. */ + CannotModifyMarketCatalog = 'CANNOT_MODIFY_MARKET_CATALOG', + /** Quantity price breaks can be associated only with company location catalogs. */ + CatalogContextDoesNotSupportQuantityPriceBreaks = 'CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_PRICE_BREAKS', + /** Quantity rules can be associated only with company location catalogs. */ + CatalogContextDoesNotSupportQuantityRules = 'CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_RULES', + /** Catalog failed to save. */ + CatalogFailedToSave = 'CATALOG_FAILED_TO_SAVE', + /** The catalog wasn't found. */ + CatalogNotFound = 'CATALOG_NOT_FOUND', + /** A company location catalog outside of a supported plan can only have an archived status. */ + CompanyLocationCatalogStatusPlan = 'COMPANY_LOCATION_CATALOG_STATUS_PLAN', + /** The company location could not be found. */ + CompanyLocationNotFound = 'COMPANY_LOCATION_NOT_FOUND', + /** Context driver already assigned to this catalog. */ + ContextAlreadyAssignedToCatalog = 'CONTEXT_ALREADY_ASSIGNED_TO_CATALOG', + /** Cannot save the catalog because the catalog limit for the context was reached. */ + ContextCatalogLimitReached = 'CONTEXT_CATALOG_LIMIT_REACHED', + /** The arguments `contextsToAdd` and `contextsToRemove` must match existing catalog context type. */ + ContextDriverMismatch = 'CONTEXT_DRIVER_MISMATCH', + /** A country price list cannot be assigned to a catalog. */ + CountryPriceListAssignment = 'COUNTRY_PRICE_LIST_ASSIGNMENT', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The catalog context type is invalid. */ + InvalidCatalogContextType = 'INVALID_CATALOG_CONTEXT_TYPE', + /** The catalog's market and price list currencies do not match. */ + MarketAndPriceListCurrencyMismatch = 'MARKET_AND_PRICE_LIST_CURRENCY_MISMATCH', + /** A market catalog must have an active status. */ + MarketCatalogStatus = 'MARKET_CATALOG_STATUS', + /** Market not found. */ + MarketNotFound = 'MARKET_NOT_FOUND', + /** Market already belongs to another catalog. */ + MarketTaken = 'MARKET_TAKEN', + /** Must provide exactly one context type. */ + MustProvideExactlyOneContextType = 'MUST_PROVIDE_EXACTLY_ONE_CONTEXT_TYPE', + /** Price list failed to save. */ + PriceListFailedToSave = 'PRICE_LIST_FAILED_TO_SAVE', + /** The price list is currently being modified. Please try again later. */ + PriceListLocked = 'PRICE_LIST_LOCKED', + /** A price list cannot be assigned to the primary market. */ + PriceListNotAllowedForPrimaryMarket = 'PRICE_LIST_NOT_ALLOWED_FOR_PRIMARY_MARKET', + /** Price list not found. */ + PriceListNotFound = 'PRICE_LIST_NOT_FOUND', + /** Publication not found. */ + PublicationNotFound = 'PUBLICATION_NOT_FOUND', + /** Must have `contexts_to_add` or `contexts_to_remove` argument. */ + RequiresContextsToAddOrRemove = 'REQUIRES_CONTEXTS_TO_ADD_OR_REMOVE', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** Can't perform this action on a catalog of this type. */ + UnsupportedCatalogAction = 'UNSUPPORTED_CATALOG_ACTION' +} + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type Channel = Node & { + __typename?: 'Channel'; + /** The underlying app used by the channel. */ + app: App; + /** The collection publications for the list of collections published to the channel. */ + collectionPublicationsV3: ResourcePublicationConnection; + /** The list of collections published to the channel. */ + collections: CollectionConnection; + /** + * The unique identifier for the channel. + * @deprecated Use `id` instead. + */ + handle: Scalars['String']['output']; + /** Whether the collection is available to the channel. */ + hasCollection: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the channel. */ + name: Scalars['String']['output']; + /** + * The menu items for the channel, which also appear as submenu items in the left navigation sidebar in the Shopify admin. + * @deprecated Use [AppInstallation.navigationItems]( + * https://shopify.dev/api/admin-graphql/current/objects/AppInstallation#field-appinstallation-navigationitems) instead. + */ + navigationItems: Array; + /** + * Home page for the channel. + * @deprecated Use [AppInstallation.launchUrl]( + * https://shopify.dev/api/admin-graphql/current/objects/AppInstallation#field-appinstallation-launchurl) instead. + */ + overviewPath?: Maybe; + /** + * The product publications for the products published to the channel. + * @deprecated Use `productPublicationsV3` instead. + */ + productPublications: ProductPublicationConnection; + /** The product publications for the list of products published to the channel. */ + productPublicationsV3: ResourcePublicationConnection; + /** The list of products published to the channel. */ + products: ProductConnection; + /** The count of products published to the channel. Limited to a maximum of 10000. */ + productsCount?: Maybe; + /** Whether the channel supports future publishing. */ + supportsFuturePublishing: Scalars['Boolean']['output']; +}; + + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type ChannelCollectionPublicationsV3Args = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type ChannelCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type ChannelHasCollectionArgs = { + id: Scalars['ID']['input']; +}; + + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type ChannelProductPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type ChannelProductPublicationsV3Args = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type ChannelProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A channel represents an app where you sell a group of products and collections. + * A channel can be a platform or marketplace such as Facebook or Pinterest, an online store, or POS. + */ +export type ChannelProductsCountArgs = { + query?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Channels. */ +export type ChannelConnection = { + __typename?: 'ChannelConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ChannelEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** + * A channel definition represents channels surfaces on the platform. + * A channel definition can be a platform or a subsegment of it such as Facebook Home, Instagram Live, Instagram Shops, or WhatsApp chat. + */ +export type ChannelDefinition = Node & { + __typename?: 'ChannelDefinition'; + /** Name of the channel that this sub channel belongs to. */ + channelName: Scalars['String']['output']; + /** Unique string used as a public identifier for the channel definition. */ + handle: Scalars['String']['output']; + /** The unique ID for the channel definition. */ + id: Scalars['ID']['output']; + /** Whether this channel definition represents a marketplace. */ + isMarketplace: Scalars['Boolean']['output']; + /** Name of the sub channel (e.g. Online Store, Instagram Shopping, TikTok Live). */ + subChannelName: Scalars['String']['output']; + /** Icon displayed when showing the channel in admin. */ + svgIcon?: Maybe; +}; + +/** An auto-generated type which holds one Channel and a cursor during pagination. */ +export type ChannelEdge = { + __typename?: 'ChannelEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ChannelEdge. */ + node: Channel; +}; + +/** Contains the information for a given sales channel. */ +export type ChannelInformation = Node & { + __typename?: 'ChannelInformation'; + /** The app associated with the channel. */ + app: App; + /** The channel definition associated with the channel. */ + channelDefinition?: Maybe; + /** The unique ID for the channel. */ + channelId: Scalars['ID']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** + * The settings of checkout visual customizations. + * + * To learn more about updating checkout branding settings, refer to the + * [checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert) mutation. + */ +export type CheckoutBranding = { + __typename?: 'CheckoutBranding'; + /** The customizations that apply to specific components or areas of the user interface. */ + customizations?: Maybe; + /** + * The design system allows you to set values that represent specific attributes + * of your brand like color and font. These attributes are used throughout the user + * interface. This brings consistency and allows you to easily make broad design changes. + */ + designSystem?: Maybe; +}; + +/** The container background style. */ +export enum CheckoutBrandingBackground { + /** The Base background style. */ + Base = 'BASE', + /** The Subdued background style. */ + Subdued = 'SUBDUED', + /** The Transparent background style. */ + Transparent = 'TRANSPARENT' +} + +/** Possible values for the background style. */ +export enum CheckoutBrandingBackgroundStyle { + /** The None background style. */ + None = 'NONE', + /** The Solid background style. */ + Solid = 'SOLID' +} + +/** Possible values for the border. */ +export enum CheckoutBrandingBorder { + /** The Block End border. */ + BlockEnd = 'BLOCK_END', + /** The Full border. */ + Full = 'FULL', + /** The None border. */ + None = 'NONE' +} + +/** The container border style. */ +export enum CheckoutBrandingBorderStyle { + /** The Base border style. */ + Base = 'BASE', + /** The Dashed border style. */ + Dashed = 'DASHED', + /** The Dotted border style. */ + Dotted = 'DOTTED' +} + +/** The container border width. */ +export enum CheckoutBrandingBorderWidth { + /** The Base border width. */ + Base = 'BASE', + /** The Large border width. */ + Large = 'LARGE', + /** The Large 100 border width. */ + Large_100 = 'LARGE_100', + /** The Large 200 border width. */ + Large_200 = 'LARGE_200' +} + +/** The buttons customizations. */ +export type CheckoutBrandingButton = { + __typename?: 'CheckoutBrandingButton'; + /** The background style used for buttons. */ + background?: Maybe; + /** The block padding used for buttons. */ + blockPadding?: Maybe; + /** The border used for buttons. */ + border?: Maybe; + /** The corner radius used for buttons. */ + cornerRadius?: Maybe; + /** The inline padding used for buttons. */ + inlinePadding?: Maybe; + /** The typography used for buttons. */ + typography?: Maybe; +}; + +/** Colors for buttons. */ +export type CheckoutBrandingButtonColorRoles = { + __typename?: 'CheckoutBrandingButtonColorRoles'; + /** The color of accented objects (links and focused state). */ + accent?: Maybe; + /** The color of the background. */ + background?: Maybe; + /** The color of borders. */ + border?: Maybe; + /** The decorative color for highlighting specific parts of the user interface. */ + decorative?: Maybe; + /** The colors of the button on hover. */ + hover?: Maybe; + /** The color of icons. */ + icon?: Maybe; + /** The color of text. */ + text?: Maybe; +}; + +/** The input fields to set colors for buttons. */ +export type CheckoutBrandingButtonColorRolesInput = { + /** The color of accented objects (links and focused state). */ + accent?: InputMaybe; + /** The color of the background. */ + background?: InputMaybe; + /** The color of borders. */ + border?: InputMaybe; + /** The decorative color for highlighting specific parts of the user interface. */ + decorative?: InputMaybe; + /** The colors of the button on hover. */ + hover?: InputMaybe; + /** The color of icons. */ + icon?: InputMaybe; + /** The color of text. */ + text?: InputMaybe; +}; + +/** The input fields used to update the buttons customizations. */ +export type CheckoutBrandingButtonInput = { + /** The background style used for buttons. */ + background?: InputMaybe; + /** The block padding used for buttons. */ + blockPadding?: InputMaybe; + /** The border used for buttons. */ + border?: InputMaybe; + /** The corner radius used for buttons. */ + cornerRadius?: InputMaybe; + /** The inline padding used for buttons. */ + inlinePadding?: InputMaybe; + /** The typography style used for buttons. */ + typography?: InputMaybe; +}; + +/** The customizations for the breadcrumbs that represent a buyer's journey to the checkout. */ +export type CheckoutBrandingBuyerJourney = { + __typename?: 'CheckoutBrandingBuyerJourney'; + /** An option to display or hide the breadcrumbs that represent the buyer's journey on 3-page checkout. */ + visibility?: Maybe; +}; + +/** The input fields for updating breadcrumb customizations, which represent the buyer's journey to checkout. */ +export type CheckoutBrandingBuyerJourneyInput = { + /** The visibility customizations for updating breadcrumbs, which represent the buyer's journey to checkout. */ + visibility?: InputMaybe; +}; + +/** The customizations that you can make to cart links at checkout. */ +export type CheckoutBrandingCartLink = { + __typename?: 'CheckoutBrandingCartLink'; + /** Whether the cart link is visible at checkout. */ + visibility?: Maybe; +}; + +/** Possible values for the cart link content type for the header. */ +export enum CheckoutBrandingCartLinkContentType { + /** The checkout header content type icon value. */ + Icon = 'ICON', + /** The checkout header content type image value. */ + Image = 'IMAGE', + /** The checkout header content type text value. */ + Text = 'TEXT' +} + +/** The input fields for updating the cart link customizations at checkout. */ +export type CheckoutBrandingCartLinkInput = { + /** The input to update the visibility of cart links in checkout. This hides the cart icon on one-page and the cart link in the breadcrumbs/buyer journey on three-page checkout. */ + visibility?: InputMaybe; +}; + +/** The checkboxes customizations. */ +export type CheckoutBrandingCheckbox = { + __typename?: 'CheckoutBrandingCheckbox'; + /** The corner radius used for checkboxes. */ + cornerRadius?: Maybe; +}; + +/** The input fields used to update the checkboxes customizations. */ +export type CheckoutBrandingCheckboxInput = { + /** The corner radius used for checkboxes. */ + cornerRadius?: InputMaybe; +}; + +/** The choice list customizations. */ +export type CheckoutBrandingChoiceList = { + __typename?: 'CheckoutBrandingChoiceList'; + /** The settings that apply to the 'group' variant of ChoiceList. */ + group?: Maybe; +}; + +/** The settings that apply to the 'group' variant of ChoiceList. */ +export type CheckoutBrandingChoiceListGroup = { + __typename?: 'CheckoutBrandingChoiceListGroup'; + /** The spacing between UI elements in the list. */ + spacing?: Maybe; +}; + +/** The input fields to update the settings that apply to the 'group' variant of ChoiceList. */ +export type CheckoutBrandingChoiceListGroupInput = { + /** The spacing between UI elements in the list. */ + spacing?: InputMaybe; +}; + +/** The input fields to use to update the choice list customizations. */ +export type CheckoutBrandingChoiceListInput = { + /** The settings that apply to the 'group' variant of ChoiceList. */ + group?: InputMaybe; +}; + +/** A set of colors for customizing the overall look and feel of the checkout. */ +export type CheckoutBrandingColorGlobal = { + __typename?: 'CheckoutBrandingColorGlobal'; + /** A color used for interaction, like links and focus states. */ + accent?: Maybe; + /** + * A color that's strongly associated with the merchant. Currently used for + * primary buttons, for example **Pay now**, and secondary buttons, for example **Buy again**. + */ + brand?: Maybe; + /** A semantic color used for components that communicate critical content. For example, a blocking error such as the requirement to enter a valid credit card number. */ + critical?: Maybe; + /** A color used to highlight certain areas of the user interface. For example, the [`Text`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/titles-and-text/text#textprops-propertydetail-appearance) component. */ + decorative?: Maybe; + /** A semantic color used for components that communicate general, informative content. */ + info?: Maybe; + /** A semantic color used for components that communicate successful actions or a positive state. */ + success?: Maybe; + /** A semantic color used for components that display content that requires attention. For example, something that might be wrong, but not blocking. */ + warning?: Maybe; +}; + +/** The input fields to customize the overall look and feel of the checkout. */ +export type CheckoutBrandingColorGlobalInput = { + /** A color used for interaction, like links and focus states. */ + accent?: InputMaybe; + /** + * A color that's strongly associated with the merchant. Currently used for + * primary buttons, such as **Pay now**, and secondary buttons, such as **Buy again**. + */ + brand?: InputMaybe; + /** A semantic color used for components that communicate critical content. For example, a blocking error such as the requirement to enter a valid credit card number. */ + critical?: InputMaybe; + /** A color used to highlight certain areas of the user interface. For example, the [`Text`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/titles-and-text/text#textprops-propertydetail-appearance) component. */ + decorative?: InputMaybe; + /** A semantic color used for components that communicate general, informative content. */ + info?: InputMaybe; + /** A semantic color used for components that communicate successful actions or a positive state. */ + success?: InputMaybe; + /** A semantic color used for components that display content that requires attention. For example, something that might be wrong, but not blocking. */ + warning?: InputMaybe; +}; + +/** A group of colors used together on a surface. */ +export type CheckoutBrandingColorRoles = { + __typename?: 'CheckoutBrandingColorRoles'; + /** The color of accented objects (links and focused state). */ + accent?: Maybe; + /** The color of the background. */ + background?: Maybe; + /** The color of borders. */ + border?: Maybe; + /** The decorative color for highlighting specific parts of the user interface. */ + decorative?: Maybe; + /** The color of icons. */ + icon?: Maybe; + /** The color of text. */ + text?: Maybe; +}; + +/** The input fields for a group of colors used together on a surface. */ +export type CheckoutBrandingColorRolesInput = { + /** The color of accented objects (links and focused state). */ + accent?: InputMaybe; + /** The color of the background. */ + background?: InputMaybe; + /** The color of borders. */ + border?: InputMaybe; + /** The decorative color for highlighting specific parts of the user interface. */ + decorative?: InputMaybe; + /** The color of icons. */ + icon?: InputMaybe; + /** The color of text. */ + text?: InputMaybe; +}; + +/** + * A base set of color customizations that's applied to an area of Checkout, from which every component + * pulls its colors. + */ +export type CheckoutBrandingColorScheme = { + __typename?: 'CheckoutBrandingColorScheme'; + /** The main colors of a scheme. Used for the surface background, text, links, and more. */ + base?: Maybe; + /** The colors of form controls, such as the [`TextField`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/textfield) and [`ChoiceList`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/choicelist) components. */ + control?: Maybe; + /** The colors of the primary button. For example, the main payment, or **Pay now** button. */ + primaryButton?: Maybe; + /** The colors of the secondary button, which is used for secondary actions. For example, **Buy again**. */ + secondaryButton?: Maybe; +}; + +/** + * The input fields for a base set of color customizations that's applied to an area of Checkout, from which + * every component pulls its colors. + */ +export type CheckoutBrandingColorSchemeInput = { + /** The main colors of a scheme. Used for the surface background, text, links, and more. */ + base?: InputMaybe; + /** The colors of form controls, such as the [`TextField`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/textfield) and [`ChoiceList`](https://shopify.dev/docs/api/checkout-ui-extensions/latest/components/forms/choicelist) components. */ + control?: InputMaybe; + /** The colors of the primary button. For example, the main payment, or **Pay now** button. */ + primaryButton?: InputMaybe; + /** The colors of the secondary button, which is used for secondary actions. For example, **Buy again**. */ + secondaryButton?: InputMaybe; +}; + +/** The possible color schemes. */ +export enum CheckoutBrandingColorSchemeSelection { + /** The COLOR_SCHEME1 color scheme selection. */ + ColorScheme1 = 'COLOR_SCHEME1', + /** The COLOR_SCHEME2 color scheme selection. */ + ColorScheme2 = 'COLOR_SCHEME2', + /** The COLOR_SCHEME3 color scheme selection. */ + ColorScheme3 = 'COLOR_SCHEME3', + /** The COLOR_SCHEME4 color scheme selection. */ + ColorScheme4 = 'COLOR_SCHEME4', + /** The TRANSPARENT color scheme selection. */ + Transparent = 'TRANSPARENT' +} + +/** The color schemes. */ +export type CheckoutBrandingColorSchemes = { + __typename?: 'CheckoutBrandingColorSchemes'; + /** The primary scheme. By default, it’s used for the main area of the interface. */ + scheme1?: Maybe; + /** The secondary scheme. By default, it’s used for secondary areas, like Checkout’s Order Summary. */ + scheme2?: Maybe; + /** An extra scheme available to customize more surfaces, components or specific states of the user interface. */ + scheme3?: Maybe; + /** An extra scheme available to customize more surfaces, components or specific states of the user interface. */ + scheme4?: Maybe; +}; + +/** The input fields for the color schemes. */ +export type CheckoutBrandingColorSchemesInput = { + /** The primary scheme. By default, it’s used for the main area of the interface. */ + scheme1?: InputMaybe; + /** The secondary scheme. By default, it’s used for secondary areas, like Checkout’s Order Summary. */ + scheme2?: InputMaybe; + /** An extra scheme available to customize more surfaces, components or specific states of the user interface. */ + scheme3?: InputMaybe; + /** An extra scheme available to customize more surfaces, components or specific states of the user interface. */ + scheme4?: InputMaybe; +}; + +/** The possible colors. */ +export enum CheckoutBrandingColorSelection { + /** Transparent color selection. */ + Transparent = 'TRANSPARENT' +} + +/** The color settings for global colors and color schemes. */ +export type CheckoutBrandingColors = { + __typename?: 'CheckoutBrandingColors'; + /** A group of global colors for customizing the overall look and feel of the user interface. */ + global?: Maybe; + /** A set of color schemes which apply to different areas of the user interface. */ + schemes?: Maybe; +}; + +/** The input fields used to update the color settings for global colors and color schemes. */ +export type CheckoutBrandingColorsInput = { + /** The input to update global colors for customizing the overall look and feel of the user interface. */ + global?: InputMaybe; + /** The input to define color schemes which apply to different areas of the user interface. */ + schemes?: InputMaybe; +}; + +/** The container's divider customizations. */ +export type CheckoutBrandingContainerDivider = { + __typename?: 'CheckoutBrandingContainerDivider'; + /** The divider style. */ + borderStyle?: Maybe; + /** The divider width. */ + borderWidth?: Maybe; + /** The divider visibility. */ + visibility?: Maybe; +}; + +/** The input fields used to update a container's divider customizations. */ +export type CheckoutBrandingContainerDividerInput = { + /** The divider style. */ + borderStyle?: InputMaybe; + /** The divider width. */ + borderWidth?: InputMaybe; + /** The divider visibility. */ + visibility?: InputMaybe; +}; + +/** The content container customizations. */ +export type CheckoutBrandingContent = { + __typename?: 'CheckoutBrandingContent'; + /** The content container's divider style and visibility. */ + divider?: Maybe; +}; + +/** The input fields used to update the content container customizations. */ +export type CheckoutBrandingContentInput = { + /** Divider style and visibility on the content container. */ + divider?: InputMaybe; +}; + +/** The form controls customizations. */ +export type CheckoutBrandingControl = { + __typename?: 'CheckoutBrandingControl'; + /** The border used for form controls. */ + border?: Maybe; + /** Set to TRANSPARENT to define transparent form controls. If null, form controls inherit colors from their scheme settings (for example, the main section inherits from `design_system.colors.schemes.scheme1.control` by default). Note that usage of the `customizations.control.color` setting to customize the form control color is deprecated. */ + color?: Maybe; + /** The corner radius used for form controls. */ + cornerRadius?: Maybe; + /** The label position used for form controls. */ + labelPosition?: Maybe; +}; + +/** Colors for form controls. */ +export type CheckoutBrandingControlColorRoles = { + __typename?: 'CheckoutBrandingControlColorRoles'; + /** The color of accented objects (links and focused state). */ + accent?: Maybe; + /** The color of the background. */ + background?: Maybe; + /** The color of borders. */ + border?: Maybe; + /** The decorative color for highlighting specific parts of the user interface. */ + decorative?: Maybe; + /** The color of icons. */ + icon?: Maybe; + /** The colors of selected controls. */ + selected?: Maybe; + /** The color of text. */ + text?: Maybe; +}; + +/** The input fields to define colors for form controls. */ +export type CheckoutBrandingControlColorRolesInput = { + /** The color of accented objects (links and focused state). */ + accent?: InputMaybe; + /** The color of the background. */ + background?: InputMaybe; + /** The color of borders. */ + border?: InputMaybe; + /** The decorative color for highlighting specific parts of the user interface. */ + decorative?: InputMaybe; + /** The color of icons. */ + icon?: InputMaybe; + /** The colors of selected controls. */ + selected?: InputMaybe; + /** The color of text. */ + text?: InputMaybe; +}; + +/** The input fields used to update the form controls customizations. */ +export type CheckoutBrandingControlInput = { + /** The border used for form controls. */ + border?: InputMaybe; + /** Set to TRANSPARENT to define transparent form controls. If null, form controls inherit colors from their scheme settings (for example, the main section inherits from `design_system.colors.schemes.scheme1.control` by default). Note that usage of the `customizations.control.color` setting to customize the form control color is deprecated. */ + color?: InputMaybe; + /** The corner radius used for form controls. */ + cornerRadius?: InputMaybe; + /** The label position used for form controls. */ + labelPosition?: InputMaybe; +}; + +/** + * The options for customizing the corner radius of checkout-related objects. Examples include the primary + * button, the name text fields and the sections within the main area (if they have borders). + * Refer to this complete [list](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius#fieldswith) + * for objects with customizable corner radii. + * + * The design system defines the corner radius pixel size for each option. Modify the defaults by setting the + * [designSystem.cornerRadius](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CheckoutBrandingDesignSystemInput#field-checkoutbrandingdesignsysteminput-cornerradius) + * input fields. + */ +export enum CheckoutBrandingCornerRadius { + /** The corner radius with a pixel value defined by designSystem.cornerRadius.base. */ + Base = 'BASE', + /** The corner radius with a pixel value defined by designSystem.cornerRadius.large. */ + Large = 'LARGE', + /** The 0px corner radius (square corners). */ + None = 'NONE', + /** The corner radius with a pixel value defined by designSystem.cornerRadius.small. */ + Small = 'SMALL' +} + +/** Define the pixel size of corner radius options. */ +export type CheckoutBrandingCornerRadiusVariables = { + __typename?: 'CheckoutBrandingCornerRadiusVariables'; + /** The value in pixels for base corner radii. Example: 5. */ + base?: Maybe; + /** The value in pixels for large corner radii. Example: 10. */ + large?: Maybe; + /** The value in pixels for small corner radii. Example: 3. */ + small?: Maybe; +}; + +/** The input fields used to update the corner radius variables. */ +export type CheckoutBrandingCornerRadiusVariablesInput = { + /** The value in pixels for base corner radii. It should be greater than zero. Example: 5. */ + base?: InputMaybe; + /** The value in pixels for large corner radii. It should be greater than zero. Example: 10. */ + large?: InputMaybe; + /** The value in pixels for small corner radii. It should be greater than zero. Example: 3. */ + small?: InputMaybe; +}; + +/** A custom font. */ +export type CheckoutBrandingCustomFont = CheckoutBrandingFont & { + __typename?: 'CheckoutBrandingCustomFont'; + /** Globally unique ID reference to the custom font file. */ + genericFileId?: Maybe; + /** The font sources. */ + sources?: Maybe; + /** The font weight. */ + weight?: Maybe; +}; + +/** The input fields required to update a custom font group. */ +export type CheckoutBrandingCustomFontGroupInput = { + /** The base font. */ + base: CheckoutBrandingCustomFontInput; + /** The bold font. */ + bold: CheckoutBrandingCustomFontInput; + /** The font loading strategy. */ + loadingStrategy?: InputMaybe; +}; + +/** The input fields required to update a font. */ +export type CheckoutBrandingCustomFontInput = { + /** + * A globally-unique ID for a font file uploaded via the Files api. + * Allowed font types are .woff and .woff2. + */ + genericFileId: Scalars['ID']['input']; + /** The font weight. Its value should be between 100 and 900. */ + weight: Scalars['Int']['input']; +}; + +/** The customizations that apply to specific components or areas of the user interface. */ +export type CheckoutBrandingCustomizations = { + __typename?: 'CheckoutBrandingCustomizations'; + /** The customizations for the breadcrumbs that represent a buyer's journey to the checkout. */ + buyerJourney?: Maybe; + /** The checkout cart link customizations. For example, by setting the visibility field to `HIDDEN`, you can hide the cart icon in the header for one-page checkout, and the cart link in breadcrumbs in three-page checkout. */ + cartLink?: Maybe; + /** The checkboxes customizations. */ + checkbox?: Maybe; + /** The choice list customizations. */ + choiceList?: Maybe; + /** The content container customizations. */ + content?: Maybe; + /** The form controls customizations. */ + control?: Maybe; + /** The customizations for the page, content, main, and order summary dividers. For example, by setting the borderStyle to `DOTTED`, you can make these dividers render as dotted lines. */ + divider?: Maybe; + /** The express checkout customizations. */ + expressCheckout?: Maybe; + /** The favicon image. */ + favicon?: Maybe; + /** The footer customizations. */ + footer?: Maybe; + /** The global customizations. */ + global?: Maybe; + /** The header customizations. */ + header?: Maybe; + /** The Heading Level 1 customizations. */ + headingLevel1?: Maybe; + /** The Heading Level 2 customizations. */ + headingLevel2?: Maybe; + /** The Heading Level 3 customizations. */ + headingLevel3?: Maybe; + /** The main area customizations. */ + main?: Maybe; + /** The merchandise thumbnails customizations. */ + merchandiseThumbnail?: Maybe; + /** The order summary customizations. */ + orderSummary?: Maybe; + /** The primary buttons customizations. */ + primaryButton?: Maybe; + /** The secondary buttons customizations. */ + secondaryButton?: Maybe; + /** The selects customizations. */ + select?: Maybe; + /** The text fields customizations. */ + textField?: Maybe; +}; + +/** The input fields used to update the components customizations. */ +export type CheckoutBrandingCustomizationsInput = { + /** The customizations for the breadcrumbs that represent a buyer's journey to the checkout. */ + buyerJourney?: InputMaybe; + /** The input for checkout cart link customizations. For example, by setting the visibility field to `HIDDEN`, you can hide the cart icon in the header for one-page checkout, and the cart link in breadcrumbs in three-page checkout. */ + cartLink?: InputMaybe; + /** The checkboxes customizations. */ + checkbox?: InputMaybe; + /** The choice list customizations. */ + choiceList?: InputMaybe; + /** The content container customizations. */ + content?: InputMaybe; + /** The form controls customizations. */ + control?: InputMaybe; + /** The input for the page, content, main, and order summary dividers customizations. For example, by setting the borderStyle to `DOTTED`, you can make these dividers render as dotted lines. */ + divider?: InputMaybe; + /** The express checkout customizations. */ + expressCheckout?: InputMaybe; + /** The favicon image (must be of PNG format). */ + favicon?: InputMaybe; + /** The footer customizations. */ + footer?: InputMaybe; + /** The global customizations. */ + global?: InputMaybe; + /** The header customizations. */ + header?: InputMaybe; + /** The Heading Level 1 customizations. */ + headingLevel1?: InputMaybe; + /** The Heading Level 2 customizations. */ + headingLevel2?: InputMaybe; + /** The Heading Level 3 customizations. */ + headingLevel3?: InputMaybe; + /** The main area customizations. */ + main?: InputMaybe; + /** The merchandise thumbnails customizations. */ + merchandiseThumbnail?: InputMaybe; + /** The order summary customizations. */ + orderSummary?: InputMaybe; + /** The primary buttons customizations. */ + primaryButton?: InputMaybe; + /** The secondary buttons customizations. */ + secondaryButton?: InputMaybe; + /** The selects customizations. */ + select?: InputMaybe; + /** The text fields customizations. */ + textField?: InputMaybe; +}; + +/** + * The design system allows you to set values that represent specific attributes + * of your brand like color and font. These attributes are used throughout the user + * interface. This brings consistency and allows you to easily make broad design changes. + */ +export type CheckoutBrandingDesignSystem = { + __typename?: 'CheckoutBrandingDesignSystem'; + /** The color settings for global colors and color schemes. */ + colors?: Maybe; + /** The corner radius variables. */ + cornerRadius?: Maybe; + /** The typography. */ + typography?: Maybe; +}; + +/** The input fields used to update the design system. */ +export type CheckoutBrandingDesignSystemInput = { + /** The color settings for global colors and color schemes. */ + colors?: InputMaybe; + /** The corner radius variables. */ + cornerRadius?: InputMaybe; + /** The typography. */ + typography?: InputMaybe; +}; + +/** The customizations for the page, content, main, and order summary dividers. */ +export type CheckoutBrandingDividerStyle = { + __typename?: 'CheckoutBrandingDividerStyle'; + /** The border style for the divider. */ + borderStyle?: Maybe; + /** The border width for the divider. */ + borderWidth?: Maybe; +}; + +/** The input fields used to update the page, content, main and order summary dividers customizations. */ +export type CheckoutBrandingDividerStyleInput = { + /** The border style for the divider. */ + borderStyle?: InputMaybe; + /** The border width for the divider. */ + borderWidth?: InputMaybe; +}; + +/** The Express Checkout customizations. */ +export type CheckoutBrandingExpressCheckout = { + __typename?: 'CheckoutBrandingExpressCheckout'; + /** The Express Checkout buttons customizations. */ + button?: Maybe; +}; + +/** The Express Checkout button customizations. */ +export type CheckoutBrandingExpressCheckoutButton = { + __typename?: 'CheckoutBrandingExpressCheckoutButton'; + /** The corner radius used for the Express Checkout buttons. */ + cornerRadius?: Maybe; +}; + +/** The input fields to use to update the express checkout customizations. */ +export type CheckoutBrandingExpressCheckoutButtonInput = { + /** The corner radius used for Express Checkout buttons. */ + cornerRadius?: InputMaybe; +}; + +/** The input fields to use to update the Express Checkout customizations. */ +export type CheckoutBrandingExpressCheckoutInput = { + /** The Express Checkout buttons customizations. */ + button?: InputMaybe; +}; + +/** A font. */ +export type CheckoutBrandingFont = { + /** The font sources. */ + sources?: Maybe; + /** The font weight. */ + weight?: Maybe; +}; + +/** + * A font group. To learn more about updating fonts, refer to the + * [checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert) + * mutation and the checkout branding [tutorial](https://shopify.dev/docs/apps/checkout/styling). + */ +export type CheckoutBrandingFontGroup = { + __typename?: 'CheckoutBrandingFontGroup'; + /** The base font. */ + base?: Maybe; + /** The bold font. */ + bold?: Maybe; + /** The font loading strategy. */ + loadingStrategy?: Maybe; + /** The font group name. */ + name?: Maybe; +}; + +/** + * The input fields used to update a font group. To learn more about updating fonts, refer to the + * [checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert) + * mutation and the checkout branding [tutorial](https://shopify.dev/docs/apps/checkout/styling). + */ +export type CheckoutBrandingFontGroupInput = { + /** A custom font group. */ + customFontGroup?: InputMaybe; + /** A Shopify font group. */ + shopifyFontGroup?: InputMaybe; +}; + +/** + * The font loading strategy determines how a font face is displayed after it is loaded or failed to load. + * For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display. + */ +export enum CheckoutBrandingFontLoadingStrategy { + /** The font display strategy is defined by the browser user agent. */ + Auto = 'AUTO', + /** Gives the font face a short block period and an infinite swap period. */ + Block = 'BLOCK', + /** Gives the font face an extremely small block period and a short swap period. */ + Fallback = 'FALLBACK', + /** Gives the font face an extremely small block period and no swap period. */ + Optional = 'OPTIONAL', + /** Gives the font face an extremely small block period and an infinite swap period. */ + Swap = 'SWAP' +} + +/** The font size. */ +export type CheckoutBrandingFontSize = { + __typename?: 'CheckoutBrandingFontSize'; + /** The base font size. */ + base?: Maybe; + /** The scale ratio used to derive all font sizes such as small and large. */ + ratio?: Maybe; +}; + +/** The input fields used to update the font size. */ +export type CheckoutBrandingFontSizeInput = { + /** The base font size. Its value should be between 12.0 and 18.0. */ + base?: InputMaybe; + /** The scale ratio used to derive all font sizes such as small and large. Its value should be between 1.0 and 1.4. */ + ratio?: InputMaybe; +}; + +/** A container for the footer section customizations. */ +export type CheckoutBrandingFooter = { + __typename?: 'CheckoutBrandingFooter'; + /** The footer alignment. */ + alignment?: Maybe; + /** The selected color scheme of the footer container. */ + colorScheme?: Maybe; + /** The footer content settings. */ + content?: Maybe; + /** The divided setting. */ + divided?: Maybe; + /** The padding of the footer container. */ + padding?: Maybe; + /** The footer position. */ + position?: Maybe; +}; + +/** Possible values for the footer alignment. */ +export enum CheckoutBrandingFooterAlignment { + /** The checkout footer alignment Center value. */ + Center = 'CENTER', + /** The checkout footer alignment End value. */ + End = 'END', + /** The checkout footer alignment Start value. */ + Start = 'START' +} + +/** The footer content customizations. */ +export type CheckoutBrandingFooterContent = { + __typename?: 'CheckoutBrandingFooterContent'; + /** The visibility settings for footer content. */ + visibility?: Maybe; +}; + +/** The input fields for footer content customizations. */ +export type CheckoutBrandingFooterContentInput = { + /** The visibility settings for footer content. */ + visibility?: InputMaybe; +}; + +/** The input fields when mutating the checkout footer settings. */ +export type CheckoutBrandingFooterInput = { + /** The footer alignment settings. You can set the footer native content alignment to the left, center, or right. */ + alignment?: InputMaybe; + /** The selected color scheme of the footer container. */ + colorScheme?: InputMaybe; + /** The input field for setting the footer content customizations. */ + content?: InputMaybe; + /** The divided setting. */ + divided?: InputMaybe; + /** The padding of the footer container. */ + padding?: InputMaybe; + /** The input field for setting the footer position customizations. */ + position?: InputMaybe; +}; + +/** Possible values for the footer position. */ +export enum CheckoutBrandingFooterPosition { + /** The End footer position. */ + End = 'END', + /** The Inline footer position. */ + Inline = 'INLINE' +} + +/** The global customizations. */ +export type CheckoutBrandingGlobal = { + __typename?: 'CheckoutBrandingGlobal'; + /** + * The global corner radius setting that overrides all other [corner radius](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius) + * customizations. + */ + cornerRadius?: Maybe; + /** The global typography customizations. */ + typography?: Maybe; +}; + +/** + * Possible choices to override corner radius customizations on all applicable objects. Note that this selection + * can only be used to set the override to `NONE` (0px). + * + * For more customizations options, set the [corner radius](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius) + * selection on specific objects while leaving the global corner radius unset. + */ +export enum CheckoutBrandingGlobalCornerRadius { + /** Set the global corner radius override to 0px (square corners). */ + None = 'NONE' +} + +/** The input fields used to update the global customizations. */ +export type CheckoutBrandingGlobalInput = { + /** + * Select a global corner radius setting that overrides all other [corner radii](https://shopify.dev/docs/api/admin-graphql/latest/enums/CheckoutBrandingCornerRadius) + * customizations. + */ + cornerRadius?: InputMaybe; + /** The global typography customizations. */ + typography?: InputMaybe; +}; + +/** The header customizations. */ +export type CheckoutBrandingHeader = { + __typename?: 'CheckoutBrandingHeader'; + /** The header alignment. */ + alignment?: Maybe; + /** The background image of the header. */ + banner?: Maybe; + /** The cart link customizations for 1-page checkout. This field allows to customize the cart icon that renders by default on 1-page checkout. */ + cartLink?: Maybe; + /** The selected color scheme of the header container. */ + colorScheme?: Maybe; + /** The divided setting. */ + divided?: Maybe; + /** The store logo. */ + logo?: Maybe; + /** The padding of the header container. */ + padding?: Maybe; + /** The header position. */ + position?: Maybe; +}; + +/** The possible header alignments. */ +export enum CheckoutBrandingHeaderAlignment { + /** Center alignment. */ + Center = 'CENTER', + /** End alignment. */ + End = 'END', + /** Start alignment. */ + Start = 'START' +} + +/** The header cart link customizations. */ +export type CheckoutBrandingHeaderCartLink = { + __typename?: 'CheckoutBrandingHeaderCartLink'; + /** The content type for the header back to cart link in 1-page checkout. Setting this to image will render the custom image provided using the image field on the header cart_link object. If no image is provided, the default cart icon will be used. */ + contentType?: Maybe; + /** The image that's used for the header back to cart link in 1-page checkout when the content type is set to image. */ + image?: Maybe; +}; + +/** The input fields for header cart link customizations. */ +export type CheckoutBrandingHeaderCartLinkInput = { + /** The input for the content type for the header back to cart link in 1-page checkout. Setting this to image will render the custom image provided using the image field on the header cart_link object. If no image is provided, the default cart icon will be used. */ + contentType?: InputMaybe; + /** The input for the image that's used for the header back to cart link in 1-page checkout when the content type is set to image. */ + image?: InputMaybe; +}; + +/** The input fields used to update the header customizations. */ +export type CheckoutBrandingHeaderInput = { + /** The header alignment. */ + alignment?: InputMaybe; + /** The background image of the header (must not be of SVG format). */ + banner?: InputMaybe; + /** The input for cart link customizations for 1-page checkout. This field allows to customize the cart icon that renders by default on 1-page checkout. */ + cartLink?: InputMaybe; + /** The selected color scheme of the header container. */ + colorScheme?: InputMaybe; + /** The divided setting. */ + divided?: InputMaybe; + /** The store logo. */ + logo?: InputMaybe; + /** The padding of the header container. */ + padding?: InputMaybe; + /** The header position. */ + position?: InputMaybe; +}; + +/** The possible header positions. */ +export enum CheckoutBrandingHeaderPosition { + /** Inline position. */ + Inline = 'INLINE', + /** Secondary inline position. */ + InlineSecondary = 'INLINE_SECONDARY', + /** Start position. */ + Start = 'START' +} + +/** The heading level customizations. */ +export type CheckoutBrandingHeadingLevel = { + __typename?: 'CheckoutBrandingHeadingLevel'; + /** The typography customizations used for headings. */ + typography?: Maybe; +}; + +/** The input fields for heading level customizations. */ +export type CheckoutBrandingHeadingLevelInput = { + /** The typography customizations used for headings. */ + typography?: InputMaybe; +}; + +/** A checkout branding image. */ +export type CheckoutBrandingImage = { + __typename?: 'CheckoutBrandingImage'; + /** The image details. */ + image?: Maybe; +}; + +/** The input fields used to update a checkout branding image uploaded via the Files API. */ +export type CheckoutBrandingImageInput = { + /** A globally-unique ID. */ + mediaImageId?: InputMaybe; +}; + +/** The input fields used to upsert the checkout branding settings. */ +export type CheckoutBrandingInput = { + /** The customizations that apply to specific components or areas of the user interface. */ + customizations?: InputMaybe; + /** + * The design system allows you to set values that represent specific attributes + * of your brand like color and font. These attributes are used throughout the user + * interface. This brings consistency and allows you to easily make broad design changes. + */ + designSystem?: InputMaybe; +}; + +/** Possible values for the label position. */ +export enum CheckoutBrandingLabelPosition { + /** The Inside label position. */ + Inside = 'INSIDE', + /** The Outside label position. */ + Outside = 'OUTSIDE' +} + +/** The store logo customizations. */ +export type CheckoutBrandingLogo = { + __typename?: 'CheckoutBrandingLogo'; + /** The logo image. */ + image?: Maybe; + /** The maximum width of the logo. */ + maxWidth?: Maybe; + /** The visibility of the logo. */ + visibility?: Maybe; +}; + +/** The input fields used to update the logo customizations. */ +export type CheckoutBrandingLogoInput = { + /** The logo image (must not be of SVG format). */ + image?: InputMaybe; + /** The maximum width of the logo. */ + maxWidth?: InputMaybe; + /** The visibility of the logo. */ + visibility?: InputMaybe; +}; + +/** The main container customizations. */ +export type CheckoutBrandingMain = { + __typename?: 'CheckoutBrandingMain'; + /** The background image of the main container. */ + backgroundImage?: Maybe; + /** The selected color scheme of the main container. */ + colorScheme?: Maybe; + /** The main container's divider style and visibility. */ + divider?: Maybe; + /** The settings for the main sections. */ + section?: Maybe; +}; + +/** The input fields used to update the main container customizations. */ +export type CheckoutBrandingMainInput = { + /** The background image of the main container (must not be of SVG format). */ + backgroundImage?: InputMaybe; + /** The selected color scheme for the main container of the checkout. */ + colorScheme?: InputMaybe; + /** Divider style and visibility on the main container. */ + divider?: InputMaybe; + /** The settings for the main sections. */ + section?: InputMaybe; +}; + +/** The main sections customizations. */ +export type CheckoutBrandingMainSection = { + __typename?: 'CheckoutBrandingMainSection'; + /** The background style of the main sections. */ + background?: Maybe; + /** The border for the main sections. */ + border?: Maybe; + /** The border style of the main sections. */ + borderStyle?: Maybe; + /** The border width of the main sections. */ + borderWidth?: Maybe; + /** The selected color scheme of the main sections. */ + colorScheme?: Maybe; + /** The corner radius of the main sections. */ + cornerRadius?: Maybe; + /** The padding of the main sections. */ + padding?: Maybe; + /** The shadow of the main sections. */ + shadow?: Maybe; +}; + +/** The input fields used to update the main sections customizations. */ +export type CheckoutBrandingMainSectionInput = { + /** The background style of the main sections. */ + background?: InputMaybe; + /** The border for the main sections. */ + border?: InputMaybe; + /** The border style of the main sections. */ + borderStyle?: InputMaybe; + /** The border width of the main sections. */ + borderWidth?: InputMaybe; + /** The selected color scheme for the main sections. */ + colorScheme?: InputMaybe; + /** The corner radius of the main sections. */ + cornerRadius?: InputMaybe; + /** The padding of the main sections. */ + padding?: InputMaybe; + /** The shadow of the main sections. */ + shadow?: InputMaybe; +}; + +/** The merchandise thumbnails customizations. */ +export type CheckoutBrandingMerchandiseThumbnail = { + __typename?: 'CheckoutBrandingMerchandiseThumbnail'; + /** The border used for merchandise thumbnails. */ + border?: Maybe; + /** The corner radius used for merchandise thumbnails. */ + cornerRadius?: Maybe; +}; + +/** The input fields used to update the merchandise thumbnails customizations. */ +export type CheckoutBrandingMerchandiseThumbnailInput = { + /** The border used for merchandise thumbnails. */ + border?: InputMaybe; + /** The corner radius used for merchandise thumbnails. */ + cornerRadius?: InputMaybe; +}; + +/** The order summary customizations. */ +export type CheckoutBrandingOrderSummary = { + __typename?: 'CheckoutBrandingOrderSummary'; + /** The background image of the order summary container. */ + backgroundImage?: Maybe; + /** The selected color scheme of the order summary container. */ + colorScheme?: Maybe; + /** The order summary container's divider style and visibility. */ + divider?: Maybe; + /** The settings for the order summary sections. */ + section?: Maybe; +}; + +/** The input fields used to update the order summary container customizations. */ +export type CheckoutBrandingOrderSummaryInput = { + /** The background image of the order summary container (must not be of SVG format). */ + backgroundImage?: InputMaybe; + /** The selected color scheme for the order summary container of the checkout. */ + colorScheme?: InputMaybe; + /** Divider style and visibility on the order summary container. */ + divider?: InputMaybe; + /** The settings for the order summary sections. */ + section?: InputMaybe; +}; + +/** The order summary sections customizations. */ +export type CheckoutBrandingOrderSummarySection = { + __typename?: 'CheckoutBrandingOrderSummarySection'; + /** The background style of the order summary sections. */ + background?: Maybe; + /** The border for the order summary sections. */ + border?: Maybe; + /** The border style of the order summary sections. */ + borderStyle?: Maybe; + /** The border width of the order summary sections. */ + borderWidth?: Maybe; + /** The selected color scheme of the order summary sections. */ + colorScheme?: Maybe; + /** The corner radius of the order summary sections. */ + cornerRadius?: Maybe; + /** The padding of the order summary sections. */ + padding?: Maybe; + /** The shadow of the order summary sections. */ + shadow?: Maybe; +}; + +/** The input fields used to update the order summary sections customizations. */ +export type CheckoutBrandingOrderSummarySectionInput = { + /** The background style of the order summary sections. */ + background?: InputMaybe; + /** The border for the order summary sections. */ + border?: InputMaybe; + /** The border style of the order summary sections. */ + borderStyle?: InputMaybe; + /** The border width of the order summary sections. */ + borderWidth?: InputMaybe; + /** The selected color scheme for the order summary sections. */ + colorScheme?: InputMaybe; + /** The corner radius of the order summary sections. */ + cornerRadius?: InputMaybe; + /** The padding of the order summary sections. */ + padding?: InputMaybe; + /** The shadow of the order summary sections. */ + shadow?: InputMaybe; +}; + +/** The selects customizations. */ +export type CheckoutBrandingSelect = { + __typename?: 'CheckoutBrandingSelect'; + /** The border used for selects. */ + border?: Maybe; + /** The typography customizations used for selects. */ + typography?: Maybe; +}; + +/** The input fields used to update the selects customizations. */ +export type CheckoutBrandingSelectInput = { + /** The border used for selects. */ + border?: InputMaybe; + /** The typography customizations used for selects. */ + typography?: InputMaybe; +}; + +/** The container shadow. */ +export enum CheckoutBrandingShadow { + /** The Base shadow. */ + Base = 'BASE', + /** The Large 100 shadow. */ + Large_100 = 'LARGE_100', + /** The Large 200 shadow. */ + Large_200 = 'LARGE_200', + /** The Small 100 shadow. */ + Small_100 = 'SMALL_100', + /** The Small 200 shadow. */ + Small_200 = 'SMALL_200' +} + +/** A Shopify font. */ +export type CheckoutBrandingShopifyFont = CheckoutBrandingFont & { + __typename?: 'CheckoutBrandingShopifyFont'; + /** The font sources. */ + sources?: Maybe; + /** The font weight. */ + weight?: Maybe; +}; + +/** The input fields used to update a Shopify font group. */ +export type CheckoutBrandingShopifyFontGroupInput = { + /** The base font weight. */ + baseWeight?: InputMaybe; + /** The bold font weight. */ + boldWeight?: InputMaybe; + /** The font loading strategy. */ + loadingStrategy?: InputMaybe; + /** The Shopify font name from [the list of available fonts](https://shopify.dev/themes/architecture/settings/fonts#available-fonts), such as `Alegreya Sans` or `Anonymous Pro`. */ + name: Scalars['String']['input']; +}; + +/** Possible values for the simple border. */ +export enum CheckoutBrandingSimpleBorder { + /** The Full simple border. */ + Full = 'FULL', + /** The None simple border. */ + None = 'NONE' +} + +/** Possible values for the spacing. */ +export enum CheckoutBrandingSpacing { + /** The Base spacing. */ + Base = 'BASE', + /** The Extra Loose spacing. */ + ExtraLoose = 'EXTRA_LOOSE', + /** The Extra Tight spacing. */ + ExtraTight = 'EXTRA_TIGHT', + /** The Loose spacing. */ + Loose = 'LOOSE', + /** The None spacing. */ + None = 'NONE', + /** The Tight spacing. */ + Tight = 'TIGHT' +} + +/** The spacing between UI elements. */ +export enum CheckoutBrandingSpacingKeyword { + /** The Base spacing. */ + Base = 'BASE', + /** The Large spacing. */ + Large = 'LARGE', + /** The Large 100 spacing. */ + Large_100 = 'LARGE_100', + /** The Large 200 spacing. */ + Large_200 = 'LARGE_200', + /** The Large 300 spacing. */ + Large_300 = 'LARGE_300', + /** The Large 400 spacing. */ + Large_400 = 'LARGE_400', + /** The Large 500 spacing. */ + Large_500 = 'LARGE_500', + /** The None spacing. */ + None = 'NONE', + /** The Small spacing. */ + Small = 'SMALL', + /** The Small 100 spacing. */ + Small_100 = 'SMALL_100', + /** The Small 200 spacing. */ + Small_200 = 'SMALL_200', + /** The Small 300 spacing. */ + Small_300 = 'SMALL_300', + /** The Small 400 spacing. */ + Small_400 = 'SMALL_400', + /** The Small 500 spacing. */ + Small_500 = 'SMALL_500' +} + +/** The text fields customizations. */ +export type CheckoutBrandingTextField = { + __typename?: 'CheckoutBrandingTextField'; + /** The border used for text fields. */ + border?: Maybe; + /** The typography customizations used for text fields. */ + typography?: Maybe; +}; + +/** The input fields used to update the text fields customizations. */ +export type CheckoutBrandingTextFieldInput = { + /** The border used for text fields. */ + border?: InputMaybe; + /** The typography customizations used for text fields. */ + typography?: InputMaybe; +}; + +/** + * The typography settings used for checkout-related text. Use these settings to customize the + * font family and size for primary and secondary text elements. + * + * Refer to the [typography tutorial](https://shopify.dev/docs/apps/checkout/styling/customize-typography) + * for further information on typography customization. + */ +export type CheckoutBrandingTypography = { + __typename?: 'CheckoutBrandingTypography'; + /** A font group used for most components such as text, buttons and form controls. */ + primary?: Maybe; + /** A font group used for heading components by default. */ + secondary?: Maybe; + /** The font size design system (base size in pixels and scaling between different sizes). */ + size?: Maybe; +}; + +/** The font selection. */ +export enum CheckoutBrandingTypographyFont { + /** The primary font. */ + Primary = 'PRIMARY', + /** The secondary font. */ + Secondary = 'SECONDARY' +} + +/** + * The input fields used to update the typography. Refer to the [typography tutorial](https://shopify.dev/docs/apps/checkout/styling/customize-typography) + * for more information on how to set these fields. + */ +export type CheckoutBrandingTypographyInput = { + /** A font group used for most components such as text, buttons and form controls. */ + primary?: InputMaybe; + /** A font group used for heading components by default. */ + secondary?: InputMaybe; + /** The font size. */ + size?: InputMaybe; +}; + +/** Possible values for the typography kerning. */ +export enum CheckoutBrandingTypographyKerning { + /** Base or default kerning. */ + Base = 'BASE', + /** Extra loose kerning, leaving even more space in between characters. */ + ExtraLoose = 'EXTRA_LOOSE', + /** Loose kerning, leaving more space than the default in between characters. */ + Loose = 'LOOSE' +} + +/** Possible values for the typography letter case. */ +export enum CheckoutBrandingTypographyLetterCase { + /** All letters are is lower case. */ + Lower = 'LOWER', + /** No letter casing applied. */ + None = 'NONE', + /** Capitalize the first letter of each word. */ + Title = 'TITLE', + /** All letters are uppercase. */ + Upper = 'UPPER' +} + +/** + * Possible choices for the font size. + * + * Note that the value in pixels of these settings can be customized with the + * [typography size](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/CheckoutBrandingFontSizeInput) + * object. Refer to the [typography tutorial](https://shopify.dev/docs/apps/checkout/styling/customize-typography) + * for more information. + */ +export enum CheckoutBrandingTypographySize { + /** The base font size. Example: 14px. */ + Base = 'BASE', + /** The extra extra large font size. Example: 24px. */ + ExtraExtraLarge = 'EXTRA_EXTRA_LARGE', + /** The extra large font size. Example: 21px. */ + ExtraLarge = 'EXTRA_LARGE', + /** The extra small font size. Example: 10px. */ + ExtraSmall = 'EXTRA_SMALL', + /** The large font size. Example: 19px. */ + Large = 'LARGE', + /** The medium font size. Example: 16px. */ + Medium = 'MEDIUM', + /** The small font size. Example: 12px. */ + Small = 'SMALL' +} + +/** The typography customizations. */ +export type CheckoutBrandingTypographyStyle = { + __typename?: 'CheckoutBrandingTypographyStyle'; + /** The font. */ + font?: Maybe; + /** The kerning. */ + kerning?: Maybe; + /** The letter case. */ + letterCase?: Maybe; + /** The font size. */ + size?: Maybe; + /** The font weight. */ + weight?: Maybe; +}; + +/** The global typography customizations. */ +export type CheckoutBrandingTypographyStyleGlobal = { + __typename?: 'CheckoutBrandingTypographyStyleGlobal'; + /** The kerning. */ + kerning?: Maybe; + /** The letter case. */ + letterCase?: Maybe; +}; + +/** The input fields used to update the global typography customizations. */ +export type CheckoutBrandingTypographyStyleGlobalInput = { + /** The kerning. */ + kerning?: InputMaybe; + /** The letter case. */ + letterCase?: InputMaybe; +}; + +/** The input fields used to update the typography customizations. */ +export type CheckoutBrandingTypographyStyleInput = { + /** The font. */ + font?: InputMaybe; + /** The kerning. */ + kerning?: InputMaybe; + /** The letter case. */ + letterCase?: InputMaybe; + /** The font size. */ + size?: InputMaybe; + /** The font weight. */ + weight?: InputMaybe; +}; + +/** Possible values for the font weight. */ +export enum CheckoutBrandingTypographyWeight { + /** The base weight. */ + Base = 'BASE', + /** The bold weight. */ + Bold = 'BOLD' +} + +/** Return type for `checkoutBrandingUpsert` mutation. */ +export type CheckoutBrandingUpsertPayload = { + __typename?: 'CheckoutBrandingUpsertPayload'; + /** Returns the new checkout branding settings. */ + checkoutBranding?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CheckoutBrandingUpsert`. */ +export type CheckoutBrandingUpsertUserError = DisplayableError & { + __typename?: 'CheckoutBrandingUpsertUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CheckoutBrandingUpsertUserError`. */ +export enum CheckoutBrandingUpsertUserErrorCode { + /** Unexpected internal error happened. */ + InternalError = 'INTERNAL_ERROR' +} + +/** Possible visibility states. */ +export enum CheckoutBrandingVisibility { + /** The Hidden visibility setting. */ + Hidden = 'HIDDEN', + /** The Visible visibility setting. */ + Visible = 'VISIBLE' +} + +/** A checkout profile defines the branding settings and the UI extensions for a store's checkout. A checkout profile could be published or draft. A store might have at most one published checkout profile, which is used to render their live checkout. The store could also have multiple draft profiles that were created, previewed, and published using the admin checkout editor. */ +export type CheckoutProfile = Node & { + __typename?: 'CheckoutProfile'; + /** The date and time when the checkout profile was created. */ + createdAt: Scalars['DateTime']['output']; + /** The date and time when the checkout profile was last edited. */ + editedAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the checkout profile is published or not. */ + isPublished: Scalars['Boolean']['output']; + /** The profile name. */ + name: Scalars['String']['output']; + /** Whether the checkout profile Thank You Page and Order Status Page are actively using extensibility or not. */ + typOspPagesActive: Scalars['Boolean']['output']; + /** The date and time when the checkout profile was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple CheckoutProfiles. */ +export type CheckoutProfileConnection = { + __typename?: 'CheckoutProfileConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CheckoutProfileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CheckoutProfile and a cursor during pagination. */ +export type CheckoutProfileEdge = { + __typename?: 'CheckoutProfileEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CheckoutProfileEdge. */ + node: CheckoutProfile; +}; + +/** The set of valid sort keys for the CheckoutProfile query. */ +export enum CheckoutProfileSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `edited_at` value. */ + EditedAt = 'EDITED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `is_published` value. */ + IsPublished = 'IS_PUBLISHED', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** The input fields for adding products to the Combined Listing. */ +export type ChildProductRelationInput = { + /** The ID of the child product. */ + childProductId: Scalars['ID']['input']; + /** The parent option values. */ + selectedParentOptionValues: Array; +}; + +/** The set of valid sort keys for the CodeDiscount query. */ +export enum CodeDiscountSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `ends_at` value. */ + EndsAt = 'ENDS_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `starts_at` value. */ + StartsAt = 'STARTS_AT', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type Collection = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & Node & Publishable & { + __typename?: 'Collection'; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + */ + availablePublicationsCount?: Maybe; + /** A single-line, text-only description of the collection, stripped of any HTML tags and formatting that were included in the description. */ + description: Scalars['String']['output']; + /** The description of the collection, including any HTML tags and formatting. This content is typically displayed to customers, such as on an online store, depending on the theme. */ + descriptionHtml: Scalars['HTML']['output']; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** Information about the collection that's provided through resource feedback. */ + feedback?: Maybe; + /** + * A unique string that identifies the collection. If a handle isn't specified when a collection is created, it's automatically generated from the collection's original title, and typically includes words from the title separated by hyphens. For example, a collection that was created with the title `Summer Catalog 2022` might have the handle `summer-catalog-2022`. + * + * If the title is changed, the handle doesn't automatically change. + * + * The handle can be used in themes by the Liquid templating language to refer to the collection, but using the ID is preferred because it never changes. + */ + handle: Scalars['String']['output']; + /** Whether the collection includes the specified product. */ + hasProduct: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image associated with the collection. */ + image?: Maybe; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The products that are included in the collection. */ + products: ProductConnection; + /** The number of products in the collection. */ + productsCount?: Maybe; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + * @deprecated Use `resourcePublicationsCount` instead. + */ + publicationCount: Scalars['Int']['output']; + /** + * The channels where the collection is published. + * @deprecated Use `resourcePublications` instead. + */ + publications: CollectionPublicationConnection; + /** + * Whether the resource is published to a specific channel. + * @deprecated Use `publishedOnPublication` instead. + */ + publishedOnChannel: Scalars['Boolean']['output']; + /** + * Whether the resource is published to a + * [channel](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel). + * For example, the resource might be published to the online store channel. + * @deprecated Use `publishedOnCurrentPublication` instead. + */ + publishedOnCurrentChannel: Scalars['Boolean']['output']; + /** + * Whether the resource is published to the app's + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + * For example, the resource might be published to the app's online store channel. + */ + publishedOnCurrentPublication: Scalars['Boolean']['output']; + /** + * Whether the resource is published to a specified + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + publishedOnPublication: Scalars['Boolean']['output']; + /** + * The list of resources that are published to a + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + resourcePublications: ResourcePublicationConnection; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + */ + resourcePublicationsCount?: Maybe; + /** + * The list of resources that are either published or staged to be published to a + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + resourcePublicationsV2: ResourcePublicationV2Connection; + /** For a smart (automated) collection, specifies the rules that determine whether a product is included. */ + ruleSet?: Maybe; + /** If the default SEO fields for page title and description have been modified, contains the modified information. */ + seo: Seo; + /** The order in which the products in the collection are displayed by default in the Shopify admin and in sales channels, such as an online store. */ + sortOrder: CollectionSortOrder; + /** + * The Storefront GraphQL API ID of the `Collection`. + * + * As of the `2022-04` version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the `id` field's value instead. + * @deprecated Use `id` instead. + */ + storefrontId: Scalars['StorefrontID']['output']; + /** The suffix of the Liquid template being used to show the collection in an online store. For example, if the value is `custom`, then the collection is using the `collection.custom.liquid` template. If the value is `null`, then the collection is using the default `collection.liquid` template. */ + templateSuffix?: Maybe; + /** The name of the collection. It's displayed in the Shopify admin and is typically displayed in sales channels, such as an online store. */ + title: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** + * The list of channels that the resource is not published to. + * @deprecated Use `unpublishedPublications` instead. + */ + unpublishedChannels: ChannelConnection; + /** + * The list of [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that the resource isn't published to. + */ + unpublishedPublications: PublicationConnection; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the collection was last modified. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionDescriptionArgs = { + truncateAt?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionHasProductArgs = { + id: Scalars['ID']['input']; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionPublicationCountArgs = { + onlyPublished?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionPublishedOnChannelArgs = { + channelId: Scalars['ID']['input']; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionPublishedOnPublicationArgs = { + publicationId: Scalars['ID']['input']; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionResourcePublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionResourcePublicationsCountArgs = { + onlyPublished?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionResourcePublicationsV2Args = { + after?: InputMaybe; + before?: InputMaybe; + catalogType?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionUnpublishedChannelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a group of products that can be displayed in online stores and other sales channels in categories, which makes it easy for customers to find them. For example, an athletics store might create different collections for running attire, shoes, and accessories. + * + * Collections can be defined by conditions, such as whether they match certain product tags. These are called smart or automated collections. + * + * Collections can also be created for a custom group of products. These are called custom or manual collections. + */ +export type CollectionUnpublishedPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `collectionAddProducts` mutation. */ +export type CollectionAddProductsPayload = { + __typename?: 'CollectionAddProductsPayload'; + /** The updated collection. Returns `null` if an error is raised. */ + collection?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `collectionAddProductsV2` mutation. */ +export type CollectionAddProductsV2Payload = { + __typename?: 'CollectionAddProductsV2Payload'; + /** The asynchronous job adding the products. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CollectionAddProductsV2`. */ +export type CollectionAddProductsV2UserError = DisplayableError & { + __typename?: 'CollectionAddProductsV2UserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CollectionAddProductsV2UserError`. */ +export enum CollectionAddProductsV2UserErrorCode { + /** Can't manually add products to a smart collection. */ + CantAddToSmartCollection = 'CANT_ADD_TO_SMART_COLLECTION', + /** Collection doesn't exist. */ + CollectionDoesNotExist = 'COLLECTION_DOES_NOT_EXIST' +} + +/** An auto-generated type for paginating through multiple Collections. */ +export type CollectionConnection = { + __typename?: 'CollectionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CollectionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `collectionCreate` mutation. */ +export type CollectionCreatePayload = { + __typename?: 'CollectionCreatePayload'; + /** The collection that has been created. */ + collection?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for specifying the collection to delete. */ +export type CollectionDeleteInput = { + /** The ID of the collection to be deleted. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `collectionDelete` mutation. */ +export type CollectionDeletePayload = { + __typename?: 'CollectionDeletePayload'; + /** The ID of the collection that was deleted. Returns `null` if the collection doesn't exist. */ + deletedCollectionId?: Maybe; + /** The shop associated with the collection. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Collection and a cursor during pagination. */ +export type CollectionEdge = { + __typename?: 'CollectionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CollectionEdge. */ + node: Collection; +}; + +/** The input fields required to create a collection. */ +export type CollectionInput = { + /** The description of the collection, in HTML format. */ + descriptionHtml?: InputMaybe; + /** A unique human-friendly string for the collection. Automatically generated from the collection's title. */ + handle?: InputMaybe; + /** Specifies the collection to update or create a new collection if absent. Required for updating a collection. */ + id?: InputMaybe; + /** The image associated with the collection. */ + image?: InputMaybe; + /** The metafields to associate with the collection. */ + metafields?: InputMaybe>; + /** Initial list of collection products. Only valid with `collectionCreate` and without rules. */ + products?: InputMaybe>; + /** + * Indicates whether a redirect is required after a new handle has been provided. + * If true, then the old handle is redirected to the new one automatically. + */ + redirectNewHandle?: InputMaybe; + /** The rules used to assign products to the collection. */ + ruleSet?: InputMaybe; + /** SEO information for the collection. */ + seo?: InputMaybe; + /** The order in which the collection's products are sorted. */ + sortOrder?: InputMaybe; + /** The theme template used when viewing the collection in a store. */ + templateSuffix?: InputMaybe; + /** The title of the collection. Required for creating a new collection. */ + title?: InputMaybe; +}; + +/** Represents the publications where a collection is published. */ +export type CollectionPublication = { + __typename?: 'CollectionPublication'; + /** + * The channel where the collection will be published. + * @deprecated Use `publication` instead. + */ + channel: Channel; + /** The collection to be published on the publication. */ + collection: Collection; + /** Whether the publication is published or not. */ + isPublished: Scalars['Boolean']['output']; + /** The publication where the collection will be published. */ + publication: Publication; + /** The date that the publication was or is going to be published. */ + publishDate: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple CollectionPublications. */ +export type CollectionPublicationConnection = { + __typename?: 'CollectionPublicationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CollectionPublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CollectionPublication and a cursor during pagination. */ +export type CollectionPublicationEdge = { + __typename?: 'CollectionPublicationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CollectionPublicationEdge. */ + node: CollectionPublication; +}; + +/** The input fields for publications to which a collection will be published. */ +export type CollectionPublicationInput = { + /** The ID of the publication. */ + publicationId?: InputMaybe; +}; + +/** The input fields for specifying a collection to publish and the sales channels to publish it to. */ +export type CollectionPublishInput = { + /** The channels where the collection will be published. */ + collectionPublications: Array; + /** The collection to create or update publications for. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `collectionPublish` mutation. */ +export type CollectionPublishPayload = { + __typename?: 'CollectionPublishPayload'; + /** The published collection. */ + collection?: Maybe; + /** The channels where the collection has been published. */ + collectionPublications?: Maybe>; + /** The shop associated with the collection. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `collectionRemoveProducts` mutation. */ +export type CollectionRemoveProductsPayload = { + __typename?: 'CollectionRemoveProductsPayload'; + /** The asynchronous job removing the products. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `collectionReorderProducts` mutation. */ +export type CollectionReorderProductsPayload = { + __typename?: 'CollectionReorderProductsPayload'; + /** The asynchronous job reordering the products. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents at rule that's used to assign products to a collection. */ +export type CollectionRule = { + __typename?: 'CollectionRule'; + /** The attribute that the rule focuses on. For example, `title` or `product_type`. */ + column: CollectionRuleColumn; + /** The value that the operator is applied to. For example, `Hats`. */ + condition: Scalars['String']['output']; + /** The value that the operator is applied to. */ + conditionObject?: Maybe; + /** The type of operator that the rule is based on. For example, `equals`, `contains`, or `not_equals`. */ + relation: CollectionRuleRelation; +}; + +/** Specifies the taxonomy category to used for the condition. */ +export type CollectionRuleCategoryCondition = { + __typename?: 'CollectionRuleCategoryCondition'; + /** The taxonomy category used as condition. */ + value: TaxonomyCategory; +}; + +/** Specifies the attribute of a product being used to populate the smart collection. */ +export enum CollectionRuleColumn { + /** + * An attribute evaluated based on the `compare_at_price` attribute of the product's variants. + * With `is_set` relation, the rule matches products with at least one variant with `compare_at_price` set. + * With `is_not_set` relation, the rule matches matches products with at least one variant with `compare_at_price` not set. + */ + IsPriceReduced = 'IS_PRICE_REDUCED', + /** The [`product_category_id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-category) attribute. */ + ProductCategoryId = 'PRODUCT_CATEGORY_ID', + /** This category includes metafield definitions that have the `useAsCollectionCondition` flag set to true. */ + ProductMetafieldDefinition = 'PRODUCT_METAFIELD_DEFINITION', + /** The [`product_taxonomy_node_id`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-productcategory) attribute. */ + ProductTaxonomyNodeId = 'PRODUCT_TAXONOMY_NODE_ID', + /** The [`tag`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-producttype) attribute. */ + Tag = 'TAG', + /** The [`title`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-title) attribute. */ + Title = 'TITLE', + /** The [`type`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-producttype) attribute. */ + Type = 'TYPE', + /** The [`variant_compare_at_price`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-compareatprice) attribute. */ + VariantCompareAtPrice = 'VARIANT_COMPARE_AT_PRICE', + /** The [`variant_inventory`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-inventoryquantity) attribute. */ + VariantInventory = 'VARIANT_INVENTORY', + /** This category includes metafield definitions that have the `useAsCollectionCondition` flag set to true. */ + VariantMetafieldDefinition = 'VARIANT_METAFIELD_DEFINITION', + /** The [`variant_price`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-price) attribute. */ + VariantPrice = 'VARIANT_PRICE', + /** The [`variant_title`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-title) attribute. */ + VariantTitle = 'VARIANT_TITLE', + /** The [`variant_weight`](https://shopify.dev/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-weight) attribute. */ + VariantWeight = 'VARIANT_WEIGHT', + /** The [`vendor`](https://shopify.dev/api/admin-graphql/latest/objects/Product#field-product-vendor) attribute. */ + Vendor = 'VENDOR' +} + +/** Specifies object for the condition of the rule. */ +export type CollectionRuleConditionObject = CollectionRuleCategoryCondition | CollectionRuleMetafieldCondition | CollectionRuleProductCategoryCondition | CollectionRuleTextCondition; + +/** This object defines all columns and allowed relations that can be used in rules for smart collections to automatically include the matching products. */ +export type CollectionRuleConditions = { + __typename?: 'CollectionRuleConditions'; + /** Allowed relations of the rule. */ + allowedRelations: Array; + /** Most commonly used relation for this rule. */ + defaultRelation: CollectionRuleRelation; + /** Additional attributes defining the rule. */ + ruleObject?: Maybe; + /** Type of the rule. */ + ruleType: CollectionRuleColumn; +}; + +/** Specifies object with additional rule attributes. */ +export type CollectionRuleConditionsRuleObject = CollectionRuleMetafieldCondition; + +/** The input fields for a rule to associate with a collection. */ +export type CollectionRuleInput = { + /** The attribute that the rule focuses on. For example, `title` or `product_type`. */ + column: CollectionRuleColumn; + /** The value that the operator is applied to. For example, `Hats`. */ + condition: Scalars['String']['input']; + /** + * The object ID that points to additional attributes for the collection rule. + * This is only required when using metafield definition rules. + */ + conditionObjectId?: InputMaybe; + /** The type of operator that the rule is based on. For example, `equals`, `contains`, or `not_equals`. */ + relation: CollectionRuleRelation; +}; + +/** Identifies a metafield definition used as a rule for the smart collection. */ +export type CollectionRuleMetafieldCondition = { + __typename?: 'CollectionRuleMetafieldCondition'; + /** The metafield definition associated with the condition. */ + metafieldDefinition: MetafieldDefinition; +}; + +/** Specifies the condition for a Product Category field. */ +export type CollectionRuleProductCategoryCondition = { + __typename?: 'CollectionRuleProductCategoryCondition'; + /** The value of the condition. */ + value: ProductTaxonomyNode; +}; + +/** Specifies the relationship between the `column` and the `condition`. */ +export enum CollectionRuleRelation { + /** The attribute contains the condition. */ + Contains = 'CONTAINS', + /** The attribute ends with the condition. */ + EndsWith = 'ENDS_WITH', + /** The attribute is equal to the condition. */ + Equals = 'EQUALS', + /** The attribute is greater than the condition. */ + GreaterThan = 'GREATER_THAN', + /** The attribute is not set (equal to `null`). */ + IsNotSet = 'IS_NOT_SET', + /** The attribute is set (not equal to `null`). */ + IsSet = 'IS_SET', + /** The attribute is less than the condition. */ + LessThan = 'LESS_THAN', + /** The attribute does not contain the condition. */ + NotContains = 'NOT_CONTAINS', + /** The attribute does not equal the condition. */ + NotEquals = 'NOT_EQUALS', + /** The attribute starts with the condition. */ + StartsWith = 'STARTS_WITH' +} + +/** The set of rules that are used to determine which products are included in the collection. */ +export type CollectionRuleSet = { + __typename?: 'CollectionRuleSet'; + /** + * Whether products must match any or all of the rules to be included in the collection. + * If true, then products must match at least one of the rules to be included in the collection. + * If false, then products must match all of the rules to be included in the collection. + */ + appliedDisjunctively: Scalars['Boolean']['output']; + /** The rules used to assign products to the collection. */ + rules: Array; +}; + +/** The input fields for a rule set of the collection. */ +export type CollectionRuleSetInput = { + /** + * Whether products must match any or all of the rules to be included in the collection. + * If true, then products must match at least one of the rules to be included in the collection. + * If false, then products must match all of the rules to be included in the collection. + */ + appliedDisjunctively: Scalars['Boolean']['input']; + /** The rules used to assign products to the collection. */ + rules?: InputMaybe>; +}; + +/** Specifies the condition for a text field. */ +export type CollectionRuleTextCondition = { + __typename?: 'CollectionRuleTextCondition'; + /** The value of the condition. */ + value: Scalars['String']['output']; +}; + +/** The set of valid sort keys for the Collection query. */ +export enum CollectionSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Specifies the sort order for the products in the collection. */ +export enum CollectionSortOrder { + /** Alphabetically, in ascending order (A - Z). */ + AlphaAsc = 'ALPHA_ASC', + /** Alphabetically, in descending order (Z - A). */ + AlphaDesc = 'ALPHA_DESC', + /** By best-selling products. */ + BestSelling = 'BEST_SELLING', + /** By date created, in ascending order (oldest - newest). */ + Created = 'CREATED', + /** By date created, in descending order (newest - oldest). */ + CreatedDesc = 'CREATED_DESC', + /** In the order set manually by the merchant. */ + Manual = 'MANUAL', + /** By price, in ascending order (lowest - highest). */ + PriceAsc = 'PRICE_ASC', + /** By price, in descending order (highest - lowest). */ + PriceDesc = 'PRICE_DESC' +} + +/** The input fields for specifying the collection to unpublish and the sales channels to remove it from. */ +export type CollectionUnpublishInput = { + /** The channels where the collection is published. */ + collectionPublications: Array; + /** The collection to create or update publications for. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `collectionUnpublish` mutation. */ +export type CollectionUnpublishPayload = { + __typename?: 'CollectionUnpublishPayload'; + /** The collection that has been unpublished. */ + collection?: Maybe; + /** The shop associated with the collection. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `collectionUpdate` mutation. */ +export type CollectionUpdatePayload = { + __typename?: 'CollectionUpdatePayload'; + /** The updated collection. */ + collection?: Maybe; + /** The asynchronous job updating the products based on the new rule set. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A combined listing of products. */ +export type CombinedListing = { + __typename?: 'CombinedListing'; + /** A list of child products in the combined listing. */ + combinedListingChildren: CombinedListingChildConnection; + /** The parent product. */ + parentProduct: Product; +}; + + +/** A combined listing of products. */ +export type CombinedListingCombinedListingChildrenArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** A child of a combined listing. */ +export type CombinedListingChild = { + __typename?: 'CombinedListingChild'; + /** The parent variant. */ + parentVariant: ProductVariant; + /** The child product. */ + product: Product; +}; + +/** An auto-generated type for paginating through multiple CombinedListingChildren. */ +export type CombinedListingChildConnection = { + __typename?: 'CombinedListingChildConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CombinedListingChildEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CombinedListingChild and a cursor during pagination. */ +export type CombinedListingChildEdge = { + __typename?: 'CombinedListingChildEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CombinedListingChildEdge. */ + node: CombinedListingChild; +}; + +/** Return type for `combinedListingUpdate` mutation. */ +export type CombinedListingUpdatePayload = { + __typename?: 'CombinedListingUpdatePayload'; + /** The parent product. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CombinedListingUpdate`. */ +export type CombinedListingUpdateUserError = DisplayableError & { + __typename?: 'CombinedListingUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CombinedListingUpdateUserError`. */ +export enum CombinedListingUpdateUserErrorCode { + /** Unable to add duplicated products. */ + CannotHaveDuplicatedProducts = 'CANNOT_HAVE_DUPLICATED_PRODUCTS', + /** Unable to add a product that is a parent. */ + CannotHaveParentAsChild = 'CANNOT_HAVE_PARENT_AS_CHILD', + /** Unable to add products with repeated options. */ + CannotHaveRepeatedOptions = 'CANNOT_HAVE_REPEATED_OPTIONS', + /** Option values cannot be repeated. */ + CannotHaveRepeatedOptionValues = 'CANNOT_HAVE_REPEATED_OPTION_VALUES', + /** Unable to add options values that are already in use. */ + CantAddOptionsValuesIfAlreadyExists = 'CANT_ADD_OPTIONS_VALUES_IF_ALREADY_EXISTS', + /** Combined listings feature is not enabled. */ + CombinedListingsNotEnabled = 'COMBINED_LISTINGS_NOT_ENABLED', + /** Cannot perform edit and remove on same products. */ + EditAndRemoveOnSameProducts = 'EDIT_AND_REMOVE_ON_SAME_PRODUCTS', + /** Unable to add products. */ + FailedToAddProducts = 'FAILED_TO_ADD_PRODUCTS', + /** Unable to remove products. */ + FailedToRemoveProducts = 'FAILED_TO_REMOVE_PRODUCTS', + /** Unable to update products. */ + FailedToUpdateProducts = 'FAILED_TO_UPDATE_PRODUCTS', + /** The same metafield cannot be linked to multiple options. */ + LinkedMetafieldsCannotBeRepeated = 'LINKED_METAFIELDS_CANNOT_BE_REPEATED', + /** An option linked to a metafield cannot be linked to a different metafield. */ + LinkedMetafieldCannotBeChanged = 'LINKED_METAFIELD_CANNOT_BE_CHANGED', + /** Linked metafield value missing from `optionsAndValues` field. */ + LinkedMetafieldValueMissing = 'LINKED_METAFIELD_VALUE_MISSING', + /** Linked options are currently not supported for this shop. */ + LinkedOptionsNotSupportedForShop = 'LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP', + /** Selected option values cannot be empty. */ + MustHaveSelectedOptionValues = 'MUST_HAVE_SELECTED_OPTION_VALUES', + /** All child products must include the same options. */ + OptionsMustBeEqualToTheOtherComponents = 'OPTIONS_MUST_BE_EQUAL_TO_THE_OTHER_COMPONENTS', + /** Unable to add products with blank option names. */ + OptionNameCannotBeBlank = 'OPTION_NAME_CANNOT_BE_BLANK', + /** Option does not exist. */ + OptionNotFound = 'OPTION_NOT_FOUND', + /** Unable to update options with blank option values. */ + OptionValuesCannotBeBlank = 'OPTION_VALUES_CANNOT_BE_BLANK', + /** Unable to update options with no option values. */ + OptionValuesCannotBeEmpty = 'OPTION_VALUES_CANNOT_BE_EMPTY', + /** Unable to update components for a product that isn't a combined listing. */ + ParentProductMustBeACombinedListing = 'PARENT_PRODUCT_MUST_BE_A_COMBINED_LISTING', + /** Unable to add a product that is already a child. */ + ProductIsAlreadyAChild = 'PRODUCT_IS_ALREADY_A_CHILD', + /** Failed to remove mebmership due to invalid input. */ + ProductMembershipNotFound = 'PRODUCT_MEMBERSHIP_NOT_FOUND', + /** Unable to add products that do not exist. */ + ProductNotFound = 'PRODUCT_NOT_FOUND', + /** The title cannot be longer than 255 characters. */ + TitleTooLong = 'TITLE_TOO_LONG', + /** You have reached the maximum number of products that can be added to an individual combined listing. */ + TooManyProducts = 'TOO_MANY_PRODUCTS', + /** You have reached the maximum number of variants across all products for an individual combined listing. */ + TooManyVariants = 'TOO_MANY_VARIANTS', + /** An unexpected error occurred. */ + UnexpectedError = 'UNEXPECTED_ERROR' +} + +/** The role of the combined listing. */ +export enum CombinedListingsRole { + /** The product is the child of a combined listing. */ + Child = 'CHILD', + /** The product is the parent of a combined listing. */ + Parent = 'PARENT' +} + +/** A comment on an article. */ +export type Comment = HasEvents & Node & { + __typename?: 'Comment'; + /** The article associated with the comment. */ + article?: Maybe
; + /** The comment’s author. */ + author: CommentAuthor; + /** The content of the comment. */ + body: Scalars['String']['output']; + /** The content of the comment, complete with HTML formatting. */ + bodyHtml: Scalars['HTML']['output']; + /** The date and time when the comment was created. */ + createdAt: Scalars['DateTime']['output']; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The IP address of the commenter. */ + ip?: Maybe; + /** Whether or not the comment is published. */ + isPublished: Scalars['Boolean']['output']; + /** The date and time when the comment was published. */ + publishedAt?: Maybe; + /** The status of the comment. */ + status: CommentStatus; + /** The date and time when the comment was last updated. */ + updatedAt?: Maybe; + /** The user agent of the commenter. */ + userAgent?: Maybe; +}; + + +/** A comment on an article. */ +export type CommentEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `commentApprove` mutation. */ +export type CommentApprovePayload = { + __typename?: 'CommentApprovePayload'; + /** The comment that was approved. */ + comment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CommentApprove`. */ +export type CommentApproveUserError = DisplayableError & { + __typename?: 'CommentApproveUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CommentApproveUserError`. */ +export enum CommentApproveUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** The author of a comment. */ +export type CommentAuthor = { + __typename?: 'CommentAuthor'; + /** The author's email. */ + email: Scalars['String']['output']; + /** The author’s name. */ + name: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple Comments. */ +export type CommentConnection = { + __typename?: 'CommentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CommentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `commentDelete` mutation. */ +export type CommentDeletePayload = { + __typename?: 'CommentDeletePayload'; + /** The ID of the comment that was deleted. */ + deletedCommentId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CommentDelete`. */ +export type CommentDeleteUserError = DisplayableError & { + __typename?: 'CommentDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CommentDeleteUserError`. */ +export enum CommentDeleteUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** An auto-generated type which holds one Comment and a cursor during pagination. */ +export type CommentEdge = { + __typename?: 'CommentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CommentEdge. */ + node: Comment; +}; + +/** + * Comment events are generated by staff members of a shop. + * They are created when a staff member adds a comment to the timeline of an order, draft order, customer, or transfer. + */ +export type CommentEvent = Event & Node & { + __typename?: 'CommentEvent'; + /** The action that occured. */ + action: Scalars['String']['output']; + /** The name of the app that created the event. */ + appTitle?: Maybe; + /** The attachments associated with the comment event. */ + attachments: Array; + /** Whether the event was created by an app. */ + attributeToApp: Scalars['Boolean']['output']; + /** Whether the event was caused by an admin user. */ + attributeToUser: Scalars['Boolean']['output']; + /** The name of the user that authored the comment event. */ + author: StaffMember; + /** Whether the comment event can be deleted. If true, then the comment event can be deleted. */ + canDelete: Scalars['Boolean']['output']; + /** Whether the comment event can be edited. If true, then the comment event can be edited. */ + canEdit: Scalars['Boolean']['output']; + /** The date and time when the event was created. */ + createdAt: Scalars['DateTime']['output']; + /** Whether the event is critical. */ + criticalAlert: Scalars['Boolean']['output']; + /** Whether the comment event has been edited. If true, then the comment event has been edited. */ + edited: Scalars['Boolean']['output']; + /** The object reference associated with the comment event. For example, a product or discount). */ + embed?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Human readable text that describes the event. */ + message: Scalars['FormattedString']['output']; + /** The raw body of the comment event. */ + rawMessage: Scalars['String']['output']; + /** The parent subject to which the comment event belongs. */ + subject?: Maybe; +}; + +/** A file attachment associated to a comment event. */ +export type CommentEventAttachment = { + __typename?: 'CommentEventAttachment'; + /** The file extension of the comment event attachment, indicating the file format. */ + fileExtension?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image attached to the comment event. */ + image?: Maybe; + /** The filename of the comment event attachment. */ + name: Scalars['String']['output']; + /** The size of the attachment. */ + size: Scalars['Int']['output']; + /** The URL of the attachment. */ + url: Scalars['URL']['output']; +}; + +/** The main embed of a comment event. */ +export type CommentEventEmbed = Customer | DraftOrder | Order | Product | ProductVariant; + +/** The subject line of a comment event. */ +export type CommentEventSubject = { + /** Whether the timeline subject has a timeline comment. If true, then a timeline comment exists. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** Return type for `commentNotSpam` mutation. */ +export type CommentNotSpamPayload = { + __typename?: 'CommentNotSpamPayload'; + /** The comment that was marked as not spam. */ + comment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CommentNotSpam`. */ +export type CommentNotSpamUserError = DisplayableError & { + __typename?: 'CommentNotSpamUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CommentNotSpamUserError`. */ +export enum CommentNotSpamUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** Possible comment policies for a blog. */ +export enum CommentPolicy { + /** Readers can post comments to blog articles without moderation. */ + AutoPublished = 'AUTO_PUBLISHED', + /** Readers cannot post comments to blog articles. */ + Closed = 'CLOSED', + /** Readers can post comments to blog articles, but comments must be moderated before they appear. */ + Moderated = 'MODERATED' +} + +/** The set of valid sort keys for the Comment query. */ +export enum CommentSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** Return type for `commentSpam` mutation. */ +export type CommentSpamPayload = { + __typename?: 'CommentSpamPayload'; + /** The comment that was marked as spam. */ + comment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CommentSpam`. */ +export type CommentSpamUserError = DisplayableError & { + __typename?: 'CommentSpamUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CommentSpamUserError`. */ +export enum CommentSpamUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** The status of a comment. */ +export enum CommentStatus { + /** The comment is pending approval. */ + Pending = 'PENDING', + /** The comment is published. */ + Published = 'PUBLISHED', + /** The comment has been removed. */ + Removed = 'REMOVED', + /** The comment is marked as spam. */ + Spam = 'SPAM', + /** The comment is unapproved. */ + Unapproved = 'UNAPPROVED' +} + +/** Return type for `companiesDelete` mutation. */ +export type CompaniesDeletePayload = { + __typename?: 'CompaniesDeletePayload'; + /** A list of IDs of the deleted companies. */ + deletedCompanyIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents information about a company which is also a customer of the shop. */ +export type Company = CommentEventSubject & HasEvents & HasMetafieldDefinitions & HasMetafields & Navigable & Node & { + __typename?: 'Company'; + /** + * The number of contacts that belong to the company. + * @deprecated Use `contactsCount` instead. + */ + contactCount: Scalars['Int']['output']; + /** The list of roles for the company contacts. */ + contactRoles: CompanyContactRoleConnection; + /** The list of contacts in the company. */ + contacts: CompanyContactConnection; + /** The number of contacts that belong to the company. */ + contactsCount?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was created in Shopify. */ + createdAt: Scalars['DateTime']['output']; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company became the customer. */ + customerSince: Scalars['DateTime']['output']; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** The role proposed by default for a contact at the company. */ + defaultRole?: Maybe; + /** The list of the company's draft orders. */ + draftOrders: DraftOrderConnection; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** A unique externally-supplied ID for the company. */ + externalId?: Maybe; + /** Whether the merchant added a timeline comment to the company. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The lifetime duration of the company, since it became a customer of the shop. Examples: `2 days`, `3 months`, `1 year`. */ + lifetimeDuration: Scalars['String']['output']; + /** The list of locations in the company. */ + locations: CompanyLocationConnection; + /** The number of locations that belong to the company. */ + locationsCount?: Maybe; + /** The main contact for the company. */ + mainContact?: Maybe; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The name of the company. */ + name: Scalars['String']['output']; + /** A note about the company. */ + note?: Maybe; + /** The list of the company's orders. */ + orders: OrderConnection; + /** The total number of orders placed for this company, across all its locations. */ + ordersCount?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The total amount spent by this company, across all its locations. */ + totalSpent: MoneyV2; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company was last modified. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyContactRolesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyContactsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyDraftOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyLocationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** Represents information about a company which is also a customer of the shop. */ +export type CompanyPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Represents a billing or shipping address for a company location. */ +export type CompanyAddress = Node & { + __typename?: 'CompanyAddress'; + /** The first line of the address. Typically the street address or PO Box number. */ + address1: Scalars['String']['output']; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: Maybe; + /** The name of the city, district, village, or town. */ + city?: Maybe; + /** The name of the company. */ + companyName: Scalars['String']['output']; + /** The name of the country. */ + country?: Maybe; + /** + * The two-letter code for the country of the address. + * For example, US. + */ + countryCode: CountryCode; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company address was created. */ + createdAt: Scalars['DateTime']['output']; + /** The first name of the recipient. */ + firstName?: Maybe; + /** The formatted version of the address. */ + formattedAddress: Array; + /** A comma-separated list of the values for city, province, and country. */ + formattedArea?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The last name of the recipient. */ + lastName?: Maybe; + /** + * A unique phone number for the customer. + * Formatted using E.164 standard. For example, _+16135551111_. + */ + phone?: Maybe; + /** The region of the address, such as the province, state, or district. */ + province?: Maybe; + /** The identity of the recipient e.g. 'Receiving Department'. */ + recipient?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company address was last updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The zip or postal code of the address. */ + zip?: Maybe; + /** + * The alphanumeric code for the region. + * For example, ON. + */ + zoneCode?: Maybe; +}; + + +/** Represents a billing or shipping address for a company location. */ +export type CompanyAddressFormattedAddressArgs = { + withCompanyName?: InputMaybe; + withName?: InputMaybe; +}; + +/** Return type for `companyAddressDelete` mutation. */ +export type CompanyAddressDeletePayload = { + __typename?: 'CompanyAddressDeletePayload'; + /** The ID of the deleted address. */ + deletedAddressId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create or update the address of a company location. */ +export type CompanyAddressInput = { + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: InputMaybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: InputMaybe; + /** The name of the city, district, village, or town. */ + city?: InputMaybe; + /** The two-letter code ([ISO 3166-1 alpha-2]](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format) for the country of the address. For example, `US`` for the United States. */ + countryCode?: InputMaybe; + /** The first name of the recipient. */ + firstName?: InputMaybe; + /** The last name of the recipient. */ + lastName?: InputMaybe; + /** A phone number for the recipient. Formatted using E.164 standard. For example, _+16135551111_. */ + phone?: InputMaybe; + /** The identity of the recipient e.g. 'Receiving Department'. */ + recipient?: InputMaybe; + /** The zip or postal code of the address. */ + zip?: InputMaybe; + /** The alphanumeric code for the region of the address, such as the province, state, or district. For example, `ON` for Ontario, Canada. */ + zoneCode?: InputMaybe; +}; + +/** The valid values for the address type of a company. */ +export enum CompanyAddressType { + /** The address is a billing address. */ + Billing = 'BILLING', + /** The address is a shipping address. */ + Shipping = 'SHIPPING' +} + +/** Return type for `companyAssignCustomerAsContact` mutation. */ +export type CompanyAssignCustomerAsContactPayload = { + __typename?: 'CompanyAssignCustomerAsContactPayload'; + /** The created company contact. */ + companyContact?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyAssignMainContact` mutation. */ +export type CompanyAssignMainContactPayload = { + __typename?: 'CompanyAssignMainContactPayload'; + /** The company for which the main contact is assigned. */ + company?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple Companies. */ +export type CompanyConnection = { + __typename?: 'CompanyConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CompanyEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** A person that acts on behalf of company associated to [a customer](https://shopify.dev/api/admin-graphql/latest/objects/customer). */ +export type CompanyContact = Node & { + __typename?: 'CompanyContact'; + /** The company to which the contact belongs. */ + company: Company; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company contact was created at Shopify. */ + createdAt: Scalars['DateTime']['output']; + /** The customer associated to this contact. */ + customer: Customer; + /** The list of draft orders for the company contact. */ + draftOrders: DraftOrderConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the contact is the main contact of the company. */ + isMainContact: Scalars['Boolean']['output']; + /** The lifetime duration of the company contact, since its creation date on Shopify. Examples: `1 year`, `2 months`, `3 days`. */ + lifetimeDuration: Scalars['String']['output']; + /** The company contact's locale (language). */ + locale?: Maybe; + /** The list of orders for the company contact. */ + orders: OrderConnection; + /** The list of roles assigned to this company contact. */ + roleAssignments: CompanyContactRoleAssignmentConnection; + /** The company contact's job title. */ + title?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company contact was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** A person that acts on behalf of company associated to [a customer](https://shopify.dev/api/admin-graphql/latest/objects/customer). */ +export type CompanyContactDraftOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A person that acts on behalf of company associated to [a customer](https://shopify.dev/api/admin-graphql/latest/objects/customer). */ +export type CompanyContactOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A person that acts on behalf of company associated to [a customer](https://shopify.dev/api/admin-graphql/latest/objects/customer). */ +export type CompanyContactRoleAssignmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `companyContactAssignRole` mutation. */ +export type CompanyContactAssignRolePayload = { + __typename?: 'CompanyContactAssignRolePayload'; + /** The company contact role assignment. */ + companyContactRoleAssignment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyContactAssignRoles` mutation. */ +export type CompanyContactAssignRolesPayload = { + __typename?: 'CompanyContactAssignRolesPayload'; + /** A list of newly created assignments of company contacts to a company location. */ + roleAssignments?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple CompanyContacts. */ +export type CompanyContactConnection = { + __typename?: 'CompanyContactConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CompanyContactEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `companyContactCreate` mutation. */ +export type CompanyContactCreatePayload = { + __typename?: 'CompanyContactCreatePayload'; + /** The created company contact. */ + companyContact?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyContactDelete` mutation. */ +export type CompanyContactDeletePayload = { + __typename?: 'CompanyContactDeletePayload'; + /** The ID of the deleted company contact. */ + deletedCompanyContactId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one CompanyContact and a cursor during pagination. */ +export type CompanyContactEdge = { + __typename?: 'CompanyContactEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CompanyContactEdge. */ + node: CompanyContact; +}; + +/** The input fields for company contact attributes when creating or updating a company contact. */ +export type CompanyContactInput = { + /** The unique email address of the company contact. */ + email?: InputMaybe; + /** The company contact's first name. */ + firstName?: InputMaybe; + /** The company contact's last name. */ + lastName?: InputMaybe; + /** The contact's locale. */ + locale?: InputMaybe; + /** The phone number of the company contact. */ + phone?: InputMaybe; + /** The title of the company contact. */ + title?: InputMaybe; +}; + +/** Return type for `companyContactRemoveFromCompany` mutation. */ +export type CompanyContactRemoveFromCompanyPayload = { + __typename?: 'CompanyContactRemoveFromCompanyPayload'; + /** The ID of the removed company contact. */ + removedCompanyContactId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyContactRevokeRole` mutation. */ +export type CompanyContactRevokeRolePayload = { + __typename?: 'CompanyContactRevokeRolePayload'; + /** The role assignment that was revoked. */ + revokedCompanyContactRoleAssignmentId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyContactRevokeRoles` mutation. */ +export type CompanyContactRevokeRolesPayload = { + __typename?: 'CompanyContactRevokeRolesPayload'; + /** A list of role assignment IDs that were removed from the company contact. */ + revokedRoleAssignmentIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The role for a [company contact](https://shopify.dev/api/admin-graphql/latest/objects/companycontact). */ +export type CompanyContactRole = Node & { + __typename?: 'CompanyContactRole'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The name of a role. + * For example, `admin` or `buyer`. + */ + name: Scalars['String']['output']; + /** A note for the role. */ + note?: Maybe; +}; + +/** The input fields for the role and location to assign to a company contact. */ +export type CompanyContactRoleAssign = { + /** The role ID. */ + companyContactRoleId: Scalars['ID']['input']; + /** The location. */ + companyLocationId: Scalars['ID']['input']; +}; + +/** The CompanyContactRoleAssignment describes the company and location associated to a company contact's role. */ +export type CompanyContactRoleAssignment = Node & { + __typename?: 'CompanyContactRoleAssignment'; + /** The company this role assignment belongs to. */ + company: Company; + /** The company contact for whom this role is assigned. */ + companyContact: CompanyContact; + /** The company location to which the role is assigned. */ + companyLocation: CompanyLocation; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the assignment record was created. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The role that's assigned to the company contact. */ + role: CompanyContactRole; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the assignment record was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple CompanyContactRoleAssignments. */ +export type CompanyContactRoleAssignmentConnection = { + __typename?: 'CompanyContactRoleAssignmentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CompanyContactRoleAssignmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CompanyContactRoleAssignment and a cursor during pagination. */ +export type CompanyContactRoleAssignmentEdge = { + __typename?: 'CompanyContactRoleAssignmentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CompanyContactRoleAssignmentEdge. */ + node: CompanyContactRoleAssignment; +}; + +/** The set of valid sort keys for the CompanyContactRoleAssignment query. */ +export enum CompanyContactRoleAssignmentSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `location_name` value. */ + LocationName = 'LOCATION_NAME', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** An auto-generated type for paginating through multiple CompanyContactRoles. */ +export type CompanyContactRoleConnection = { + __typename?: 'CompanyContactRoleConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CompanyContactRoleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CompanyContactRole and a cursor during pagination. */ +export type CompanyContactRoleEdge = { + __typename?: 'CompanyContactRoleEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CompanyContactRoleEdge. */ + node: CompanyContactRole; +}; + +/** The set of valid sort keys for the CompanyContactRole query. */ +export enum CompanyContactRoleSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Return type for `companyContactSendWelcomeEmail` mutation. */ +export type CompanyContactSendWelcomeEmailPayload = { + __typename?: 'CompanyContactSendWelcomeEmailPayload'; + /** The company contact to whom a welcome email was sent. */ + companyContact?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The set of valid sort keys for the CompanyContact query. */ +export enum CompanyContactSortKeys { + /** Sort by the `company_id` value. */ + CompanyId = 'COMPANY_ID', + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `email` value. */ + Email = 'EMAIL', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** Sort by the `name_email` value. */ + NameEmail = 'NAME_EMAIL', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Return type for `companyContactUpdate` mutation. */ +export type CompanyContactUpdatePayload = { + __typename?: 'CompanyContactUpdatePayload'; + /** The updated company contact. */ + companyContact?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyContactsDelete` mutation. */ +export type CompanyContactsDeletePayload = { + __typename?: 'CompanyContactsDeletePayload'; + /** The list of IDs of the deleted company contacts. */ + deletedCompanyContactIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields and values for creating a company and its associated resources. */ +export type CompanyCreateInput = { + /** The attributes for the company. */ + company: CompanyInput; + /** The attributes for the company contact. */ + companyContact?: InputMaybe; + /** The attributes for the company location. */ + companyLocation?: InputMaybe; +}; + +/** Return type for `companyCreate` mutation. */ +export type CompanyCreatePayload = { + __typename?: 'CompanyCreatePayload'; + /** The created company. */ + company?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyDelete` mutation. */ +export type CompanyDeletePayload = { + __typename?: 'CompanyDeletePayload'; + /** The ID of the deleted company. */ + deletedCompanyId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Company and a cursor during pagination. */ +export type CompanyEdge = { + __typename?: 'CompanyEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CompanyEdge. */ + node: Company; +}; + +/** The input fields for company attributes when creating or updating a company. */ +export type CompanyInput = { + /** + * The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at + * which the company became the customer. + */ + customerSince?: InputMaybe; + /** A unique externally-supplied ID for the company. */ + externalId?: InputMaybe; + /** The name of the company. */ + name?: InputMaybe; + /** A note about the company. */ + note?: InputMaybe; +}; + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocation = CommentEventSubject & HasEvents & HasMetafieldDefinitions & HasMetafields & Navigable & Node & { + __typename?: 'CompanyLocation'; + /** The address used as billing address for the location. */ + billingAddress?: Maybe; + /** The configuration for the buyer's B2B checkout. */ + buyerExperienceConfiguration?: Maybe; + /** The list of catalogs associated with the company location. */ + catalogs: CatalogConnection; + /** The number of catalogs associated with the company location. Limited to a maximum of 10000. */ + catalogsCount?: Maybe; + /** The company that the company location belongs to. */ + company: Company; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was created in Shopify. */ + createdAt: Scalars['DateTime']['output']; + /** The location's currency based on the shipping address. If the shipping address is empty, then the value is the shop's primary market. */ + currency: CurrencyCode; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** The list of draft orders for the company location. */ + draftOrders: DraftOrderConnection; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** A unique externally-supplied ID for the company location. */ + externalId?: Maybe; + /** Whether the merchant added a timeline comment to the company location. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the company location is assigned a specific catalog. */ + inCatalog: Scalars['Boolean']['output']; + /** The preferred locale of the company location. */ + locale?: Maybe; + /** The market that includes the location's shipping address. If the shipping address is empty, then the value is the shop's primary market. */ + market: Market; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The name of the company location. */ + name: Scalars['String']['output']; + /** A note about the company location. */ + note?: Maybe; + /** + * The total number of orders placed for the location. + * @deprecated Use `ordersCount` instead. + */ + orderCount: Scalars['Int']['output']; + /** The list of orders for the company location. */ + orders: OrderConnection; + /** The total number of orders placed for the location. */ + ordersCount?: Maybe; + /** The phone number of the company location. */ + phone?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The list of roles assigned to the company location. */ + roleAssignments: CompanyContactRoleAssignmentConnection; + /** The address used as shipping address for the location. */ + shippingAddress?: Maybe; + /** The list of staff members assigned to the company location. */ + staffMemberAssignments: CompanyLocationStaffMemberAssignmentConnection; + /** The list of tax exemptions applied to the location. */ + taxExemptions: Array; + /** The tax registration ID for the company location. */ + taxRegistrationId?: Maybe; + /** The total amount spent by the location. */ + totalSpent: MoneyV2; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) at which the company location was last modified. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationCatalogsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationDraftOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationInCatalogArgs = { + catalogId: Scalars['ID']['input']; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationRoleAssignmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A location or branch of a [company that's a customer](https://shopify.dev/api/admin-graphql/latest/objects/company) of the shop. Configuration of B2B relationship, for example prices lists and checkout settings, may be done for a location. */ +export type CompanyLocationStaffMemberAssignmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `companyLocationAssignAddress` mutation. */ +export type CompanyLocationAssignAddressPayload = { + __typename?: 'CompanyLocationAssignAddressPayload'; + /** The list of updated addresses on the company location. */ + addresses?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationAssignRoles` mutation. */ +export type CompanyLocationAssignRolesPayload = { + __typename?: 'CompanyLocationAssignRolesPayload'; + /** A list of newly created assignments of company contacts to a company location. */ + roleAssignments?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationAssignStaffMembers` mutation. */ +export type CompanyLocationAssignStaffMembersPayload = { + __typename?: 'CompanyLocationAssignStaffMembersPayload'; + /** The list of created staff member assignments. */ + companyLocationStaffMemberAssignments?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationAssignTaxExemptions` mutation. */ +export type CompanyLocationAssignTaxExemptionsPayload = { + __typename?: 'CompanyLocationAssignTaxExemptionsPayload'; + /** The updated company location. */ + companyLocation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A list of products with publishing and pricing information associated with company locations. */ +export type CompanyLocationCatalog = Catalog & Node & { + __typename?: 'CompanyLocationCatalog'; + /** The company locations associated with the catalog. */ + companyLocations: CompanyLocationConnection; + /** The number of company locations associated with the catalog. */ + companyLocationsCount?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Most recent catalog operations. */ + operations: Array; + /** The price list associated with the catalog. */ + priceList?: Maybe; + /** A group of products and collections that's published to a catalog. */ + publication?: Maybe; + /** The status of the catalog. */ + status: CatalogStatus; + /** The name of the catalog. */ + title: Scalars['String']['output']; +}; + + +/** A list of products with publishing and pricing information associated with company locations. */ +export type CompanyLocationCatalogCompanyLocationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple CompanyLocations. */ +export type CompanyLocationConnection = { + __typename?: 'CompanyLocationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CompanyLocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `companyLocationCreate` mutation. */ +export type CompanyLocationCreatePayload = { + __typename?: 'CompanyLocationCreatePayload'; + /** The created company location. */ + companyLocation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationCreateTaxRegistration` mutation. */ +export type CompanyLocationCreateTaxRegistrationPayload = { + __typename?: 'CompanyLocationCreateTaxRegistrationPayload'; + /** The company location with the created tax registration. */ + companyLocation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationDelete` mutation. */ +export type CompanyLocationDeletePayload = { + __typename?: 'CompanyLocationDeletePayload'; + /** The ID of the deleted company location. */ + deletedCompanyLocationId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one CompanyLocation and a cursor during pagination. */ +export type CompanyLocationEdge = { + __typename?: 'CompanyLocationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CompanyLocationEdge. */ + node: CompanyLocation; +}; + +/** The input fields for company location when creating or updating a company location. */ +export type CompanyLocationInput = { + /** The input fields to create or update the billing address for a company location. */ + billingAddress?: InputMaybe; + /** Whether the billing address is the same as the shipping address. If the value is true, then the input for `billingAddress` is ignored. */ + billingSameAsShipping?: InputMaybe; + /** The configuration for the buyer's checkout at the company location. */ + buyerExperienceConfiguration?: InputMaybe; + /** A unique externally-supplied ID for the company location. */ + externalId?: InputMaybe; + /** The preferred locale of the company location. */ + locale?: InputMaybe; + /** The name of the company location. */ + name?: InputMaybe; + /** A note about the company location. */ + note?: InputMaybe; + /** The phone number of the company location. */ + phone?: InputMaybe; + /** The input fields to create or update the shipping address for a company location. */ + shippingAddress?: InputMaybe; + /** The list of tax exemptions to apply to the company location. */ + taxExemptions?: InputMaybe>; + /** The tax registration ID of the company location. */ + taxRegistrationId?: InputMaybe; +}; + +/** Return type for `companyLocationRemoveStaffMembers` mutation. */ +export type CompanyLocationRemoveStaffMembersPayload = { + __typename?: 'CompanyLocationRemoveStaffMembersPayload'; + /** The list of IDs of the deleted staff member assignment. */ + deletedCompanyLocationStaffMemberAssignmentIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationRevokeRoles` mutation. */ +export type CompanyLocationRevokeRolesPayload = { + __typename?: 'CompanyLocationRevokeRolesPayload'; + /** A list of role assignment IDs that were removed from the company location. */ + revokedRoleAssignmentIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationRevokeTaxExemptions` mutation. */ +export type CompanyLocationRevokeTaxExemptionsPayload = { + __typename?: 'CompanyLocationRevokeTaxExemptionsPayload'; + /** The updated company location. */ + companyLocation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationRevokeTaxRegistration` mutation. */ +export type CompanyLocationRevokeTaxRegistrationPayload = { + __typename?: 'CompanyLocationRevokeTaxRegistrationPayload'; + /** The updated company location. */ + companyLocation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for the role and contact to assign on a location. */ +export type CompanyLocationRoleAssign = { + /** The company contact ID.. */ + companyContactId: Scalars['ID']['input']; + /** The role ID. */ + companyContactRoleId: Scalars['ID']['input']; +}; + +/** The set of valid sort keys for the CompanyLocation query. */ +export enum CompanyLocationSortKeys { + /** Sort by the `company_and_location_name` value. */ + CompanyAndLocationName = 'COMPANY_AND_LOCATION_NAME', + /** Sort by the `company_id` value. */ + CompanyId = 'COMPANY_ID', + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** A representation of store's staff member who is assigned to a [company location](https://shopify.dev/api/admin-graphql/latest/objects/CompanyLocation) of the shop. The staff member's actions will be limited to objects associated with the assigned company location. */ +export type CompanyLocationStaffMemberAssignment = Node & { + __typename?: 'CompanyLocationStaffMemberAssignment'; + /** The company location the staff member is assigned to. */ + companyLocation: CompanyLocation; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Represents the data of a staff member who's assigned to a company location. */ + staffMember: StaffMember; +}; + +/** An auto-generated type for paginating through multiple CompanyLocationStaffMemberAssignments. */ +export type CompanyLocationStaffMemberAssignmentConnection = { + __typename?: 'CompanyLocationStaffMemberAssignmentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CompanyLocationStaffMemberAssignmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CompanyLocationStaffMemberAssignment and a cursor during pagination. */ +export type CompanyLocationStaffMemberAssignmentEdge = { + __typename?: 'CompanyLocationStaffMemberAssignmentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CompanyLocationStaffMemberAssignmentEdge. */ + node: CompanyLocationStaffMemberAssignment; +}; + +/** The set of valid sort keys for the CompanyLocationStaffMemberAssignment query. */ +export enum CompanyLocationStaffMemberAssignmentSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** The input fields for company location when creating or updating a company location. */ +export type CompanyLocationUpdateInput = { + /** The configuration for the buyer's checkout at the company location. */ + buyerExperienceConfiguration?: InputMaybe; + /** A unique externally-supplied ID for the company location. */ + externalId?: InputMaybe; + /** The preferred locale of the company location. */ + locale?: InputMaybe; + /** The name of the company location. */ + name?: InputMaybe; + /** A note about the company location. */ + note?: InputMaybe; + /** The phone number of the company location. */ + phone?: InputMaybe; +}; + +/** Return type for `companyLocationUpdate` mutation. */ +export type CompanyLocationUpdatePayload = { + __typename?: 'CompanyLocationUpdatePayload'; + /** The updated company location. */ + companyLocation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyLocationsDelete` mutation. */ +export type CompanyLocationsDeletePayload = { + __typename?: 'CompanyLocationsDeletePayload'; + /** A list of IDs of the deleted company locations. */ + deletedCompanyLocationIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `companyRevokeMainContact` mutation. */ +export type CompanyRevokeMainContactPayload = { + __typename?: 'CompanyRevokeMainContactPayload'; + /** The company from which the main contact is revoked. */ + company?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The set of valid sort keys for the Company query. */ +export enum CompanySortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** Sort by the `order_count` value. */ + OrderCount = 'ORDER_COUNT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `since_date` value. */ + SinceDate = 'SINCE_DATE', + /** Sort by the `total_spent` value. */ + TotalSpent = 'TOTAL_SPENT', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Return type for `companyUpdate` mutation. */ +export type CompanyUpdatePayload = { + __typename?: 'CompanyUpdatePayload'; + /** The updated company. */ + company?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for the context data that determines the pricing of a variant. Refer to [Product](https://shopify.dev/docs/api/admin-graphql/latest/queries/product?example=Get+the+price+range+for+a+product+for+buyers+from+Canada)for more information on how to use this input object. */ +export type ContextualPricingContext = { + /** The CompanyLocation ID used to fetch company location specific prices. */ + companyLocationId?: InputMaybe; + /** The country code used to fetch country-specific prices. */ + country?: InputMaybe; +}; + +/** The context data that determines the publication status of a product. */ +export type ContextualPublicationContext = { + /** The company location ID used to fetch company-specific publication. */ + companyLocationId?: InputMaybe; + /** The country code used to fetch country-specific publication. */ + country?: InputMaybe; +}; + +/** Details for count of elements. */ +export type Count = { + __typename?: 'Count'; + /** The count of elements. */ + count: Scalars['Int']['output']; + /** The count's precision, or the exactness of the value. */ + precision: CountPrecision; +}; + +/** The precision of the value returned by a count field. */ +export enum CountPrecision { + /** The count is at least the value. A limit was imposed and reached. */ + AtLeast = 'AT_LEAST', + /** The count is exactly the value. */ + Exact = 'EXACT' +} + +/** The list of all the countries from the combined shipping zones for the shop. */ +export type CountriesInShippingZones = { + __typename?: 'CountriesInShippingZones'; + /** The list of all the countries from all the combined shipping zones. */ + countryCodes: Array; + /** Whether 'Rest of World' has been defined in any of the shipping zones. */ + includeRestOfWorld: Scalars['Boolean']['output']; +}; + +/** + * The code designating a country/region, which generally follows ISO 3166-1 alpha-2 guidelines. + * If a territory doesn't have a country code value in the `CountryCode` enum, then it might be considered a subdivision + * of another country. For example, the territories associated with Spain are represented by the country code `ES`, + * and the territories associated with the United States of America are represented by the country code `US`. + */ +export enum CountryCode { + /** Ascension Island. */ + Ac = 'AC', + /** Andorra. */ + Ad = 'AD', + /** United Arab Emirates. */ + Ae = 'AE', + /** Afghanistan. */ + Af = 'AF', + /** Antigua & Barbuda. */ + Ag = 'AG', + /** Anguilla. */ + Ai = 'AI', + /** Albania. */ + Al = 'AL', + /** Armenia. */ + Am = 'AM', + /** Netherlands Antilles. */ + An = 'AN', + /** Angola. */ + Ao = 'AO', + /** Argentina. */ + Ar = 'AR', + /** Austria. */ + At = 'AT', + /** Australia. */ + Au = 'AU', + /** Aruba. */ + Aw = 'AW', + /** Åland Islands. */ + Ax = 'AX', + /** Azerbaijan. */ + Az = 'AZ', + /** Bosnia & Herzegovina. */ + Ba = 'BA', + /** Barbados. */ + Bb = 'BB', + /** Bangladesh. */ + Bd = 'BD', + /** Belgium. */ + Be = 'BE', + /** Burkina Faso. */ + Bf = 'BF', + /** Bulgaria. */ + Bg = 'BG', + /** Bahrain. */ + Bh = 'BH', + /** Burundi. */ + Bi = 'BI', + /** Benin. */ + Bj = 'BJ', + /** St. Barthélemy. */ + Bl = 'BL', + /** Bermuda. */ + Bm = 'BM', + /** Brunei. */ + Bn = 'BN', + /** Bolivia. */ + Bo = 'BO', + /** Caribbean Netherlands. */ + Bq = 'BQ', + /** Brazil. */ + Br = 'BR', + /** Bahamas. */ + Bs = 'BS', + /** Bhutan. */ + Bt = 'BT', + /** Bouvet Island. */ + Bv = 'BV', + /** Botswana. */ + Bw = 'BW', + /** Belarus. */ + By = 'BY', + /** Belize. */ + Bz = 'BZ', + /** Canada. */ + Ca = 'CA', + /** Cocos (Keeling) Islands. */ + Cc = 'CC', + /** Congo - Kinshasa. */ + Cd = 'CD', + /** Central African Republic. */ + Cf = 'CF', + /** Congo - Brazzaville. */ + Cg = 'CG', + /** Switzerland. */ + Ch = 'CH', + /** Côte d’Ivoire. */ + Ci = 'CI', + /** Cook Islands. */ + Ck = 'CK', + /** Chile. */ + Cl = 'CL', + /** Cameroon. */ + Cm = 'CM', + /** China. */ + Cn = 'CN', + /** Colombia. */ + Co = 'CO', + /** Costa Rica. */ + Cr = 'CR', + /** Cuba. */ + Cu = 'CU', + /** Cape Verde. */ + Cv = 'CV', + /** Curaçao. */ + Cw = 'CW', + /** Christmas Island. */ + Cx = 'CX', + /** Cyprus. */ + Cy = 'CY', + /** Czechia. */ + Cz = 'CZ', + /** Germany. */ + De = 'DE', + /** Djibouti. */ + Dj = 'DJ', + /** Denmark. */ + Dk = 'DK', + /** Dominica. */ + Dm = 'DM', + /** Dominican Republic. */ + Do = 'DO', + /** Algeria. */ + Dz = 'DZ', + /** Ecuador. */ + Ec = 'EC', + /** Estonia. */ + Ee = 'EE', + /** Egypt. */ + Eg = 'EG', + /** Western Sahara. */ + Eh = 'EH', + /** Eritrea. */ + Er = 'ER', + /** Spain. */ + Es = 'ES', + /** Ethiopia. */ + Et = 'ET', + /** Finland. */ + Fi = 'FI', + /** Fiji. */ + Fj = 'FJ', + /** Falkland Islands. */ + Fk = 'FK', + /** Faroe Islands. */ + Fo = 'FO', + /** France. */ + Fr = 'FR', + /** Gabon. */ + Ga = 'GA', + /** United Kingdom. */ + Gb = 'GB', + /** Grenada. */ + Gd = 'GD', + /** Georgia. */ + Ge = 'GE', + /** French Guiana. */ + Gf = 'GF', + /** Guernsey. */ + Gg = 'GG', + /** Ghana. */ + Gh = 'GH', + /** Gibraltar. */ + Gi = 'GI', + /** Greenland. */ + Gl = 'GL', + /** Gambia. */ + Gm = 'GM', + /** Guinea. */ + Gn = 'GN', + /** Guadeloupe. */ + Gp = 'GP', + /** Equatorial Guinea. */ + Gq = 'GQ', + /** Greece. */ + Gr = 'GR', + /** South Georgia & South Sandwich Islands. */ + Gs = 'GS', + /** Guatemala. */ + Gt = 'GT', + /** Guinea-Bissau. */ + Gw = 'GW', + /** Guyana. */ + Gy = 'GY', + /** Hong Kong SAR. */ + Hk = 'HK', + /** Heard & McDonald Islands. */ + Hm = 'HM', + /** Honduras. */ + Hn = 'HN', + /** Croatia. */ + Hr = 'HR', + /** Haiti. */ + Ht = 'HT', + /** Hungary. */ + Hu = 'HU', + /** Indonesia. */ + Id = 'ID', + /** Ireland. */ + Ie = 'IE', + /** Israel. */ + Il = 'IL', + /** Isle of Man. */ + Im = 'IM', + /** India. */ + In = 'IN', + /** British Indian Ocean Territory. */ + Io = 'IO', + /** Iraq. */ + Iq = 'IQ', + /** Iran. */ + Ir = 'IR', + /** Iceland. */ + Is = 'IS', + /** Italy. */ + It = 'IT', + /** Jersey. */ + Je = 'JE', + /** Jamaica. */ + Jm = 'JM', + /** Jordan. */ + Jo = 'JO', + /** Japan. */ + Jp = 'JP', + /** Kenya. */ + Ke = 'KE', + /** Kyrgyzstan. */ + Kg = 'KG', + /** Cambodia. */ + Kh = 'KH', + /** Kiribati. */ + Ki = 'KI', + /** Comoros. */ + Km = 'KM', + /** St. Kitts & Nevis. */ + Kn = 'KN', + /** North Korea. */ + Kp = 'KP', + /** South Korea. */ + Kr = 'KR', + /** Kuwait. */ + Kw = 'KW', + /** Cayman Islands. */ + Ky = 'KY', + /** Kazakhstan. */ + Kz = 'KZ', + /** Laos. */ + La = 'LA', + /** Lebanon. */ + Lb = 'LB', + /** St. Lucia. */ + Lc = 'LC', + /** Liechtenstein. */ + Li = 'LI', + /** Sri Lanka. */ + Lk = 'LK', + /** Liberia. */ + Lr = 'LR', + /** Lesotho. */ + Ls = 'LS', + /** Lithuania. */ + Lt = 'LT', + /** Luxembourg. */ + Lu = 'LU', + /** Latvia. */ + Lv = 'LV', + /** Libya. */ + Ly = 'LY', + /** Morocco. */ + Ma = 'MA', + /** Monaco. */ + Mc = 'MC', + /** Moldova. */ + Md = 'MD', + /** Montenegro. */ + Me = 'ME', + /** St. Martin. */ + Mf = 'MF', + /** Madagascar. */ + Mg = 'MG', + /** North Macedonia. */ + Mk = 'MK', + /** Mali. */ + Ml = 'ML', + /** Myanmar (Burma). */ + Mm = 'MM', + /** Mongolia. */ + Mn = 'MN', + /** Macao SAR. */ + Mo = 'MO', + /** Martinique. */ + Mq = 'MQ', + /** Mauritania. */ + Mr = 'MR', + /** Montserrat. */ + Ms = 'MS', + /** Malta. */ + Mt = 'MT', + /** Mauritius. */ + Mu = 'MU', + /** Maldives. */ + Mv = 'MV', + /** Malawi. */ + Mw = 'MW', + /** Mexico. */ + Mx = 'MX', + /** Malaysia. */ + My = 'MY', + /** Mozambique. */ + Mz = 'MZ', + /** Namibia. */ + Na = 'NA', + /** New Caledonia. */ + Nc = 'NC', + /** Niger. */ + Ne = 'NE', + /** Norfolk Island. */ + Nf = 'NF', + /** Nigeria. */ + Ng = 'NG', + /** Nicaragua. */ + Ni = 'NI', + /** Netherlands. */ + Nl = 'NL', + /** Norway. */ + No = 'NO', + /** Nepal. */ + Np = 'NP', + /** Nauru. */ + Nr = 'NR', + /** Niue. */ + Nu = 'NU', + /** New Zealand. */ + Nz = 'NZ', + /** Oman. */ + Om = 'OM', + /** Panama. */ + Pa = 'PA', + /** Peru. */ + Pe = 'PE', + /** French Polynesia. */ + Pf = 'PF', + /** Papua New Guinea. */ + Pg = 'PG', + /** Philippines. */ + Ph = 'PH', + /** Pakistan. */ + Pk = 'PK', + /** Poland. */ + Pl = 'PL', + /** St. Pierre & Miquelon. */ + Pm = 'PM', + /** Pitcairn Islands. */ + Pn = 'PN', + /** Palestinian Territories. */ + Ps = 'PS', + /** Portugal. */ + Pt = 'PT', + /** Paraguay. */ + Py = 'PY', + /** Qatar. */ + Qa = 'QA', + /** Réunion. */ + Re = 'RE', + /** Romania. */ + Ro = 'RO', + /** Serbia. */ + Rs = 'RS', + /** Russia. */ + Ru = 'RU', + /** Rwanda. */ + Rw = 'RW', + /** Saudi Arabia. */ + Sa = 'SA', + /** Solomon Islands. */ + Sb = 'SB', + /** Seychelles. */ + Sc = 'SC', + /** Sudan. */ + Sd = 'SD', + /** Sweden. */ + Se = 'SE', + /** Singapore. */ + Sg = 'SG', + /** St. Helena. */ + Sh = 'SH', + /** Slovenia. */ + Si = 'SI', + /** Svalbard & Jan Mayen. */ + Sj = 'SJ', + /** Slovakia. */ + Sk = 'SK', + /** Sierra Leone. */ + Sl = 'SL', + /** San Marino. */ + Sm = 'SM', + /** Senegal. */ + Sn = 'SN', + /** Somalia. */ + So = 'SO', + /** Suriname. */ + Sr = 'SR', + /** South Sudan. */ + Ss = 'SS', + /** São Tomé & Príncipe. */ + St = 'ST', + /** El Salvador. */ + Sv = 'SV', + /** Sint Maarten. */ + Sx = 'SX', + /** Syria. */ + Sy = 'SY', + /** Eswatini. */ + Sz = 'SZ', + /** Tristan da Cunha. */ + Ta = 'TA', + /** Turks & Caicos Islands. */ + Tc = 'TC', + /** Chad. */ + Td = 'TD', + /** French Southern Territories. */ + Tf = 'TF', + /** Togo. */ + Tg = 'TG', + /** Thailand. */ + Th = 'TH', + /** Tajikistan. */ + Tj = 'TJ', + /** Tokelau. */ + Tk = 'TK', + /** Timor-Leste. */ + Tl = 'TL', + /** Turkmenistan. */ + Tm = 'TM', + /** Tunisia. */ + Tn = 'TN', + /** Tonga. */ + To = 'TO', + /** Türkiye. */ + Tr = 'TR', + /** Trinidad & Tobago. */ + Tt = 'TT', + /** Tuvalu. */ + Tv = 'TV', + /** Taiwan. */ + Tw = 'TW', + /** Tanzania. */ + Tz = 'TZ', + /** Ukraine. */ + Ua = 'UA', + /** Uganda. */ + Ug = 'UG', + /** U.S. Outlying Islands. */ + Um = 'UM', + /** United States. */ + Us = 'US', + /** Uruguay. */ + Uy = 'UY', + /** Uzbekistan. */ + Uz = 'UZ', + /** Vatican City. */ + Va = 'VA', + /** St. Vincent & Grenadines. */ + Vc = 'VC', + /** Venezuela. */ + Ve = 'VE', + /** British Virgin Islands. */ + Vg = 'VG', + /** Vietnam. */ + Vn = 'VN', + /** Vanuatu. */ + Vu = 'VU', + /** Wallis & Futuna. */ + Wf = 'WF', + /** Samoa. */ + Ws = 'WS', + /** Kosovo. */ + Xk = 'XK', + /** Yemen. */ + Ye = 'YE', + /** Mayotte. */ + Yt = 'YT', + /** South Africa. */ + Za = 'ZA', + /** Zambia. */ + Zm = 'ZM', + /** Zimbabwe. */ + Zw = 'ZW', + /** Unknown Region. */ + Zz = 'ZZ' +} + +/** The country-specific harmonized system code and ISO country code for an inventory item. */ +export type CountryHarmonizedSystemCode = { + __typename?: 'CountryHarmonizedSystemCode'; + /** The ISO 3166-1 alpha-2 country code for the country that issued the specified harmonized system code. */ + countryCode: CountryCode; + /** The country-specific harmonized system code. These are usually longer than 6 digits. */ + harmonizedSystemCode: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple CountryHarmonizedSystemCodes. */ +export type CountryHarmonizedSystemCodeConnection = { + __typename?: 'CountryHarmonizedSystemCodeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CountryHarmonizedSystemCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CountryHarmonizedSystemCode and a cursor during pagination. */ +export type CountryHarmonizedSystemCodeEdge = { + __typename?: 'CountryHarmonizedSystemCodeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CountryHarmonizedSystemCodeEdge. */ + node: CountryHarmonizedSystemCode; +}; + +/** The input fields required to specify a harmonized system code. */ +export type CountryHarmonizedSystemCodeInput = { + /** The ISO 3166-1 alpha-2 country code for the country that issued the specified harmonized system code. */ + countryCode: CountryCode; + /** Country specific harmonized system code. */ + harmonizedSystemCode: Scalars['String']['input']; +}; + +/** The input fields required to create a media object. */ +export type CreateMediaInput = { + /** The alt text associated with the media. */ + alt?: InputMaybe; + /** The media content type. */ + mediaContentType: MediaContentType; + /** The original source of the media object. This might be an external URL or a staged upload URL. */ + originalSource: Scalars['String']['input']; +}; + +/** The part of the image that should remain after cropping. */ +export enum CropRegion { + /** Keep the bottom of the image. */ + Bottom = 'BOTTOM', + /** Keep the center of the image. */ + Center = 'CENTER', + /** Keep the left of the image. */ + Left = 'LEFT', + /** Keep the right of the image. */ + Right = 'RIGHT', + /** Keep the top of the image. */ + Top = 'TOP' +} + +/** + * The three-letter currency codes that represent the world currencies used in stores. These include standard ISO 4217 codes, legacy codes, + * and non-standard codes. + */ +export enum CurrencyCode { + /** United Arab Emirates Dirham (AED). */ + Aed = 'AED', + /** Afghan Afghani (AFN). */ + Afn = 'AFN', + /** Albanian Lek (ALL). */ + All = 'ALL', + /** Armenian Dram (AMD). */ + Amd = 'AMD', + /** Netherlands Antillean Guilder. */ + Ang = 'ANG', + /** Angolan Kwanza (AOA). */ + Aoa = 'AOA', + /** Argentine Pesos (ARS). */ + Ars = 'ARS', + /** Australian Dollars (AUD). */ + Aud = 'AUD', + /** Aruban Florin (AWG). */ + Awg = 'AWG', + /** Azerbaijani Manat (AZN). */ + Azn = 'AZN', + /** Bosnia and Herzegovina Convertible Mark (BAM). */ + Bam = 'BAM', + /** Barbadian Dollar (BBD). */ + Bbd = 'BBD', + /** Bangladesh Taka (BDT). */ + Bdt = 'BDT', + /** Bulgarian Lev (BGN). */ + Bgn = 'BGN', + /** Bahraini Dinar (BHD). */ + Bhd = 'BHD', + /** Burundian Franc (BIF). */ + Bif = 'BIF', + /** Bermudian Dollar (BMD). */ + Bmd = 'BMD', + /** Brunei Dollar (BND). */ + Bnd = 'BND', + /** Bolivian Boliviano (BOB). */ + Bob = 'BOB', + /** Brazilian Real (BRL). */ + Brl = 'BRL', + /** Bahamian Dollar (BSD). */ + Bsd = 'BSD', + /** Bhutanese Ngultrum (BTN). */ + Btn = 'BTN', + /** Botswana Pula (BWP). */ + Bwp = 'BWP', + /** Belarusian Ruble (BYN). */ + Byn = 'BYN', + /** + * Belarusian Ruble (BYR). + * @deprecated `BYR` is deprecated. Use `BYN` available from version `2021-01` onwards instead. + */ + Byr = 'BYR', + /** Belize Dollar (BZD). */ + Bzd = 'BZD', + /** Canadian Dollars (CAD). */ + Cad = 'CAD', + /** Congolese franc (CDF). */ + Cdf = 'CDF', + /** Swiss Francs (CHF). */ + Chf = 'CHF', + /** Chilean Peso (CLP). */ + Clp = 'CLP', + /** Chinese Yuan Renminbi (CNY). */ + Cny = 'CNY', + /** Colombian Peso (COP). */ + Cop = 'COP', + /** Costa Rican Colones (CRC). */ + Crc = 'CRC', + /** Cape Verdean escudo (CVE). */ + Cve = 'CVE', + /** Czech Koruny (CZK). */ + Czk = 'CZK', + /** Djiboutian Franc (DJF). */ + Djf = 'DJF', + /** Danish Kroner (DKK). */ + Dkk = 'DKK', + /** Dominican Peso (DOP). */ + Dop = 'DOP', + /** Algerian Dinar (DZD). */ + Dzd = 'DZD', + /** Egyptian Pound (EGP). */ + Egp = 'EGP', + /** Eritrean Nakfa (ERN). */ + Ern = 'ERN', + /** Ethiopian Birr (ETB). */ + Etb = 'ETB', + /** Euro (EUR). */ + Eur = 'EUR', + /** Fijian Dollars (FJD). */ + Fjd = 'FJD', + /** Falkland Islands Pounds (FKP). */ + Fkp = 'FKP', + /** United Kingdom Pounds (GBP). */ + Gbp = 'GBP', + /** Georgian Lari (GEL). */ + Gel = 'GEL', + /** Ghanaian Cedi (GHS). */ + Ghs = 'GHS', + /** Gibraltar Pounds (GIP). */ + Gip = 'GIP', + /** Gambian Dalasi (GMD). */ + Gmd = 'GMD', + /** Guinean Franc (GNF). */ + Gnf = 'GNF', + /** Guatemalan Quetzal (GTQ). */ + Gtq = 'GTQ', + /** Guyanese Dollar (GYD). */ + Gyd = 'GYD', + /** Hong Kong Dollars (HKD). */ + Hkd = 'HKD', + /** Honduran Lempira (HNL). */ + Hnl = 'HNL', + /** Croatian Kuna (HRK). */ + Hrk = 'HRK', + /** Haitian Gourde (HTG). */ + Htg = 'HTG', + /** Hungarian Forint (HUF). */ + Huf = 'HUF', + /** Indonesian Rupiah (IDR). */ + Idr = 'IDR', + /** Israeli New Shekel (NIS). */ + Ils = 'ILS', + /** Indian Rupees (INR). */ + Inr = 'INR', + /** Iraqi Dinar (IQD). */ + Iqd = 'IQD', + /** Iranian Rial (IRR). */ + Irr = 'IRR', + /** Icelandic Kronur (ISK). */ + Isk = 'ISK', + /** Jersey Pound. */ + Jep = 'JEP', + /** Jamaican Dollars (JMD). */ + Jmd = 'JMD', + /** Jordanian Dinar (JOD). */ + Jod = 'JOD', + /** Japanese Yen (JPY). */ + Jpy = 'JPY', + /** Kenyan Shilling (KES). */ + Kes = 'KES', + /** Kyrgyzstani Som (KGS). */ + Kgs = 'KGS', + /** Cambodian Riel. */ + Khr = 'KHR', + /** Kiribati Dollar (KID). */ + Kid = 'KID', + /** Comorian Franc (KMF). */ + Kmf = 'KMF', + /** South Korean Won (KRW). */ + Krw = 'KRW', + /** Kuwaiti Dinar (KWD). */ + Kwd = 'KWD', + /** Cayman Dollars (KYD). */ + Kyd = 'KYD', + /** Kazakhstani Tenge (KZT). */ + Kzt = 'KZT', + /** Laotian Kip (LAK). */ + Lak = 'LAK', + /** Lebanese Pounds (LBP). */ + Lbp = 'LBP', + /** Sri Lankan Rupees (LKR). */ + Lkr = 'LKR', + /** Liberian Dollar (LRD). */ + Lrd = 'LRD', + /** Lesotho Loti (LSL). */ + Lsl = 'LSL', + /** Lithuanian Litai (LTL). */ + Ltl = 'LTL', + /** Latvian Lati (LVL). */ + Lvl = 'LVL', + /** Libyan Dinar (LYD). */ + Lyd = 'LYD', + /** Moroccan Dirham. */ + Mad = 'MAD', + /** Moldovan Leu (MDL). */ + Mdl = 'MDL', + /** Malagasy Ariary (MGA). */ + Mga = 'MGA', + /** Macedonia Denar (MKD). */ + Mkd = 'MKD', + /** Burmese Kyat (MMK). */ + Mmk = 'MMK', + /** Mongolian Tugrik. */ + Mnt = 'MNT', + /** Macanese Pataca (MOP). */ + Mop = 'MOP', + /** Mauritanian Ouguiya (MRU). */ + Mru = 'MRU', + /** Mauritian Rupee (MUR). */ + Mur = 'MUR', + /** Maldivian Rufiyaa (MVR). */ + Mvr = 'MVR', + /** Malawian Kwacha (MWK). */ + Mwk = 'MWK', + /** Mexican Pesos (MXN). */ + Mxn = 'MXN', + /** Malaysian Ringgits (MYR). */ + Myr = 'MYR', + /** Mozambican Metical. */ + Mzn = 'MZN', + /** Namibian Dollar. */ + Nad = 'NAD', + /** Nigerian Naira (NGN). */ + Ngn = 'NGN', + /** Nicaraguan Córdoba (NIO). */ + Nio = 'NIO', + /** Norwegian Kroner (NOK). */ + Nok = 'NOK', + /** Nepalese Rupee (NPR). */ + Npr = 'NPR', + /** New Zealand Dollars (NZD). */ + Nzd = 'NZD', + /** Omani Rial (OMR). */ + Omr = 'OMR', + /** Panamian Balboa (PAB). */ + Pab = 'PAB', + /** Peruvian Nuevo Sol (PEN). */ + Pen = 'PEN', + /** Papua New Guinean Kina (PGK). */ + Pgk = 'PGK', + /** Philippine Peso (PHP). */ + Php = 'PHP', + /** Pakistani Rupee (PKR). */ + Pkr = 'PKR', + /** Polish Zlotych (PLN). */ + Pln = 'PLN', + /** Paraguayan Guarani (PYG). */ + Pyg = 'PYG', + /** Qatari Rial (QAR). */ + Qar = 'QAR', + /** Romanian Lei (RON). */ + Ron = 'RON', + /** Serbian dinar (RSD). */ + Rsd = 'RSD', + /** Russian Rubles (RUB). */ + Rub = 'RUB', + /** Rwandan Franc (RWF). */ + Rwf = 'RWF', + /** Saudi Riyal (SAR). */ + Sar = 'SAR', + /** Solomon Islands Dollar (SBD). */ + Sbd = 'SBD', + /** Seychellois Rupee (SCR). */ + Scr = 'SCR', + /** Sudanese Pound (SDG). */ + Sdg = 'SDG', + /** Swedish Kronor (SEK). */ + Sek = 'SEK', + /** Singapore Dollars (SGD). */ + Sgd = 'SGD', + /** Saint Helena Pounds (SHP). */ + Shp = 'SHP', + /** Sierra Leonean Leone (SLL). */ + Sll = 'SLL', + /** Somali Shilling (SOS). */ + Sos = 'SOS', + /** Surinamese Dollar (SRD). */ + Srd = 'SRD', + /** South Sudanese Pound (SSP). */ + Ssp = 'SSP', + /** + * Sao Tome And Principe Dobra (STD). + * @deprecated `STD` is deprecated. Use `STN` available from version `2022-07` onwards instead. + */ + Std = 'STD', + /** Sao Tome And Principe Dobra (STN). */ + Stn = 'STN', + /** Syrian Pound (SYP). */ + Syp = 'SYP', + /** Swazi Lilangeni (SZL). */ + Szl = 'SZL', + /** Thai baht (THB). */ + Thb = 'THB', + /** Tajikistani Somoni (TJS). */ + Tjs = 'TJS', + /** Turkmenistani Manat (TMT). */ + Tmt = 'TMT', + /** Tunisian Dinar (TND). */ + Tnd = 'TND', + /** Tongan Pa'anga (TOP). */ + Top = 'TOP', + /** Turkish Lira (TRY). */ + Try = 'TRY', + /** Trinidad and Tobago Dollars (TTD). */ + Ttd = 'TTD', + /** Taiwan Dollars (TWD). */ + Twd = 'TWD', + /** Tanzanian Shilling (TZS). */ + Tzs = 'TZS', + /** Ukrainian Hryvnia (UAH). */ + Uah = 'UAH', + /** Ugandan Shilling (UGX). */ + Ugx = 'UGX', + /** United States Dollars (USD). */ + Usd = 'USD', + /** Uruguayan Pesos (UYU). */ + Uyu = 'UYU', + /** Uzbekistan som (UZS). */ + Uzs = 'UZS', + /** Venezuelan Bolivares (VED). */ + Ved = 'VED', + /** + * Venezuelan Bolivares (VEF). + * @deprecated `VEF` is deprecated. Use `VES` available from version `2020-10` onwards instead. + */ + Vef = 'VEF', + /** Venezuelan Bolivares Soberanos (VES). */ + Ves = 'VES', + /** Vietnamese đồng (VND). */ + Vnd = 'VND', + /** Vanuatu Vatu (VUV). */ + Vuv = 'VUV', + /** Samoan Tala (WST). */ + Wst = 'WST', + /** Central African CFA Franc (XAF). */ + Xaf = 'XAF', + /** East Caribbean Dollar (XCD). */ + Xcd = 'XCD', + /** West African CFA franc (XOF). */ + Xof = 'XOF', + /** CFP Franc (XPF). */ + Xpf = 'XPF', + /** Unrecognized currency. */ + Xxx = 'XXX', + /** Yemeni Rial (YER). */ + Yer = 'YER', + /** South African Rand (ZAR). */ + Zar = 'ZAR', + /** Zambian Kwacha (ZMW). */ + Zmw = 'ZMW' +} + +/** Currency formats configured for the merchant. These formats are available to use within Liquid. */ +export type CurrencyFormats = { + __typename?: 'CurrencyFormats'; + /** Money without currency in HTML. */ + moneyFormat: Scalars['FormattedString']['output']; + /** Money without currency in emails. */ + moneyInEmailsFormat: Scalars['String']['output']; + /** Money with currency in HTML. */ + moneyWithCurrencyFormat: Scalars['FormattedString']['output']; + /** Money with currency in emails. */ + moneyWithCurrencyInEmailsFormat: Scalars['String']['output']; +}; + +/** A setting for a presentment currency. */ +export type CurrencySetting = { + __typename?: 'CurrencySetting'; + /** The currency's ISO code. */ + currencyCode: CurrencyCode; + /** The full name of the currency. */ + currencyName: Scalars['String']['output']; + /** Whether the currency is enabled or not. An enabled currency setting is visible to buyers and allows orders to be generated with that currency as presentment. */ + enabled: Scalars['Boolean']['output']; + /** The date and time when the active exchange rate for the currency was last modified. It can be the automatic rate's creation date, or the manual rate's last updated at date if active. */ + rateUpdatedAt?: Maybe; +}; + +/** An auto-generated type for paginating through multiple CurrencySettings. */ +export type CurrencySettingConnection = { + __typename?: 'CurrencySettingConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CurrencySettingEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CurrencySetting and a cursor during pagination. */ +export type CurrencySettingEdge = { + __typename?: 'CurrencySettingEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CurrencySettingEdge. */ + node: CurrencySetting; +}; + +/** The input fields for a custom shipping package used to pack shipment. */ +export type CustomShippingPackageInput = { + /** The default package is the one used to calculate shipping costs on checkout. */ + default?: InputMaybe; + /** Outside dimensions of the empty shipping package. */ + dimensions?: InputMaybe; + /** Descriptive name for the package. */ + name?: InputMaybe; + /** Type of package. */ + type?: InputMaybe; + /** Weight of the empty shipping package. */ + weight?: InputMaybe; +}; + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type Customer = CommentEventSubject & HasEvents & HasMetafieldDefinitions & HasMetafields & HasStoreCreditAccounts & LegacyInteroperability & Node & { + __typename?: 'Customer'; + /** A list of addresses associated with the customer. */ + addresses: Array; + /** The addresses associated with the customer. */ + addressesV2: MailingAddressConnection; + /** The total amount that the customer has spent on orders in their lifetime. */ + amountSpent: MoneyV2; + /** + * Whether the merchant can delete the customer from their store. + * + * A customer can be deleted from a store only if they haven't yet made an order. After a customer makes an + * order, they can't be deleted from a store. + */ + canDelete: Scalars['Boolean']['output']; + /** A list of the customer's company contact profiles. */ + companyContactProfiles: Array; + /** The date and time when the customer was added to the store. */ + createdAt: Scalars['DateTime']['output']; + /** Whether the customer has opted out of having their data sold. */ + dataSaleOptOut: Scalars['Boolean']['output']; + /** The default address associated with the customer. */ + defaultAddress?: Maybe; + /** + * The full name of the customer, based on the values for first_name and last_name. If the first_name and + * last_name are not available, then this falls back to the customer's email address, and if that is not available, the customer's phone number. + */ + displayName: Scalars['String']['output']; + /** The customer's email address. */ + email?: Maybe; + /** + * The current email marketing state for the customer. + * If the customer doesn't have an email address, then this property is `null`. + */ + emailMarketingConsent?: Maybe; + /** A list of events associated with the customer. */ + events: EventConnection; + /** The customer's first name. */ + firstName?: Maybe; + /** + * Whether the merchant has added timeline comments about the customer on the customer's page. + * @deprecated To query for comments on the timeline, use the events connection and a `query` argument containing `verb:comment`, or look for a `CommentEvent` in the `__typename` of events. + */ + hasTimelineComment: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image associated with the customer. */ + image: Image; + /** The customer's last name. */ + lastName?: Maybe; + /** The customer's last order. */ + lastOrder?: Maybe; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** + * The amount of time since the customer was first added to the store. + * + * Example: 'about 12 years'. + */ + lifetimeDuration: Scalars['String']['output']; + /** The customer's locale. */ + locale: Scalars['String']['output']; + /** The market that includes the customer’s default address. */ + market?: Maybe; + /** Whether the customer can be merged with another customer. */ + mergeable: CustomerMergeable; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** A unique identifier for the customer that's used with Multipass login. */ + multipassIdentifier?: Maybe; + /** A note about the customer. */ + note?: Maybe; + /** The number of orders that the customer has made at the store in their lifetime. */ + numberOfOrders: Scalars['UnsignedInt64']['output']; + /** A list of the customer's orders. */ + orders: OrderConnection; + /** A list of the customer's payment methods. */ + paymentMethods: CustomerPaymentMethodConnection; + /** The customer's phone number. */ + phone?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** Possible subscriber states of a customer defined by their subscription contracts. */ + productSubscriberStatus: CustomerProductSubscriberStatus; + /** + * The current SMS marketing state for the customer's phone number. + * + * If the customer does not have a phone number, then this property is `null`. + */ + smsMarketingConsent?: Maybe; + /** + * The state of the customer's account with the shop. + * + * Please note that this only meaningful when Classic Customer Accounts is active. + */ + state: CustomerState; + /** The statistics for a given customer. */ + statistics: CustomerStatistics; + /** Returns a list of store credit accounts that belong to the owner resource. */ + storeCreditAccounts: StoreCreditAccountConnection; + /** A list of the customer's subscription contracts. */ + subscriptionContracts: SubscriptionContractConnection; + /** A comma separated list of tags that have been added to the customer. */ + tags: Array; + /** Whether the customer is exempt from being charged taxes on their orders. */ + taxExempt: Scalars['Boolean']['output']; + /** The list of tax exemptions applied to the customer. */ + taxExemptions: Array; + /** The URL to unsubscribe the customer from the mailing list. */ + unsubscribeUrl: Scalars['URL']['output']; + /** The date and time when the customer was last updated. */ + updatedAt: Scalars['DateTime']['output']; + /** + * Whether the email address is formatted correctly. + * + * Returns `true` when the email is formatted correctly and + * belongs to an existing domain. This doesn't guarantee that + * the email address actually exists. + */ + validEmailAddress: Scalars['Boolean']['output']; + /** Whether the customer has verified their email address. Defaults to `true` if the customer is created through the Shopify admin or API. */ + verifiedEmail: Scalars['Boolean']['output']; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerAddressesArgs = { + first?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerAddressesV2Args = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerPaymentMethodsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + showRevoked?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerStoreCreditAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; +}; + + +/** + * Represents information about a customer of the shop, such as the customer's contact details, their order + * history, and whether they've agreed to receive marketing material by email. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type CustomerSubscriptionContractsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An app extension page for the customer account navigation menu. */ +export type CustomerAccountAppExtensionPage = CustomerAccountPage & Navigable & Node & { + __typename?: 'CustomerAccountAppExtensionPage'; + /** The UUID of the app extension. */ + appExtensionUuid?: Maybe; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** A unique, human-friendly string for the customer account page. */ + handle: Scalars['String']['output']; + /** The unique ID for the customer account page. */ + id: Scalars['ID']['output']; + /** The title of the customer account page. */ + title: Scalars['String']['output']; +}; + +/** A native page for the customer account navigation menu. */ +export type CustomerAccountNativePage = CustomerAccountPage & Navigable & Node & { + __typename?: 'CustomerAccountNativePage'; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** A unique, human-friendly string for the customer account page. */ + handle: Scalars['String']['output']; + /** The unique ID for the customer account page. */ + id: Scalars['ID']['output']; + /** The type of customer account native page. */ + pageType: CustomerAccountNativePagePageType; + /** The title of the customer account page. */ + title: Scalars['String']['output']; +}; + +/** The type of customer account native page. */ +export enum CustomerAccountNativePagePageType { + /** An orders page type. */ + NativeOrders = 'NATIVE_ORDERS', + /** A profile page type. */ + NativeProfile = 'NATIVE_PROFILE', + /** A settings page type. */ + NativeSettings = 'NATIVE_SETTINGS', + /** An unknown page type. Represents new page types that may be added in future versions. */ + Unknown = 'UNKNOWN' +} + +/** A customer account page. */ +export type CustomerAccountPage = { + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** A unique, human-friendly string for the customer account page. */ + handle: Scalars['String']['output']; + /** The unique ID for the customer account page. */ + id: Scalars['ID']['output']; + /** The title of the customer account page. */ + title: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple CustomerAccountPages. */ +export type CustomerAccountPageConnection = { + __typename?: 'CustomerAccountPageConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CustomerAccountPageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CustomerAccountPage and a cursor during pagination. */ +export type CustomerAccountPageEdge = { + __typename?: 'CustomerAccountPageEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CustomerAccountPageEdge. */ + node: CustomerAccountPage; +}; + +/** Information about the shop's customer accounts. */ +export type CustomerAccountsV2 = { + __typename?: 'CustomerAccountsV2'; + /** Indicates which version of customer accounts the merchant is using in online store and checkout. */ + customerAccountsVersion: CustomerAccountsVersion; + /** Login links are shown in online store and checkout. */ + loginLinksVisibleOnStorefrontAndCheckout: Scalars['Boolean']['output']; + /** Customers are required to log in to their account before checkout. */ + loginRequiredAtCheckout: Scalars['Boolean']['output']; + /** The root url for the customer accounts pages. */ + url?: Maybe; +}; + +/** The login redirection target for customer accounts. */ +export enum CustomerAccountsVersion { + /** The customer is redirected to the classic customer accounts login page. */ + Classic = 'CLASSIC', + /** The customer is redirected to the new customer accounts login page. */ + NewCustomerAccounts = 'NEW_CUSTOMER_ACCOUNTS' +} + +/** Return type for `customerAddTaxExemptions` mutation. */ +export type CustomerAddTaxExemptionsPayload = { + __typename?: 'CustomerAddTaxExemptionsPayload'; + /** The updated customer. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Possible error codes that can be returned by `CustomerCancelDataErasureUserError`. */ +export enum CustomerCancelDataErasureErrorCode { + /** Customer does not exist. */ + DoesNotExist = 'DOES_NOT_EXIST', + /** Failed to cancel customer data erasure. */ + FailedToCancel = 'FAILED_TO_CANCEL', + /** Customer's data is not scheduled for erasure. */ + NotBeingErased = 'NOT_BEING_ERASED' +} + +/** Return type for `customerCancelDataErasure` mutation. */ +export type CustomerCancelDataErasurePayload = { + __typename?: 'CustomerCancelDataErasurePayload'; + /** The ID of the customer whose pending data erasure has been cancelled. */ + customerId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs when cancelling a customer data erasure request. */ +export type CustomerCancelDataErasureUserError = DisplayableError & { + __typename?: 'CustomerCancelDataErasureUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple Customers. */ +export type CustomerConnection = { + __typename?: 'CustomerConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CustomerEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The source that collected the customer's consent to receive marketing materials. */ +export enum CustomerConsentCollectedFrom { + /** The customer consent was collected outside of Shopify. */ + Other = 'OTHER', + /** The customer consent was collected by Shopify. */ + Shopify = 'SHOPIFY' +} + +/** Return type for `customerCreate` mutation. */ +export type CustomerCreatePayload = { + __typename?: 'CustomerCreatePayload'; + /** The created customer. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a card instrument for customer payment method. */ +export type CustomerCreditCard = { + __typename?: 'CustomerCreditCard'; + /** The billing address of the card. */ + billingAddress?: Maybe; + /** The brand of the card. */ + brand: Scalars['String']['output']; + /** Whether the card is about to expire. */ + expiresSoon: Scalars['Boolean']['output']; + /** The expiry month of the card. */ + expiryMonth: Scalars['Int']['output']; + /** The expiry year of the card. */ + expiryYear: Scalars['Int']['output']; + /** The card's BIN number. */ + firstDigits?: Maybe; + /** The payment method can be revoked if there are no active subscription contracts. */ + isRevocable: Scalars['Boolean']['output']; + /** The last 4 digits of the card. */ + lastDigits: Scalars['String']['output']; + /** The masked card number with only the last 4 digits displayed. */ + maskedNumber: Scalars['String']['output']; + /** The name of the card holder. */ + name: Scalars['String']['output']; + /** The source of the card if coming from a wallet such as Apple Pay. */ + source?: Maybe; + /** The last 4 digits of the Device Account Number. */ + virtualLastDigits?: Maybe; +}; + +/** The billing address of a credit card payment instrument. */ +export type CustomerCreditCardBillingAddress = { + __typename?: 'CustomerCreditCardBillingAddress'; + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: Maybe; + /** The name of the city, district, village, or town. */ + city?: Maybe; + /** The name of the country. */ + country?: Maybe; + /** + * The two-letter code for the country of the address. + * For example, US. + */ + countryCode?: Maybe; + /** The first name in the billing address. */ + firstName?: Maybe; + /** The last name in the billing address. */ + lastName?: Maybe; + /** The region of the address, such as the province, state, or district. */ + province?: Maybe; + /** + * The alphanumeric code for the region. + * For example, ON. + */ + provinceCode?: Maybe; + /** The zip or postal code of the address. */ + zip?: Maybe; +}; + +/** The input fields to delete a customer. */ +export type CustomerDeleteInput = { + /** The ID of the customer to delete. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `customerDelete` mutation. */ +export type CustomerDeletePayload = { + __typename?: 'CustomerDeletePayload'; + /** The ID of the deleted customer. */ + deletedCustomerId?: Maybe; + /** The shop of the deleted customer. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Customer and a cursor during pagination. */ +export type CustomerEdge = { + __typename?: 'CustomerEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CustomerEdge. */ + node: Customer; +}; + +/** Represents an email address. */ +export type CustomerEmailAddress = { + __typename?: 'CustomerEmailAddress'; + /** The customer's default email address. */ + emailAddress: Scalars['String']['output']; + /** Whether the customer has subscribed to email marketing. */ + marketingState: CustomerEmailAddressMarketingState; + /** The URL to unsubscribe a member from all mailing lists. */ + marketingUnsubscribeUrl: Scalars['URL']['output']; + /** Whether the customer has opted in to having their opened emails tracked. */ + openTrackingLevel: CustomerEmailAddressOpenTrackingLevel; + /** The URL that can be used to opt a customer in or out of email open tracking. */ + openTrackingUrl: Scalars['URL']['output']; +}; + +/** Possible marketing states for the customer’s email address. */ +export enum CustomerEmailAddressMarketingState { + /** The customer’s email address marketing state is invalid. */ + Invalid = 'INVALID', + /** The customer is not subscribed to email marketing. */ + NotSubscribed = 'NOT_SUBSCRIBED', + /** The customer is in the process of subscribing to email marketing. */ + Pending = 'PENDING', + /** The customer is subscribed to email marketing. */ + Subscribed = 'SUBSCRIBED', + /** The customer is not subscribed to email marketing but was previously subscribed. */ + Unsubscribed = 'UNSUBSCRIBED' +} + +/** The different levels related to whether a customer has opted in to having their opened emails tracked. */ +export enum CustomerEmailAddressOpenTrackingLevel { + /** The customer has opted in to having their open emails tracked. */ + OptedIn = 'OPTED_IN', + /** The customer has opted out of having their open emails tracked. */ + OptedOut = 'OPTED_OUT', + /** The customer has not specified whether they want to opt in or out of having their open emails tracked. */ + Unknown = 'UNKNOWN' +} + +/** + * Information that describes when a customer consented to + * receiving marketing material by email. + */ +export type CustomerEmailMarketingConsentInput = { + /** + * The latest date and time when the customer consented or objected to + * receiving marketing material by email. + */ + consentUpdatedAt?: InputMaybe; + /** The customer opt-in level at the time of subscribing to marketing material. */ + marketingOptInLevel?: InputMaybe; + /** + * The current marketing state associated with the customer's email. + * If the customer doesn't have an email, then this field is `null`. + */ + marketingState: CustomerEmailMarketingState; +}; + +/** The record of when a customer consented to receive marketing material by email. */ +export type CustomerEmailMarketingConsentState = { + __typename?: 'CustomerEmailMarketingConsentState'; + /** + * The date and time at which the customer consented to receive marketing material by email. + * The customer's consent state reflects the consent record with the most recent `consent_updated_at` date. + * If no date is provided, then the date and time at which the consent information was sent is used. + */ + consentUpdatedAt?: Maybe; + /** + * The marketing subscription opt-in level, as described by the M3AAWG best practices guidelines, + * that the customer gave when they consented to receive marketing material by email. + */ + marketingOptInLevel?: Maybe; + /** The current email marketing state for the customer. */ + marketingState: CustomerEmailMarketingState; +}; + +/** The input fields for the email consent information to update for a given customer ID. */ +export type CustomerEmailMarketingConsentUpdateInput = { + /** The ID of the customer for which to update the email marketing consent information. The customer must have a unique email address associated to the record. If not, add the email address using the `customerUpdate` mutation first. */ + customerId: Scalars['ID']['input']; + /** The marketing consent information when the customer consented to receiving marketing material by email. */ + emailMarketingConsent: CustomerEmailMarketingConsentInput; +}; + +/** Return type for `customerEmailMarketingConsentUpdate` mutation. */ +export type CustomerEmailMarketingConsentUpdatePayload = { + __typename?: 'CustomerEmailMarketingConsentUpdatePayload'; + /** The updated customer. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CustomerEmailMarketingConsentUpdate`. */ +export type CustomerEmailMarketingConsentUpdateUserError = DisplayableError & { + __typename?: 'CustomerEmailMarketingConsentUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerEmailMarketingConsentUpdateUserError`. */ +export enum CustomerEmailMarketingConsentUpdateUserErrorCode { + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** Unexpected internal error happened. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Missing a required argument. */ + MissingArgument = 'MISSING_ARGUMENT' +} + +/** The possible email marketing states for a customer. */ +export enum CustomerEmailMarketingState { + /** The customer’s email address marketing state is invalid. */ + Invalid = 'INVALID', + /** The customer isn't subscribed to email marketing. */ + NotSubscribed = 'NOT_SUBSCRIBED', + /** The customer is in the process of subscribing to email marketing. */ + Pending = 'PENDING', + /** The customer's personal data is erased. This value is internally-set and read-only. */ + Redacted = 'REDACTED', + /** The customer is subscribed to email marketing. */ + Subscribed = 'SUBSCRIBED', + /** The customer isn't currently subscribed to email marketing but was previously subscribed. */ + Unsubscribed = 'UNSUBSCRIBED' +} + +/** Return type for `customerGenerateAccountActivationUrl` mutation. */ +export type CustomerGenerateAccountActivationUrlPayload = { + __typename?: 'CustomerGenerateAccountActivationUrlPayload'; + /** The generated account activation URL. */ + accountActivationUrl?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields and values to use when creating or updating a customer. */ +export type CustomerInput = { + /** The addresses for a customer. */ + addresses?: InputMaybe>; + /** The unique email address of the customer. */ + email?: InputMaybe; + /** + * Information that describes when the customer consented to receiving marketing + * material by email. The `email` field is required when creating a customer with email marketing + * consent information. + */ + emailMarketingConsent?: InputMaybe; + /** The customer's first name. */ + firstName?: InputMaybe; + /** The ID of the customer to update. */ + id?: InputMaybe; + /** The customer's last name. */ + lastName?: InputMaybe; + /** The customer's locale. */ + locale?: InputMaybe; + /** Additional metafields to associate to the customer. */ + metafields?: InputMaybe>; + /** A note about the customer. */ + note?: InputMaybe; + /** The unique phone number for the customer. */ + phone?: InputMaybe; + /** + * The marketing consent information when the customer consented to receiving marketing + * material by SMS. The `phone` field is required when creating a customer with SMS + * marketing consent information. + */ + smsMarketingConsent?: InputMaybe; + /** + * A list of tags to associate with the customer. Can be an array or a comma-separated list. Example values: `["tag1", "tag2", "tag3"]`, `"tag1, tag2, tag3"` + * + * Updating `tags` overwrites any existing tags that were previously added to the customer. To add new tags without overwriting + * existing tags, use the [tagsAdd](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) + * mutation. + */ + tags?: InputMaybe>; + /** Whether the customer is exempt from paying taxes on their order. */ + taxExempt?: InputMaybe; + /** The list of tax exemptions to apply to the customer. */ + taxExemptions?: InputMaybe>; +}; + +/** Represents a customer's visiting activities on a shop's online store. */ +export type CustomerJourney = { + __typename?: 'CustomerJourney'; + /** The position of the current order within the customer's order history. */ + customerOrderIndex: Scalars['Int']['output']; + /** The amount of days between first session and order creation date. First session represents first session since the last order, or first session within the 30 day attribution window, if more than 30 days has passed since the last order. */ + daysToConversion: Scalars['Int']['output']; + /** The customer's first session going into the shop. */ + firstVisit: CustomerVisit; + /** The last session before an order is made. */ + lastVisit?: Maybe; + /** Events preceding a customer order, such as shop sessions. */ + moments: Array; +}; + +/** Represents a customer's visiting activities on a shop's online store. */ +export type CustomerJourneySummary = { + __typename?: 'CustomerJourneySummary'; + /** The position of the current order within the customer's order history. Test orders aren't included. */ + customerOrderIndex?: Maybe; + /** The number of days between the first session and the order creation date. The first session represents the first session since the last order, or the first session within the 30 day attribution window, if more than 30 days have passed since the last order. */ + daysToConversion?: Maybe; + /** The customer's first session going into the shop. */ + firstVisit?: Maybe; + /** The last session before an order is made. */ + lastVisit?: Maybe; + /** The events preceding a customer's order, such as shop sessions. */ + moments?: Maybe; + /** The total number of customer moments associated with this order. Returns null if the order is still in the process of being attributed. */ + momentsCount?: Maybe; + /** Whether the attributed sessions for the order have been created yet. */ + ready: Scalars['Boolean']['output']; +}; + + +/** Represents a customer's visiting activities on a shop's online store. */ +export type CustomerJourneySummaryMomentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** + * The possible values for the marketing subscription opt-in level enabled at the time the customer consented to receive marketing information. + * + * The levels are defined by [the M3AAWG best practices guideline + * document](https://www.m3aawg.org/sites/maawg/files/news/M3AAWG_Senders_BCP_Ver3-2015-02.pdf). + */ +export enum CustomerMarketingOptInLevel { + /** + * After providing their information, the customer receives a confirmation and is required to + * perform a intermediate step before receiving marketing information. + */ + ConfirmedOptIn = 'CONFIRMED_OPT_IN', + /** + * After providing their information, the customer receives marketing information without any + * intermediate steps. + */ + SingleOptIn = 'SINGLE_OPT_IN', + /** The customer receives marketing information but how they were opted in is unknown. */ + Unknown = 'UNKNOWN' +} + +/** The error blocking a customer merge. */ +export type CustomerMergeError = { + __typename?: 'CustomerMergeError'; + /** The list of fields preventing the customer from being merged. */ + errorFields: Array; + /** The customer merge error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerMergeUserError`. */ +export enum CustomerMergeErrorCode { + /** The customer cannot be merged because it has associated gift cards. */ + CustomerHasGiftCards = 'CUSTOMER_HAS_GIFT_CARDS', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The customer cannot be merged. */ + InvalidCustomer = 'INVALID_CUSTOMER', + /** The customer ID is invalid. */ + InvalidCustomerId = 'INVALID_CUSTOMER_ID', + /** The customer is missing the attribute requested for override. */ + MissingOverrideAttribute = 'MISSING_OVERRIDE_ATTRIBUTE', + /** The override attribute is invalid. */ + OverrideAttributeInvalid = 'OVERRIDE_ATTRIBUTE_INVALID' +} + +/** The types of the hard blockers preventing a customer from being merged to another customer. */ +export enum CustomerMergeErrorFieldType { + /** The customer is a company contact. */ + CompanyContact = 'COMPANY_CONTACT', + /** The customer has payment methods. */ + CustomerPaymentMethods = 'CUSTOMER_PAYMENT_METHODS', + /** The customer does not exist. */ + DeletedAt = 'DELETED_AT', + /** The customer has gift cards. */ + GiftCards = 'GIFT_CARDS', + /** The customer has a merge in progress. */ + MergeInProgress = 'MERGE_IN_PROGRESS', + /** The customer has a multipass identifier. */ + MultipassIdentifier = 'MULTIPASS_IDENTIFIER', + /** The customer has a pending data request. */ + PendingDataRequest = 'PENDING_DATA_REQUEST', + /** The customer has a pending or completed redaction. */ + RedactedAt = 'REDACTED_AT', + /** The customer has store credit. */ + StoreCredit = 'STORE_CREDIT', + /** The customer has a subscription history. */ + Subscriptions = 'SUBSCRIPTIONS' +} + +/** The input fields to override default customer merge rules. */ +export type CustomerMergeOverrideFields = { + /** The ID of the customer whose default address will be kept. */ + customerIdOfDefaultAddressToKeep?: InputMaybe; + /** The ID of the customer whose email will be kept. */ + customerIdOfEmailToKeep?: InputMaybe; + /** The ID of the customer whose first name will be kept. */ + customerIdOfFirstNameToKeep?: InputMaybe; + /** The ID of the customer whose last name will be kept. */ + customerIdOfLastNameToKeep?: InputMaybe; + /** The ID of the customer whose phone number will be kept. */ + customerIdOfPhoneNumberToKeep?: InputMaybe; + /** The note to keep. */ + note?: InputMaybe; + /** The tags to keep. */ + tags?: InputMaybe>; +}; + +/** Return type for `customerMerge` mutation. */ +export type CustomerMergePayload = { + __typename?: 'CustomerMergePayload'; + /** The asynchronous job for merging the customers. */ + job?: Maybe; + /** The ID of the customer resulting from the merge. */ + resultingCustomerId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A preview of the results of a customer merge request. */ +export type CustomerMergePreview = { + __typename?: 'CustomerMergePreview'; + /** The fields that can be used to override the default fields. */ + alternateFields?: Maybe; + /** The fields that will block the merge if the two customers are merged. */ + blockingFields?: Maybe; + /** The errors blocking the customer merge. */ + customerMergeErrors?: Maybe>; + /** The fields that will be kept if the two customers are merged. */ + defaultFields?: Maybe; + /** The resulting customer ID if the two customers are merged. */ + resultingCustomerId?: Maybe; +}; + +/** The fields that can be used to override the default fields. */ +export type CustomerMergePreviewAlternateFields = { + __typename?: 'CustomerMergePreviewAlternateFields'; + /** The default address of a customer. */ + defaultAddress?: Maybe; + /** The email state of a customer. */ + email?: Maybe; + /** The first name of a customer. */ + firstName?: Maybe; + /** The last name of a customer. */ + lastName?: Maybe; + /** The phone number state of a customer. */ + phoneNumber?: Maybe; +}; + +/** The blocking fields of a customer merge preview. These fields will block customer merge unless edited. */ +export type CustomerMergePreviewBlockingFields = { + __typename?: 'CustomerMergePreviewBlockingFields'; + /** The merged note resulting from a customer merge. The merged note is over the 5000 character limit and will block customer merge. */ + note?: Maybe; + /** The merged tags resulting from a customer merge. The merged tags are over the 250 limit and will block customer merge. */ + tags: Array; +}; + +/** The fields that will be kept as part of a customer merge preview. */ +export type CustomerMergePreviewDefaultFields = { + __typename?: 'CustomerMergePreviewDefaultFields'; + /** The merged addresses resulting from a customer merge. */ + addresses: MailingAddressConnection; + /** The default address resulting from a customer merge. */ + defaultAddress?: Maybe; + /** The total number of customer-specific discounts resulting from a customer merge. */ + discountNodeCount: Scalars['UnsignedInt64']['output']; + /** The merged customer-specific discounts resulting from a customer merge. */ + discountNodes: DiscountNodeConnection; + /** The full name of the customer, based on the values for `first_name` and `last_name`. If `first_name` and `last_name` aren't available, then this field falls back to the customer's email address. If the customer's email isn't available, then this field falls back to the customer's phone number. */ + displayName: Scalars['String']['output']; + /** The total number of merged draft orders. */ + draftOrderCount: Scalars['UnsignedInt64']['output']; + /** The merged draft orders resulting from a customer merge. */ + draftOrders: DraftOrderConnection; + /** The email state of a customer. */ + email?: Maybe; + /** The first name resulting from a customer merge. */ + firstName?: Maybe; + /** The total number of merged gift cards. */ + giftCardCount: Scalars['UnsignedInt64']['output']; + /** The merged gift cards resulting from a customer merge. */ + giftCards: GiftCardConnection; + /** The last name resulting from a customer merge. */ + lastName?: Maybe; + /** The total number of merged metafields. */ + metafieldCount: Scalars['UnsignedInt64']['output']; + /** The merged note resulting from a customer merge. */ + note?: Maybe; + /** The total number of merged orders. */ + orderCount: Scalars['UnsignedInt64']['output']; + /** The merged orders resulting from a customer merge. */ + orders: OrderConnection; + /** The phone number state of a customer. */ + phoneNumber?: Maybe; + /** The merged tags resulting from a customer merge. */ + tags: Array; +}; + + +/** The fields that will be kept as part of a customer merge preview. */ +export type CustomerMergePreviewDefaultFieldsAddressesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The fields that will be kept as part of a customer merge preview. */ +export type CustomerMergePreviewDefaultFieldsDiscountNodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The fields that will be kept as part of a customer merge preview. */ +export type CustomerMergePreviewDefaultFieldsDraftOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The fields that will be kept as part of a customer merge preview. */ +export type CustomerMergePreviewDefaultFieldsGiftCardsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The fields that will be kept as part of a customer merge preview. */ +export type CustomerMergePreviewDefaultFieldsOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** A merge request for merging two customers. */ +export type CustomerMergeRequest = { + __typename?: 'CustomerMergeRequest'; + /** The merge errors that occurred during the customer merge request. */ + customerMergeErrors: Array; + /** The UUID of the merge job. */ + jobId?: Maybe; + /** The ID of the customer resulting from the merge. */ + resultingCustomerId: Scalars['ID']['output']; + /** The status of the customer merge request. */ + status: CustomerMergeRequestStatus; +}; + +/** The status of the customer merge request. */ +export enum CustomerMergeRequestStatus { + /** The customer merge request has been completed. */ + Completed = 'COMPLETED', + /** The customer merge request has failed. */ + Failed = 'FAILED', + /** The customer merge request is currently in progress. */ + InProgress = 'IN_PROGRESS', + /** The customer merge request has been requested. */ + Requested = 'REQUESTED' +} + +/** An error that occurs while merging two customers. */ +export type CustomerMergeUserError = DisplayableError & { + __typename?: 'CustomerMergeUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** An object that represents whether a customer can be merged with another customer. */ +export type CustomerMergeable = { + __typename?: 'CustomerMergeable'; + /** The list of fields preventing the customer from being merged. */ + errorFields: Array; + /** Whether the customer can be merged with another customer. */ + isMergeable: Scalars['Boolean']['output']; + /** The merge request if one is currently in progress. */ + mergeInProgress?: Maybe; + /** The reason why the customer can't be merged with another customer. */ + reason?: Maybe; +}; + +/** Represents a session preceding an order, often used for building a timeline of events leading to an order. */ +export type CustomerMoment = { + /** The date and time when the customer's session occurred. */ + occurredAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple CustomerMoments. */ +export type CustomerMomentConnection = { + __typename?: 'CustomerMomentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CustomerMomentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CustomerMoment and a cursor during pagination. */ +export type CustomerMomentEdge = { + __typename?: 'CustomerMomentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CustomerMomentEdge. */ + node: CustomerMoment; +}; + +/** All possible instruments for CustomerPaymentMethods. */ +export type CustomerPaymentInstrument = CustomerCreditCard | CustomerPaypalBillingAgreement | CustomerShopPayAgreement; + +/** The billing address of a payment instrument. */ +export type CustomerPaymentInstrumentBillingAddress = { + __typename?: 'CustomerPaymentInstrumentBillingAddress'; + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: Maybe; + /** The name of the city, district, village, or town. */ + city?: Maybe; + /** The name of the country. */ + country?: Maybe; + /** + * The two-letter code for the country of the address. + * For example, US. + */ + countryCode?: Maybe; + /** The name of the buyer of the address. */ + name?: Maybe; + /** The region of the address, such as the province, state, or district. */ + province?: Maybe; + /** + * The alphanumeric code for the region. + * For example, ON. + */ + provinceCode?: Maybe; + /** The zip or postal code of the address. */ + zip?: Maybe; +}; + +/** A customer's payment method. */ +export type CustomerPaymentMethod = Node & { + __typename?: 'CustomerPaymentMethod'; + /** The customer to whom the payment method belongs. */ + customer?: Maybe; + /** The ID of this payment method. */ + id: Scalars['ID']['output']; + /** The instrument for this payment method. */ + instrument?: Maybe; + /** The time that the payment method was revoked. */ + revokedAt?: Maybe; + /** The revocation reason for this payment method. */ + revokedReason?: Maybe; + /** List Subscription Contracts. */ + subscriptionContracts: SubscriptionContractConnection; +}; + + +/** A customer's payment method. */ +export type CustomerPaymentMethodSubscriptionContractsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple CustomerPaymentMethods. */ +export type CustomerPaymentMethodConnection = { + __typename?: 'CustomerPaymentMethodConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CustomerPaymentMethodEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `customerPaymentMethodCreateFromDuplicationData` mutation. */ +export type CustomerPaymentMethodCreateFromDuplicationDataPayload = { + __typename?: 'CustomerPaymentMethodCreateFromDuplicationDataPayload'; + /** The customer payment method. */ + customerPaymentMethod?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CustomerPaymentMethodCreateFromDuplicationData`. */ +export type CustomerPaymentMethodCreateFromDuplicationDataUserError = DisplayableError & { + __typename?: 'CustomerPaymentMethodCreateFromDuplicationDataUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerPaymentMethodCreateFromDuplicationDataUserError`. */ +export enum CustomerPaymentMethodCreateFromDuplicationDataUserErrorCode { + /** Customer doesn't exist. */ + CustomerDoesNotExist = 'CUSTOMER_DOES_NOT_EXIST', + /** Invalid encrypted duplication data. */ + InvalidEncryptedDuplicationData = 'INVALID_ENCRYPTED_DUPLICATION_DATA', + /** Too many requests. */ + TooManyRequests = 'TOO_MANY_REQUESTS' +} + +/** Return type for `customerPaymentMethodCreditCardCreate` mutation. */ +export type CustomerPaymentMethodCreditCardCreatePayload = { + __typename?: 'CustomerPaymentMethodCreditCardCreatePayload'; + /** The customer payment method. */ + customerPaymentMethod?: Maybe; + /** If the card verification result is processing. When this is true, customer_payment_method will be null. */ + processing?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `customerPaymentMethodCreditCardUpdate` mutation. */ +export type CustomerPaymentMethodCreditCardUpdatePayload = { + __typename?: 'CustomerPaymentMethodCreditCardUpdatePayload'; + /** The customer payment method. */ + customerPaymentMethod?: Maybe; + /** If the card verification result is processing. When this is true, customer_payment_method will be null. */ + processing?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one CustomerPaymentMethod and a cursor during pagination. */ +export type CustomerPaymentMethodEdge = { + __typename?: 'CustomerPaymentMethodEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CustomerPaymentMethodEdge. */ + node: CustomerPaymentMethod; +}; + +/** Return type for `customerPaymentMethodGetDuplicationData` mutation. */ +export type CustomerPaymentMethodGetDuplicationDataPayload = { + __typename?: 'CustomerPaymentMethodGetDuplicationDataPayload'; + /** The encrypted data from the payment method to be duplicated. */ + encryptedDuplicationData?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CustomerPaymentMethodGetDuplicationData`. */ +export type CustomerPaymentMethodGetDuplicationDataUserError = DisplayableError & { + __typename?: 'CustomerPaymentMethodGetDuplicationDataUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerPaymentMethodGetDuplicationDataUserError`. */ +export enum CustomerPaymentMethodGetDuplicationDataUserErrorCode { + /** Customer doesn't exist. */ + CustomerDoesNotExist = 'CUSTOMER_DOES_NOT_EXIST', + /** Invalid payment instrument. */ + InvalidInstrument = 'INVALID_INSTRUMENT', + /** Must be targeted to another shop in the same organization. */ + InvalidOrganizationShop = 'INVALID_ORGANIZATION_SHOP', + /** Payment method doesn't exist. */ + PaymentMethodDoesNotExist = 'PAYMENT_METHOD_DOES_NOT_EXIST', + /** Target shop cannot be the same as the source. */ + SameShop = 'SAME_SHOP', + /** Too many requests. */ + TooManyRequests = 'TOO_MANY_REQUESTS' +} + +/** Return type for `customerPaymentMethodGetUpdateUrl` mutation. */ +export type CustomerPaymentMethodGetUpdateUrlPayload = { + __typename?: 'CustomerPaymentMethodGetUpdateUrlPayload'; + /** The URL to redirect the customer to update the payment method. */ + updatePaymentMethodUrl?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `CustomerPaymentMethodGetUpdateUrl`. */ +export type CustomerPaymentMethodGetUpdateUrlUserError = DisplayableError & { + __typename?: 'CustomerPaymentMethodGetUpdateUrlUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerPaymentMethodGetUpdateUrlUserError`. */ +export enum CustomerPaymentMethodGetUpdateUrlUserErrorCode { + /** Customer doesn't exist. */ + CustomerDoesNotExist = 'CUSTOMER_DOES_NOT_EXIST', + /** Invalid payment instrument. */ + InvalidInstrument = 'INVALID_INSTRUMENT', + /** Payment method doesn't exist. */ + PaymentMethodDoesNotExist = 'PAYMENT_METHOD_DOES_NOT_EXIST', + /** Too many requests. */ + TooManyRequests = 'TOO_MANY_REQUESTS' +} + +/** Return type for `customerPaymentMethodPaypalBillingAgreementCreate` mutation. */ +export type CustomerPaymentMethodPaypalBillingAgreementCreatePayload = { + __typename?: 'CustomerPaymentMethodPaypalBillingAgreementCreatePayload'; + /** The customer payment method. */ + customerPaymentMethod?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `customerPaymentMethodPaypalBillingAgreementUpdate` mutation. */ +export type CustomerPaymentMethodPaypalBillingAgreementUpdatePayload = { + __typename?: 'CustomerPaymentMethodPaypalBillingAgreementUpdatePayload'; + /** The customer payment method. */ + customerPaymentMethod?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `customerPaymentMethodRemoteCreate` mutation. */ +export type CustomerPaymentMethodRemoteCreatePayload = { + __typename?: 'CustomerPaymentMethodRemoteCreatePayload'; + /** The customer payment method. */ + customerPaymentMethod?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `customerPaymentMethodRemoteCreditCardCreate` mutation. */ +export type CustomerPaymentMethodRemoteCreditCardCreatePayload = { + __typename?: 'CustomerPaymentMethodRemoteCreditCardCreatePayload'; + /** The customer payment method. */ + customerPaymentMethod?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for a remote gateway payment method, only one remote reference permitted. */ +export type CustomerPaymentMethodRemoteInput = { + /** The input fields for a remote authorize net customer profile. */ + authorizeNetCustomerPaymentProfile?: InputMaybe; + /** The input fields for a remote Braintree customer profile. */ + braintreePaymentMethod?: InputMaybe; + /** Input containing the fields for a remote stripe payment method. */ + stripePaymentMethod?: InputMaybe; +}; + +/** Represents an error in the input of a mutation. */ +export type CustomerPaymentMethodRemoteUserError = DisplayableError & { + __typename?: 'CustomerPaymentMethodRemoteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerPaymentMethodRemoteUserError`. */ +export enum CustomerPaymentMethodRemoteUserErrorCode { + /** Authorize.net is not enabled for subscriptions. */ + AuthorizeNetNotEnabledForSubscriptions = 'AUTHORIZE_NET_NOT_ENABLED_FOR_SUBSCRIPTIONS', + /** Braintree is not enabled for subscriptions. */ + BraintreeNotEnabledForSubscriptions = 'BRAINTREE_NOT_ENABLED_FOR_SUBSCRIPTIONS', + /** Exactly one remote reference is required. */ + ExactlyOneRemoteReferenceRequired = 'EXACTLY_ONE_REMOTE_REFERENCE_REQUIRED', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The input value is already taken. */ + Taken = 'TAKEN' +} + +/** The revocation reason types for a customer payment method. */ +export enum CustomerPaymentMethodRevocationReason { + /** The Authorize.net payment gateway is not enabled. */ + AuthorizeNetGatewayNotEnabled = 'AUTHORIZE_NET_GATEWAY_NOT_ENABLED', + /** Authorize.net did not return any payment methods. Make sure that the correct Authorize.net account is linked. */ + AuthorizeNetReturnedNoPaymentMethod = 'AUTHORIZE_NET_RETURNED_NO_PAYMENT_METHOD', + /** Failed to contact Braintree API. */ + BraintreeApiAuthenticationError = 'BRAINTREE_API_AUTHENTICATION_ERROR', + /** The Braintree payment gateway is not enabled. */ + BraintreeGatewayNotEnabled = 'BRAINTREE_GATEWAY_NOT_ENABLED', + /** The Braintree payment method type should be a credit card or Apple Pay card. */ + BraintreePaymentMethodNotCard = 'BRAINTREE_PAYMENT_METHOD_NOT_CARD', + /** Braintree returned no payment methods. Make sure the correct Braintree account is linked. */ + BraintreeReturnedNoPaymentMethod = 'BRAINTREE_RETURNED_NO_PAYMENT_METHOD', + /** The billing address failed to retrieve. */ + FailedToRetrieveBillingAddress = 'FAILED_TO_RETRIEVE_BILLING_ADDRESS', + /** The credit card failed to update. */ + FailedToUpdateCreditCard = 'FAILED_TO_UPDATE_CREDIT_CARD', + /** The payment method was manually revoked. */ + ManuallyRevoked = 'MANUALLY_REVOKED', + /** The payment method was replaced with an existing payment method. The associated contracts have been migrated to the other payment method. */ + Merged = 'MERGED', + /** Failed to contact the Stripe API. */ + StripeApiAuthenticationError = 'STRIPE_API_AUTHENTICATION_ERROR', + /** Invalid request. Failed to retrieve payment method from Stripe. */ + StripeApiInvalidRequestError = 'STRIPE_API_INVALID_REQUEST_ERROR', + /** The Stripe payment gateway is not enabled. */ + StripeGatewayNotEnabled = 'STRIPE_GATEWAY_NOT_ENABLED', + /** The Stripe payment method type should be card. */ + StripePaymentMethodNotCard = 'STRIPE_PAYMENT_METHOD_NOT_CARD', + /** Stripe did not return any payment methods. Make sure that the correct Stripe account is linked. */ + StripeReturnedNoPaymentMethod = 'STRIPE_RETURNED_NO_PAYMENT_METHOD' +} + +/** Return type for `customerPaymentMethodRevoke` mutation. */ +export type CustomerPaymentMethodRevokePayload = { + __typename?: 'CustomerPaymentMethodRevokePayload'; + /** The ID of the revoked customer payment method. */ + revokedCustomerPaymentMethodId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `customerPaymentMethodSendUpdateEmail` mutation. */ +export type CustomerPaymentMethodSendUpdateEmailPayload = { + __typename?: 'CustomerPaymentMethodSendUpdateEmailPayload'; + /** The customer to whom an update payment method email was sent. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents an error in the input of a mutation. */ +export type CustomerPaymentMethodUserError = DisplayableError & { + __typename?: 'CustomerPaymentMethodUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerPaymentMethodUserError`. */ +export enum CustomerPaymentMethodUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The input value is already taken. */ + Taken = 'TAKEN' +} + +/** Represents a PayPal instrument for customer payment method. */ +export type CustomerPaypalBillingAgreement = { + __typename?: 'CustomerPaypalBillingAgreement'; + /** The billing address of this payment method. */ + billingAddress?: Maybe; + /** Whether the PayPal billing agreement is inactive. */ + inactive: Scalars['Boolean']['output']; + /** Whether the payment method can be revoked.The payment method can be revoked if there are no active subscription contracts. */ + isRevocable: Scalars['Boolean']['output']; + /** The customers's PayPal account email address. */ + paypalAccountEmail?: Maybe; +}; + +/** A phone number. */ +export type CustomerPhoneNumber = { + __typename?: 'CustomerPhoneNumber'; + /** Whether the customer has subscribed to SMS marketing material. */ + marketingState: CustomerSmsMarketingState; + /** A customer's phone number. */ + phoneNumber: Scalars['String']['output']; +}; + +/** The valid tiers for the predicted spend of a customer with a shop. */ +export enum CustomerPredictedSpendTier { + /** The customer's spending is predicted to be in the top spending range for the shop in the following year. */ + High = 'HIGH', + /** The customer's spending is predicted to be zero, or in the lowest spending range for the shop in the following year. */ + Low = 'LOW', + /** The customer's spending is predicted to be in the normal spending range for the shop in the following year. */ + Medium = 'MEDIUM' +} + +/** The possible product subscription states for a customer, as defined by the customer's subscription contracts. */ +export enum CustomerProductSubscriberStatus { + /** The customer has at least one active subscription contract. */ + Active = 'ACTIVE', + /** + * The customer's last subscription contract was cancelled and there are no other active or paused + * subscription contracts. + */ + Cancelled = 'CANCELLED', + /** + * The customer's last subscription contract expired and there are no other active or paused + * subscription contracts. + */ + Expired = 'EXPIRED', + /** + * The customer's last subscription contract failed and there are no other active or paused + * subscription contracts. + */ + Failed = 'FAILED', + /** The customer has never had a subscription contract. */ + NeverSubscribed = 'NEVER_SUBSCRIBED', + /** + * The customer has at least one paused subscription contract and there are no other active + * subscription contracts. + */ + Paused = 'PAUSED' +} + +/** Return type for `customerRemoveTaxExemptions` mutation. */ +export type CustomerRemoveTaxExemptionsPayload = { + __typename?: 'CustomerRemoveTaxExemptionsPayload'; + /** The updated customer. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `customerReplaceTaxExemptions` mutation. */ +export type CustomerReplaceTaxExemptionsPayload = { + __typename?: 'CustomerReplaceTaxExemptionsPayload'; + /** The updated customer. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Possible error codes that can be returned by `CustomerRequestDataErasureUserError`. */ +export enum CustomerRequestDataErasureErrorCode { + /** Customer does not exist. */ + DoesNotExist = 'DOES_NOT_EXIST', + /** Failed to request customer data erasure. */ + FailedToRequest = 'FAILED_TO_REQUEST' +} + +/** Return type for `customerRequestDataErasure` mutation. */ +export type CustomerRequestDataErasurePayload = { + __typename?: 'CustomerRequestDataErasurePayload'; + /** The ID of the customer that will be erased. */ + customerId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs when requesting a customer data erasure. */ +export type CustomerRequestDataErasureUserError = DisplayableError & { + __typename?: 'CustomerRequestDataErasureUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** The set of valid sort keys for the CustomerSavedSearch query. */ +export enum CustomerSavedSearchSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The member of a segment. */ +export type CustomerSegmentMember = HasMetafields & { + __typename?: 'CustomerSegmentMember'; + /** The total amount of money that the member has spent on orders. */ + amountSpent?: Maybe; + /** The member's default address. */ + defaultAddress?: Maybe; + /** The member's default email address. */ + defaultEmailAddress?: Maybe; + /** The member's default phone number. */ + defaultPhoneNumber?: Maybe; + /** The full name of the member, which is based on the values of the `first_name` and `last_name` fields. If the member's first name and last name aren't available, then the customer's email address is used. If the customer's email address isn't available, then the customer's phone number is used. */ + displayName: Scalars['String']['output']; + /** The member's first name. */ + firstName?: Maybe; + /** The member’s ID. */ + id: Scalars['ID']['output']; + /** The member's last name. */ + lastName?: Maybe; + /** The ID of the member's most recent order. */ + lastOrderId?: Maybe; + /** Whether the customer can be merged with another customer. */ + mergeable: CustomerMergeable; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** A note about the member. */ + note?: Maybe; + /** The total number of orders that the member has made. */ + numberOfOrders?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; +}; + + +/** The member of a segment. */ +export type CustomerSegmentMemberMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** The member of a segment. */ +export type CustomerSegmentMemberMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The member of a segment. */ +export type CustomerSegmentMemberPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** The member of a segment. */ +export type CustomerSegmentMemberPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The connection type for the `CustomerSegmentMembers` object. */ +export type CustomerSegmentMemberConnection = { + __typename?: 'CustomerSegmentMemberConnection'; + /** A list of edges. */ + edges: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; + /** The statistics for a given segment. */ + statistics: SegmentStatistics; + /** The total number of members in a given segment. */ + totalCount: Scalars['Int']['output']; +}; + +/** An auto-generated type which holds one CustomerSegmentMember and a cursor during pagination. */ +export type CustomerSegmentMemberEdge = { + __typename?: 'CustomerSegmentMemberEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CustomerSegmentMemberEdge. */ + node: CustomerSegmentMember; +}; + +/** A job to determine a list of members, such as customers, that are associated with an individual segment. */ +export type CustomerSegmentMembersQuery = JobResult & Node & { + __typename?: 'CustomerSegmentMembersQuery'; + /** The current total number of members in a given segment. */ + currentCount: Scalars['Int']['output']; + /** This indicates if the job is still queued or has been run. */ + done: Scalars['Boolean']['output']; + /** A globally-unique ID that's returned when running an asynchronous mutation. */ + id: Scalars['ID']['output']; +}; + +/** Return type for `customerSegmentMembersQueryCreate` mutation. */ +export type CustomerSegmentMembersQueryCreatePayload = { + __typename?: 'CustomerSegmentMembersQueryCreatePayload'; + /** The newly created customer segment members query. */ + customerSegmentMembersQuery?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields and values for creating a customer segment members query. */ +export type CustomerSegmentMembersQueryInput = { + /** The query that's used to filter the members. The query is composed of a combination of conditions on facts about customers such as `email_subscription_status = 'SUBSCRIBED'` with [this syntax](https://shopify.dev/api/shopifyql/segment-query-language-reference). */ + query?: InputMaybe; + /** Reverse the order of the list. The sorting behaviour defaults to ascending order. */ + reverse?: InputMaybe; + /** The ID of the segment. */ + segmentId?: InputMaybe; + /** Sort the list by a given key. */ + sortKey?: InputMaybe; +}; + +/** Represents a customer segment members query custom error. */ +export type CustomerSegmentMembersQueryUserError = DisplayableError & { + __typename?: 'CustomerSegmentMembersQueryUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerSegmentMembersQueryUserError`. */ +export enum CustomerSegmentMembersQueryUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Return type for `customerSendAccountInviteEmail` mutation. */ +export type CustomerSendAccountInviteEmailPayload = { + __typename?: 'CustomerSendAccountInviteEmailPayload'; + /** The customer to whom an account invite email was sent. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Defines errors for customerSendAccountInviteEmail mutation. */ +export type CustomerSendAccountInviteEmailUserError = DisplayableError & { + __typename?: 'CustomerSendAccountInviteEmailUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerSendAccountInviteEmailUserError`. */ +export enum CustomerSendAccountInviteEmailUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Represents a Shop Pay card instrument for customer payment method. */ +export type CustomerShopPayAgreement = { + __typename?: 'CustomerShopPayAgreement'; + /** The billing address of the card. */ + billingAddress?: Maybe; + /** Whether the card is about to expire. */ + expiresSoon: Scalars['Boolean']['output']; + /** The expiry month of the card. */ + expiryMonth: Scalars['Int']['output']; + /** The expiry year of the card. */ + expiryYear: Scalars['Int']['output']; + /** Whether the Shop Pay billing agreement is inactive. */ + inactive: Scalars['Boolean']['output']; + /** The payment method can be revoked if there are no active subscription contracts. */ + isRevocable: Scalars['Boolean']['output']; + /** The last 4 digits of the card. */ + lastDigits: Scalars['String']['output']; + /** The masked card number with only the last 4 digits displayed. */ + maskedNumber: Scalars['String']['output']; + /** The name of the card holder. */ + name: Scalars['String']['output']; +}; + +/** An error that occurs during execution of an SMS marketing consent mutation. */ +export type CustomerSmsMarketingConsentError = DisplayableError & { + __typename?: 'CustomerSmsMarketingConsentError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `CustomerSmsMarketingConsentError`. */ +export enum CustomerSmsMarketingConsentErrorCode { + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** Unexpected internal error happened. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Missing a required argument. */ + MissingArgument = 'MISSING_ARGUMENT' +} + +/** + * The marketing consent information when the customer consented to + * receiving marketing material by SMS. + */ +export type CustomerSmsMarketingConsentInput = { + /** + * The date and time when the customer consented to receive marketing material by SMS. + * If no date is provided, then the date and time when the consent information was sent is used. + */ + consentUpdatedAt?: InputMaybe; + /** The marketing subscription opt-in level that was set when the customer consented to receive marketing information. */ + marketingOptInLevel?: InputMaybe; + /** The current SMS marketing state for the customer. */ + marketingState: CustomerSmsMarketingState; +}; + +/** + * The record of when a customer consented to receive marketing material by SMS. + * + * The customer's consent state reflects the record with the most recent date when consent was updated. + */ +export type CustomerSmsMarketingConsentState = { + __typename?: 'CustomerSmsMarketingConsentState'; + /** The source from which the SMS marketing information for the customer was collected. */ + consentCollectedFrom?: Maybe; + /** + * The date and time when the customer consented to receive marketing material by SMS. + * If no date is provided, then the date and time when the consent information was sent is used. + */ + consentUpdatedAt?: Maybe; + /** The marketing subscription opt-in level that was set when the customer consented to receive marketing information. */ + marketingOptInLevel: CustomerMarketingOptInLevel; + /** The current SMS marketing state for the customer. */ + marketingState: CustomerSmsMarketingState; +}; + +/** The input fields for updating SMS marketing consent information for a given customer ID. */ +export type CustomerSmsMarketingConsentUpdateInput = { + /** The ID of the customer to update the SMS marketing consent information for. The customer must have a unique phone number associated to the record. If not, add the phone number using the `customerUpdate` mutation first. */ + customerId: Scalars['ID']['input']; + /** The marketing consent information when the customer consented to receiving marketing material by SMS. */ + smsMarketingConsent: CustomerSmsMarketingConsentInput; +}; + +/** Return type for `customerSmsMarketingConsentUpdate` mutation. */ +export type CustomerSmsMarketingConsentUpdatePayload = { + __typename?: 'CustomerSmsMarketingConsentUpdatePayload'; + /** The updated customer. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The valid SMS marketing states for a customer’s phone number. */ +export enum CustomerSmsMarketingState { + /** The customer hasn't subscribed to SMS marketing. */ + NotSubscribed = 'NOT_SUBSCRIBED', + /** The customer is in the process of subscribing to SMS marketing. */ + Pending = 'PENDING', + /** The customer's personal data is erased. This value is internally-set and read-only. */ + Redacted = 'REDACTED', + /** The customer is subscribed to SMS marketing. */ + Subscribed = 'SUBSCRIBED', + /** The customer isn't currently subscribed to SMS marketing but was previously subscribed. */ + Unsubscribed = 'UNSUBSCRIBED' +} + +/** The set of valid sort keys for the Customer query. */ +export enum CustomerSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `location` value. */ + Location = 'LOCATION', + /** Sort by the `name` value. */ + Name = 'NAME', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** The valid values for the state of a customer's account with a shop. */ +export enum CustomerState { + /** The customer declined the email invite to create an account. */ + Declined = 'DECLINED', + /** The customer doesn't have an active account. Customer accounts can be disabled from the Shopify admin at any time. */ + Disabled = 'DISABLED', + /** The customer has created an account. */ + Enabled = 'ENABLED', + /** The customer has received an email invite to create an account. */ + Invited = 'INVITED' +} + +/** A customer's computed statistics. */ +export type CustomerStatistics = { + __typename?: 'CustomerStatistics'; + /** The predicted spend tier of a customer with a shop. */ + predictedSpendTier?: Maybe; +}; + +/** Return type for `customerUpdateDefaultAddress` mutation. */ +export type CustomerUpdateDefaultAddressPayload = { + __typename?: 'CustomerUpdateDefaultAddressPayload'; + /** The customer whose address was updated. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `customerUpdate` mutation. */ +export type CustomerUpdatePayload = { + __typename?: 'CustomerUpdatePayload'; + /** The updated customer. */ + customer?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a customer's session visiting a shop's online store, including information about the marketing activity attributed to starting the session. */ +export type CustomerVisit = CustomerMoment & Node & { + __typename?: 'CustomerVisit'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** URL of the first page the customer landed on for the session. */ + landingPage?: Maybe; + /** Landing page information with URL linked in HTML. For example, the first page the customer visited was store.myshopify.com/products/1. */ + landingPageHtml?: Maybe; + /** + * Represent actions taken by an app, on behalf of a merchant, + * to market Shopify resources such as products, collections, and discounts. + */ + marketingEvent?: Maybe; + /** The date and time when the customer's session occurred. */ + occurredAt: Scalars['DateTime']['output']; + /** + * Marketing referral code from the link that the customer clicked to visit the store. + * Supports the following URL attributes: _ref_, _source_, or _r_. + * For example, if the URL is myshopifystore.com/products/slide?ref=j2tj1tn2, then this value is j2tj1tn2. + */ + referralCode?: Maybe; + /** Referral information with URLs linked in HTML. */ + referralInfoHtml: Scalars['FormattedString']['output']; + /** + * Webpage where the customer clicked a link that sent them to the online store. + * For example, _https://randomblog.com/page1_ or _android-app://com.google.android.gm_. + */ + referrerUrl?: Maybe; + /** + * Source from which the customer visited the store, such as a platform (Facebook, Google), email, direct, + * a website domain, QR code, or unknown. + */ + source: Scalars['String']['output']; + /** Describes the source explicitly for first or last session. */ + sourceDescription?: Maybe; + /** Type of marketing tactic. */ + sourceType?: Maybe; + /** A set of UTM parameters gathered from the URL parameters of the referrer. */ + utmParameters?: Maybe; +}; + +/** This type returns the information about the product and product variant from a customer visit. */ +export type CustomerVisitProductInfo = { + __typename?: 'CustomerVisitProductInfo'; + /** The product information. If `null`, then the product was deleted from the store. */ + product?: Maybe; + /** The quantity of the product that the customer requested. */ + quantity: Scalars['Int']['output']; + /** The product variant information, if the product variant exists. */ + variant?: Maybe; +}; + +/** An auto-generated type for paginating through multiple CustomerVisitProductInfos. */ +export type CustomerVisitProductInfoConnection = { + __typename?: 'CustomerVisitProductInfoConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in CustomerVisitProductInfoEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one CustomerVisitProductInfo and a cursor during pagination. */ +export type CustomerVisitProductInfoEdge = { + __typename?: 'CustomerVisitProductInfoEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of CustomerVisitProductInfoEdge. */ + node: CustomerVisitProductInfo; +}; + +/** Return type for `dataSaleOptOut` mutation. */ +export type DataSaleOptOutPayload = { + __typename?: 'DataSaleOptOutPayload'; + /** The ID of the customer whose email address has been opted out of data sale. */ + customerId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `DataSaleOptOut`. */ +export type DataSaleOptOutUserError = DisplayableError & { + __typename?: 'DataSaleOptOutUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `DataSaleOptOutUserError`. */ +export enum DataSaleOptOutUserErrorCode { + /** Data sale opt out failed. */ + Failed = 'FAILED' +} + +/** Days of the week from Monday to Sunday. */ +export enum DayOfTheWeek { + /** Friday. */ + Friday = 'FRIDAY', + /** Monday. */ + Monday = 'MONDAY', + /** Saturday. */ + Saturday = 'SATURDAY', + /** Sunday. */ + Sunday = 'SUNDAY', + /** Thursday. */ + Thursday = 'THURSDAY', + /** Tuesday. */ + Tuesday = 'TUESDAY', + /** Wednesday. */ + Wednesday = 'WEDNESDAY' +} + +/** + * A token that delegates a set of scopes from the original permission. + * + * 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). + */ +export type DelegateAccessToken = { + __typename?: 'DelegateAccessToken'; + /** The list of permissions associated with the token. */ + accessScopes: Array; + /** The issued delegate access token. */ + accessToken: Scalars['String']['output']; + /** The date and time when the delegate access token was created. */ + createdAt: Scalars['DateTime']['output']; +}; + +/** Return type for `delegateAccessTokenCreate` mutation. */ +export type DelegateAccessTokenCreatePayload = { + __typename?: 'DelegateAccessTokenCreatePayload'; + /** The delegate access token. */ + delegateAccessToken?: Maybe; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `DelegateAccessTokenCreate`. */ +export type DelegateAccessTokenCreateUserError = DisplayableError & { + __typename?: 'DelegateAccessTokenCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `DelegateAccessTokenCreateUserError`. */ +export enum DelegateAccessTokenCreateUserErrorCode { + /** The parent access token can't be a delegate token. */ + DelegateAccessToken = 'DELEGATE_ACCESS_TOKEN', + /** The access scope can't be empty. */ + EmptyAccessScope = 'EMPTY_ACCESS_SCOPE', + /** The delegate token can't expire after the parent token. */ + ExpiresAfterParent = 'EXPIRES_AFTER_PARENT', + /** The expires_in value must be greater than 0. */ + NegativeExpiresIn = 'NEGATIVE_EXPIRES_IN', + /** Persistence failed. */ + PersistenceFailed = 'PERSISTENCE_FAILED', + /** The parent access token can't have a refresh token. */ + RefreshToken = 'REFRESH_TOKEN', + /** Unknown scopes. */ + UnknownScopes = 'UNKNOWN_SCOPES' +} + +/** Return type for `delegateAccessTokenDestroy` mutation. */ +export type DelegateAccessTokenDestroyPayload = { + __typename?: 'DelegateAccessTokenDestroyPayload'; + /** The user's shop. */ + shop: Shop; + /** The status of the delegate access token destroy operation. Returns true if successful. */ + status?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `DelegateAccessTokenDestroy`. */ +export type DelegateAccessTokenDestroyUserError = DisplayableError & { + __typename?: 'DelegateAccessTokenDestroyUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `DelegateAccessTokenDestroyUserError`. */ +export enum DelegateAccessTokenDestroyUserErrorCode { + /** Access denied. */ + AccessDenied = 'ACCESS_DENIED', + /** Access token not found. */ + AccessTokenNotFound = 'ACCESS_TOKEN_NOT_FOUND', + /** Cannot delete parent access token. */ + CanOnlyDeleteDelegateTokens = 'CAN_ONLY_DELETE_DELEGATE_TOKENS', + /** Persistence failed. */ + PersistenceFailed = 'PERSISTENCE_FAILED' +} + +/** The input fields for a delegate access token. */ +export type DelegateAccessTokenInput = { + /** The list of scopes that will be delegated to the new access token. */ + delegateAccessScope: Array; + /** The amount of time, in seconds, after which the delegate access token is no longer valid. */ + expiresIn?: InputMaybe; +}; + +/** + * Deletion events chronicle the destruction of resources (e.g. products and collections). + * Once deleted, the deletion event is the only trace of the original's existence, + * as the resource itself has been removed and can no longer be accessed. + */ +export type DeletionEvent = { + __typename?: 'DeletionEvent'; + /** The date and time when the deletion event for the related resource was generated. */ + occurredAt: Scalars['DateTime']['output']; + /** The ID of the resource that was deleted. */ + subjectId: Scalars['ID']['output']; + /** The type of resource that was deleted. */ + subjectType: DeletionEventSubjectType; +}; + +/** An auto-generated type for paginating through multiple DeletionEvents. */ +export type DeletionEventConnection = { + __typename?: 'DeletionEventConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DeletionEventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DeletionEvent and a cursor during pagination. */ +export type DeletionEventEdge = { + __typename?: 'DeletionEventEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DeletionEventEdge. */ + node: DeletionEvent; +}; + +/** The set of valid sort keys for the DeletionEvent query. */ +export enum DeletionEventSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The supported subject types of deletion events. */ +export enum DeletionEventSubjectType { + Collection = 'COLLECTION', + Product = 'PRODUCT' +} + +/** A shipping service and a list of countries that the service is available for. */ +export type DeliveryAvailableService = { + __typename?: 'DeliveryAvailableService'; + /** The countries the service provider ships to. */ + countries: DeliveryCountryCodesOrRestOfWorld; + /** The name of the service. */ + name: Scalars['String']['output']; +}; + +/** Represents a branded promise presented to buyers. */ +export type DeliveryBrandedPromise = { + __typename?: 'DeliveryBrandedPromise'; + /** The handle of the branded promise. For example: `shop_promise`. */ + handle: Scalars['String']['output']; + /** The name of the branded promise. For example: `Shop Promise`. */ + name: Scalars['String']['output']; +}; + +/** + * A carrier service (also known as a carrier calculated service or shipping service) provides real-time shipping rates to Shopify. Some common carrier services include Canada Post, FedEx, UPS, and USPS. The term **carrier** is often used interchangeably with the terms **shipping company** and **rate provider**. + * + * Using the CarrierService resource, you can add a carrier service to a shop and then provide a list of applicable shipping rates at checkout. You can even use the cart data to adjust shipping rates and offer shipping discounts based on what is in the customer's cart. + * + * ## Requirements for accessing the CarrierService resource + * To access the CarrierService resource, add the `write_shipping` permission to your app's requested scopes. For more information, see [API access scopes](https://shopify.dev/docs/admin-api/access-scopes). + * + * Your app's request to create a carrier service will fail unless the store installing your carrier service meets one of the following requirements: + * * It's on the Advanced Shopify plan or higher. + * * It's on the Shopify plan with yearly billing, or the carrier service feature has been added to the store for a monthly fee. For more information, contact [Shopify Support](https://help.shopify.com/questions). + * * It's a development store. + * + * > Note: + * > If a store changes its Shopify plan, then the store's association with a carrier service is deactivated if the store no long meets one of the requirements above. + * + * ## Providing shipping rates to Shopify + * When adding a carrier service to a store, you need to provide a POST endpoint rooted in the `callbackUrl` property where Shopify can retrieve applicable shipping rates. The callback URL should be a public endpoint that expects these requests from Shopify. + * + * ### Example shipping rate request sent to a carrier service + * + * ```json + * { + * "rate": { + * "origin": { + * "country": "CA", + * "postal_code": "K2P1L4", + * "province": "ON", + * "city": "Ottawa", + * "name": null, + * "address1": "150 Elgin St.", + * "address2": "", + * "address3": null, + * "phone": null, + * "fax": null, + * "email": null, + * "address_type": null, + * "company_name": "Jamie D's Emporium" + * }, + * "destination": { + * "country": "CA", + * "postal_code": "K1M1M4", + * "province": "ON", + * "city": "Ottawa", + * "name": "Bob Norman", + * "address1": "24 Sussex Dr.", + * "address2": "", + * "address3": null, + * "phone": null, + * "fax": null, + * "email": null, + * "address_type": null, + * "company_name": null + * }, + * "items": [{ + * "name": "Short Sleeve T-Shirt", + * "sku": "", + * "quantity": 1, + * "grams": 1000, + * "price": 1999, + * "vendor": "Jamie D's Emporium", + * "requires_shipping": true, + * "taxable": true, + * "fulfillment_service": "manual", + * "properties": null, + * "product_id": 48447225880, + * "variant_id": 258644705304 + * }], + * "currency": "USD", + * "locale": "en" + * } + * } + * ``` + * + * ### Example response + * ```json + * { + * "rates": [ + * { + * "service_name": "canadapost-overnight", + * "service_code": "ON", + * "total_price": "1295", + * "description": "This is the fastest option by far", + * "currency": "CAD", + * "min_delivery_date": "2013-04-12 14:48:45 -0400", + * "max_delivery_date": "2013-04-12 14:48:45 -0400" + * }, + * { + * "service_name": "fedex-2dayground", + * "service_code": "2D", + * "total_price": "2934", + * "currency": "USD", + * "min_delivery_date": "2013-04-12 14:48:45 -0400", + * "max_delivery_date": "2013-04-12 14:48:45 -0400" + * }, + * { + * "service_name": "fedex-priorityovernight", + * "service_code": "1D", + * "total_price": "3587", + * "currency": "USD", + * "min_delivery_date": "2013-04-12 14:48:45 -0400", + * "max_delivery_date": "2013-04-12 14:48:45 -0400" + * } + * ] + * } + * ``` + * + * The `address3`, `fax`, `address_type`, and `company_name` fields are returned by specific [ActiveShipping](https://github.com/Shopify/active_shipping) providers. For API-created carrier services, you should use only the following shipping address fields: + * * `address1` + * * `address2` + * * `city` + * * `zip` + * * `province` + * * `country` + * + * Other values remain as `null` and are not sent to the callback URL. + * + * ### Response fields + * + * When Shopify requests shipping rates using your callback URL, the response object `rates` must be a JSON array of objects with the following fields. Required fields must be included in the response for the carrier service integration to work properly. + * + * | Field | Required | Description | + * | ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | + * | `service_name` | Yes | The name of the rate, which customers see at checkout. For example: `Expedited Mail`. | + * | `description` | Yes | A description of the rate, which customers see at checkout. For example: `Includes tracking and insurance`. | + * | `service_code` | Yes | A unique code associated with the rate. For example: `expedited_mail`. | + * | `currency` | Yes | The currency of the shipping rate. | + * | `total_price` | Yes | The total price expressed in subunits. If the currency doesn't use subunits, then the value must be multiplied by 100. For example: `"total_price": 500` for 5.00 CAD, `"total_price": 100000` for 1000 JPY. | + * | `phone_required` | No | Whether the customer must provide a phone number at checkout. | + * | `min_delivery_date` | No | The earliest delivery date for the displayed rate. | + * | `max_delivery_date` | No | The latest delivery date for the displayed rate to still be valid. | + * + * ### Special conditions + * + * * To indicate that this carrier service cannot handle this shipping request, return an empty array and any successful (20x) HTTP code. + * * To force backup rates instead, return a 40x or 50x HTTP code with any content. A good choice is the regular 404 Not Found code. + * * Redirects (30x codes) will only be followed for the same domain as the original callback URL. Attempting to redirect to a different domain will trigger backup rates. + * * There is no retry mechanism. The response must be successful on the first try, within the time budget listed below. Timeouts or errors will trigger backup rates. + * + * ## Response Timeouts + * + * The read timeout for rate requests are dynamic, based on the number of requests per minute (RPM). These limits are applied to each shop-app pair. The timeout values are as follows. + * + * | RPM Range | Timeout | + * | ------------- | ---------- | + * | Under 1500 | 10s | + * | 1500 to 3000 | 5s | + * | Over 3000 | 3s | + * + * > Note: + * > These values are upper limits and should not be interpretted as a goal to develop towards. Shopify is constantly evaluating the performance of the platform and working towards improving resilience as well as app capabilities. As such, these numbers may be adjusted outside of our normal versioning timelines. + * + * ## Server-side caching of requests + * Shopify provides server-side caching to reduce the number of requests it makes. Any shipping rate request that identically matches the following fields will be retrieved from Shopify's cache of the initial response: + * * variant IDs + * * default shipping box weight and dimensions + * * variant quantities + * * carrier service ID + * * origin address + * * destination address + * * item weights and signatures + * + * If any of these fields differ, or if the cache has expired since the original request, then new shipping rates are requested. The cache expires 15 minutes after rates are successfully returned. If an error occurs, then the cache expires after 30 seconds. + */ +export type DeliveryCarrierService = Node & { + __typename?: 'DeliveryCarrierService'; + /** Whether the carrier service is active. */ + active: Scalars['Boolean']['output']; + /** The list of services offered for given destinations. */ + availableServicesForCountries: Array; + /** The URL endpoint that Shopify needs to retrieve shipping rates. */ + callbackUrl?: Maybe; + /** The properly formatted name of the shipping service provider, ready to display. */ + formattedName?: Maybe; + /** The logo of the service provider. */ + icon: Image; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the shipping service provider. */ + name?: Maybe; + /** Whether merchants are able to send dummy data to your service through the Shopify admin to see shipping rate examples. */ + supportsServiceDiscovery: Scalars['Boolean']['output']; +}; + + +/** + * A carrier service (also known as a carrier calculated service or shipping service) provides real-time shipping rates to Shopify. Some common carrier services include Canada Post, FedEx, UPS, and USPS. The term **carrier** is often used interchangeably with the terms **shipping company** and **rate provider**. + * + * Using the CarrierService resource, you can add a carrier service to a shop and then provide a list of applicable shipping rates at checkout. You can even use the cart data to adjust shipping rates and offer shipping discounts based on what is in the customer's cart. + * + * ## Requirements for accessing the CarrierService resource + * To access the CarrierService resource, add the `write_shipping` permission to your app's requested scopes. For more information, see [API access scopes](https://shopify.dev/docs/admin-api/access-scopes). + * + * Your app's request to create a carrier service will fail unless the store installing your carrier service meets one of the following requirements: + * * It's on the Advanced Shopify plan or higher. + * * It's on the Shopify plan with yearly billing, or the carrier service feature has been added to the store for a monthly fee. For more information, contact [Shopify Support](https://help.shopify.com/questions). + * * It's a development store. + * + * > Note: + * > If a store changes its Shopify plan, then the store's association with a carrier service is deactivated if the store no long meets one of the requirements above. + * + * ## Providing shipping rates to Shopify + * When adding a carrier service to a store, you need to provide a POST endpoint rooted in the `callbackUrl` property where Shopify can retrieve applicable shipping rates. The callback URL should be a public endpoint that expects these requests from Shopify. + * + * ### Example shipping rate request sent to a carrier service + * + * ```json + * { + * "rate": { + * "origin": { + * "country": "CA", + * "postal_code": "K2P1L4", + * "province": "ON", + * "city": "Ottawa", + * "name": null, + * "address1": "150 Elgin St.", + * "address2": "", + * "address3": null, + * "phone": null, + * "fax": null, + * "email": null, + * "address_type": null, + * "company_name": "Jamie D's Emporium" + * }, + * "destination": { + * "country": "CA", + * "postal_code": "K1M1M4", + * "province": "ON", + * "city": "Ottawa", + * "name": "Bob Norman", + * "address1": "24 Sussex Dr.", + * "address2": "", + * "address3": null, + * "phone": null, + * "fax": null, + * "email": null, + * "address_type": null, + * "company_name": null + * }, + * "items": [{ + * "name": "Short Sleeve T-Shirt", + * "sku": "", + * "quantity": 1, + * "grams": 1000, + * "price": 1999, + * "vendor": "Jamie D's Emporium", + * "requires_shipping": true, + * "taxable": true, + * "fulfillment_service": "manual", + * "properties": null, + * "product_id": 48447225880, + * "variant_id": 258644705304 + * }], + * "currency": "USD", + * "locale": "en" + * } + * } + * ``` + * + * ### Example response + * ```json + * { + * "rates": [ + * { + * "service_name": "canadapost-overnight", + * "service_code": "ON", + * "total_price": "1295", + * "description": "This is the fastest option by far", + * "currency": "CAD", + * "min_delivery_date": "2013-04-12 14:48:45 -0400", + * "max_delivery_date": "2013-04-12 14:48:45 -0400" + * }, + * { + * "service_name": "fedex-2dayground", + * "service_code": "2D", + * "total_price": "2934", + * "currency": "USD", + * "min_delivery_date": "2013-04-12 14:48:45 -0400", + * "max_delivery_date": "2013-04-12 14:48:45 -0400" + * }, + * { + * "service_name": "fedex-priorityovernight", + * "service_code": "1D", + * "total_price": "3587", + * "currency": "USD", + * "min_delivery_date": "2013-04-12 14:48:45 -0400", + * "max_delivery_date": "2013-04-12 14:48:45 -0400" + * } + * ] + * } + * ``` + * + * The `address3`, `fax`, `address_type`, and `company_name` fields are returned by specific [ActiveShipping](https://github.com/Shopify/active_shipping) providers. For API-created carrier services, you should use only the following shipping address fields: + * * `address1` + * * `address2` + * * `city` + * * `zip` + * * `province` + * * `country` + * + * Other values remain as `null` and are not sent to the callback URL. + * + * ### Response fields + * + * When Shopify requests shipping rates using your callback URL, the response object `rates` must be a JSON array of objects with the following fields. Required fields must be included in the response for the carrier service integration to work properly. + * + * | Field | Required | Description | + * | ----------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | + * | `service_name` | Yes | The name of the rate, which customers see at checkout. For example: `Expedited Mail`. | + * | `description` | Yes | A description of the rate, which customers see at checkout. For example: `Includes tracking and insurance`. | + * | `service_code` | Yes | A unique code associated with the rate. For example: `expedited_mail`. | + * | `currency` | Yes | The currency of the shipping rate. | + * | `total_price` | Yes | The total price expressed in subunits. If the currency doesn't use subunits, then the value must be multiplied by 100. For example: `"total_price": 500` for 5.00 CAD, `"total_price": 100000` for 1000 JPY. | + * | `phone_required` | No | Whether the customer must provide a phone number at checkout. | + * | `min_delivery_date` | No | The earliest delivery date for the displayed rate. | + * | `max_delivery_date` | No | The latest delivery date for the displayed rate to still be valid. | + * + * ### Special conditions + * + * * To indicate that this carrier service cannot handle this shipping request, return an empty array and any successful (20x) HTTP code. + * * To force backup rates instead, return a 40x or 50x HTTP code with any content. A good choice is the regular 404 Not Found code. + * * Redirects (30x codes) will only be followed for the same domain as the original callback URL. Attempting to redirect to a different domain will trigger backup rates. + * * There is no retry mechanism. The response must be successful on the first try, within the time budget listed below. Timeouts or errors will trigger backup rates. + * + * ## Response Timeouts + * + * The read timeout for rate requests are dynamic, based on the number of requests per minute (RPM). These limits are applied to each shop-app pair. The timeout values are as follows. + * + * | RPM Range | Timeout | + * | ------------- | ---------- | + * | Under 1500 | 10s | + * | 1500 to 3000 | 5s | + * | Over 3000 | 3s | + * + * > Note: + * > These values are upper limits and should not be interpretted as a goal to develop towards. Shopify is constantly evaluating the performance of the platform and working towards improving resilience as well as app capabilities. As such, these numbers may be adjusted outside of our normal versioning timelines. + * + * ## Server-side caching of requests + * Shopify provides server-side caching to reduce the number of requests it makes. Any shipping rate request that identically matches the following fields will be retrieved from Shopify's cache of the initial response: + * * variant IDs + * * default shipping box weight and dimensions + * * variant quantities + * * carrier service ID + * * origin address + * * destination address + * * item weights and signatures + * + * If any of these fields differ, or if the cache has expired since the original request, then new shipping rates are requested. The cache expires 15 minutes after rates are successfully returned. If an error occurs, then the cache expires after 30 seconds. + */ +export type DeliveryCarrierServiceAvailableServicesForCountriesArgs = { + countryCodes?: InputMaybe>; + origins?: InputMaybe>; + restOfWorld: Scalars['Boolean']['input']; +}; + +/** A carrier service and the associated list of shop locations. */ +export type DeliveryCarrierServiceAndLocations = { + __typename?: 'DeliveryCarrierServiceAndLocations'; + /** The carrier service. */ + carrierService: DeliveryCarrierService; + /** The list of locations that support this carrier service. */ + locations: Array; +}; + +/** An auto-generated type for paginating through multiple DeliveryCarrierServices. */ +export type DeliveryCarrierServiceConnection = { + __typename?: 'DeliveryCarrierServiceConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DeliveryCarrierServiceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields required to create a carrier service. */ +export type DeliveryCarrierServiceCreateInput = { + /** Whether this carrier service is active. If `true`, then the service will be available to serve rates in checkout. */ + active: Scalars['Boolean']['input']; + /** The URL endpoint that Shopify needs to retrieve shipping rates. This must be a public URL. */ + callbackUrl: Scalars['URL']['input']; + /** The name of the shipping service as seen by merchants and their customers. */ + name: Scalars['String']['input']; + /** Whether merchants are able to send dummy data to your service through the Shopify admin to see shipping rate examples. */ + supportsServiceDiscovery: Scalars['Boolean']['input']; +}; + +/** An auto-generated type which holds one DeliveryCarrierService and a cursor during pagination. */ +export type DeliveryCarrierServiceEdge = { + __typename?: 'DeliveryCarrierServiceEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DeliveryCarrierServiceEdge. */ + node: DeliveryCarrierService; +}; + +/** The input fields used to update a carrier service. */ +export type DeliveryCarrierServiceUpdateInput = { + /** Whether this carrier service is active. If `true`, then the service will be available to serve rates in checkout. */ + active?: InputMaybe; + /** The URL endpoint that Shopify needs to retrieve shipping rates. This must be a public URL. */ + callbackUrl?: InputMaybe; + /** The global ID of the carrier service to update. */ + id: Scalars['ID']['input']; + /** The name of the shipping service as seen by merchants and their customers. */ + name?: InputMaybe; + /** Whether merchants are able to send dummy data to your service through the Shopify admin to see shipping rate examples. */ + supportsServiceDiscovery?: InputMaybe; +}; + +/** A condition that must pass for a delivery method definition to be applied to an order. */ +export type DeliveryCondition = Node & { + __typename?: 'DeliveryCondition'; + /** The value (weight or price) that the condition field is compared to. */ + conditionCriteria: DeliveryConditionCriteria; + /** The field to compare the criterion value against, using the operator. */ + field: DeliveryConditionField; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The operator to compare the field and criterion value. */ + operator: DeliveryConditionOperator; +}; + +/** The value (weight or price) that the condition field is compared to. */ +export type DeliveryConditionCriteria = MoneyV2 | Weight; + +/** The field type that the condition will be applied to. */ +export enum DeliveryConditionField { + /** The condition will check against the total price of the order. */ + TotalPrice = 'TOTAL_PRICE', + /** The condition will check against the total weight of the order. */ + TotalWeight = 'TOTAL_WEIGHT' +} + +/** The operator to use to determine if the condition passes. */ +export enum DeliveryConditionOperator { + /** The condition will check whether the field is greater than or equal to the criterion. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** The condition will check if the field is less than or equal to the criterion. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO' +} + +/** A country that is used to define a shipping zone. */ +export type DeliveryCountry = Node & { + __typename?: 'DeliveryCountry'; + /** + * A two-letter country code in ISO 3166-1 alpha-2 standard. + * It also includes a flag indicating whether the country should be + * a part of the 'Rest Of World' shipping zone. + */ + code: DeliveryCountryCodeOrRestOfWorld; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The full name of the country. */ + name: Scalars['String']['output']; + /** The list of regions associated with this country. */ + provinces: Array; + /** The translated name of the country. The translation returned is based on the system's locale. */ + translatedName: Scalars['String']['output']; +}; + +/** The country details and the associated shipping zone. */ +export type DeliveryCountryAndZone = { + __typename?: 'DeliveryCountryAndZone'; + /** The country details. */ + country: DeliveryCountry; + /** The name of the shipping zone. */ + zone: Scalars['String']['output']; +}; + +/** The country code and whether the country is a part of the 'Rest Of World' shipping zone. */ +export type DeliveryCountryCodeOrRestOfWorld = { + __typename?: 'DeliveryCountryCodeOrRestOfWorld'; + /** The country code in the ISO 3166-1 alpha-2 format. */ + countryCode?: Maybe; + /** Whether the country is a part of the 'Rest of World' shipping zone. */ + restOfWorld: Scalars['Boolean']['output']; +}; + +/** + * The list of country codes and information whether the countries + * are a part of the 'Rest Of World' shipping zone. + */ +export type DeliveryCountryCodesOrRestOfWorld = { + __typename?: 'DeliveryCountryCodesOrRestOfWorld'; + /** List of applicable country codes in the ISO 3166-1 alpha-2 format. */ + countryCodes: Array; + /** Whether the countries are a part of the 'Rest of World' shipping zone. */ + restOfWorld: Scalars['Boolean']['output']; +}; + +/** The input fields to specify a country. */ +export type DeliveryCountryInput = { + /** The country code of the country in the ISO 3166-1 alpha-2 format. */ + code?: InputMaybe; + /** Associate all available provinces with this country. */ + includeAllProvinces?: InputMaybe; + /** The regions associated with this country. */ + provinces?: InputMaybe>; + /** Whether the country is a part of the 'Rest of World' shipping zone. */ + restOfWorld?: InputMaybe; +}; + +/** A delivery customization. */ +export type DeliveryCustomization = HasMetafieldDefinitions & HasMetafields & Node & { + __typename?: 'DeliveryCustomization'; + /** The enabled status of the delivery customization. */ + enabled: Scalars['Boolean']['output']; + /** The error history on the most recent version of the delivery customization. */ + errorHistory?: Maybe; + /** The ID of the Shopify Function implementing the delivery customization. */ + functionId: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The Shopify Function implementing the delivery customization. */ + shopifyFunction: ShopifyFunction; + /** The title of the delivery customization. */ + title: Scalars['String']['output']; +}; + + +/** A delivery customization. */ +export type DeliveryCustomizationMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A delivery customization. */ +export type DeliveryCustomizationMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A delivery customization. */ +export type DeliveryCustomizationMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A delivery customization. */ +export type DeliveryCustomizationPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A delivery customization. */ +export type DeliveryCustomizationPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `deliveryCustomizationActivation` mutation. */ +export type DeliveryCustomizationActivationPayload = { + __typename?: 'DeliveryCustomizationActivationPayload'; + /** The IDs of the updated delivery customizations. */ + ids?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple DeliveryCustomizations. */ +export type DeliveryCustomizationConnection = { + __typename?: 'DeliveryCustomizationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DeliveryCustomizationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `deliveryCustomizationCreate` mutation. */ +export type DeliveryCustomizationCreatePayload = { + __typename?: 'DeliveryCustomizationCreatePayload'; + /** Returns the created delivery customization. */ + deliveryCustomization?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `deliveryCustomizationDelete` mutation. */ +export type DeliveryCustomizationDeletePayload = { + __typename?: 'DeliveryCustomizationDeletePayload'; + /** Returns the deleted delivery customization ID. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one DeliveryCustomization and a cursor during pagination. */ +export type DeliveryCustomizationEdge = { + __typename?: 'DeliveryCustomizationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DeliveryCustomizationEdge. */ + node: DeliveryCustomization; +}; + +/** An error that occurs during the execution of a delivery customization mutation. */ +export type DeliveryCustomizationError = DisplayableError & { + __typename?: 'DeliveryCustomizationError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `DeliveryCustomizationError`. */ +export enum DeliveryCustomizationErrorCode { + /** Shop must be on a Shopify Plus plan to activate functions from a custom app. */ + CustomAppFunctionNotEligible = 'CUSTOM_APP_FUNCTION_NOT_ELIGIBLE', + /** Shop must be on a Shopify Plus plan to activate delivery customizations from a custom app. */ + DeliveryCustomizationFunctionNotEligible = 'DELIVERY_CUSTOMIZATION_FUNCTION_NOT_ELIGIBLE', + /** Delivery customization not found. */ + DeliveryCustomizationNotFound = 'DELIVERY_CUSTOMIZATION_NOT_FOUND', + /** Function does not implement the required interface for this delivery customization. */ + FunctionDoesNotImplement = 'FUNCTION_DOES_NOT_IMPLEMENT', + /** Function ID cannot be changed. */ + FunctionIdCannotBeChanged = 'FUNCTION_ID_CANNOT_BE_CHANGED', + /** Function not found. */ + FunctionNotFound = 'FUNCTION_NOT_FOUND', + /** Function is pending deletion. */ + FunctionPendingDeletion = 'FUNCTION_PENDING_DELETION', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Could not create or update metafields. */ + InvalidMetafields = 'INVALID_METAFIELDS', + /** Maximum delivery customizations are already enabled. */ + MaximumActiveDeliveryCustomizations = 'MAXIMUM_ACTIVE_DELIVERY_CUSTOMIZATIONS', + /** Required input field must be present. */ + RequiredInputField = 'REQUIRED_INPUT_FIELD', + /** Unauthorized app scope. */ + UnauthorizedAppScope = 'UNAUTHORIZED_APP_SCOPE' +} + +/** The input fields to create and update a delivery customization. */ +export type DeliveryCustomizationInput = { + /** The enabled status of the delivery customization. */ + enabled?: InputMaybe; + /** The ID of the function providing the delivery customization. */ + functionId?: InputMaybe; + /** Additional metafields to associate to the delivery customization. */ + metafields?: InputMaybe>; + /** The title of the delivery customization. */ + title?: InputMaybe; +}; + +/** Return type for `deliveryCustomizationUpdate` mutation. */ +export type DeliveryCustomizationUpdatePayload = { + __typename?: 'DeliveryCustomizationUpdatePayload'; + /** Returns the updated delivery customization. */ + deliveryCustomization?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Whether the shop is blocked from converting to full multi-location delivery profiles mode. If the shop is blocked, then the blocking reasons are also returned. */ +export type DeliveryLegacyModeBlocked = { + __typename?: 'DeliveryLegacyModeBlocked'; + /** Whether the shop can convert to full multi-location delivery profiles mode. */ + blocked: Scalars['Boolean']['output']; + /** The reasons why the shop is blocked from converting to full multi-location delivery profiles mode. */ + reasons?: Maybe>; +}; + +/** Reasons the shop is blocked from converting to full multi-location delivery profiles mode. */ +export enum DeliveryLegacyModeBlockedReason { + /** + * Multi-Location mode is disabled. The shop can't convert to full multi-location delivery profiles mode. + * @deprecated All shops are now using multi-location mode. + */ + MultiLocationDisabled = 'MULTI_LOCATION_DISABLED', + /** There are no locations for this store that can fulfill online orders. */ + NoLocationsFulfillingOnlineOrders = 'NO_LOCATIONS_FULFILLING_ONLINE_ORDERS' +} + +/** Local pickup settings associated with a location. */ +export type DeliveryLocalPickupSettings = { + __typename?: 'DeliveryLocalPickupSettings'; + /** Additional instructions or information related to the local pickup. */ + instructions: Scalars['String']['output']; + /** The estimated pickup time to show customers at checkout. */ + pickupTime: DeliveryLocalPickupTime; +}; + +/** Possible pickup time values that a location enabled for local pickup can have. */ +export enum DeliveryLocalPickupTime { + /** Usually ready in 5+ days. */ + FiveOrMoreDays = 'FIVE_OR_MORE_DAYS', + /** Usually ready in 4 hours. */ + FourHours = 'FOUR_HOURS', + /** Usually ready in 1 hour. */ + OneHour = 'ONE_HOUR', + /** Usually ready in 24 hours. */ + TwentyFourHours = 'TWENTY_FOUR_HOURS', + /** Usually ready in 2 hours. */ + TwoHours = 'TWO_HOURS', + /** Usually ready in 2-4 days. */ + TwoToFourDays = 'TWO_TO_FOUR_DAYS' +} + +/** + * A location group is a collection of locations. They share zones and delivery methods across delivery + * profiles. + */ +export type DeliveryLocationGroup = Node & { + __typename?: 'DeliveryLocationGroup'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** A list of all locations that are part of this location group. */ + locations: LocationConnection; + /** A count of all locations that are part of this location group. */ + locationsCount?: Maybe; +}; + + +/** + * A location group is a collection of locations. They share zones and delivery methods across delivery + * profiles. + */ +export type DeliveryLocationGroupLocationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + includeInactive?: InputMaybe; + includeLegacy?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Links a location group with a zone and the associated method definitions. */ +export type DeliveryLocationGroupZone = { + __typename?: 'DeliveryLocationGroupZone'; + /** The number of method definitions for the zone. */ + methodDefinitionCounts: DeliveryMethodDefinitionCounts; + /** The method definitions associated to a zone and location group. */ + methodDefinitions: DeliveryMethodDefinitionConnection; + /** The zone associated to a location group. */ + zone: DeliveryZone; +}; + + +/** Links a location group with a zone and the associated method definitions. */ +export type DeliveryLocationGroupZoneMethodDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + eligible?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; + type?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple DeliveryLocationGroupZones. */ +export type DeliveryLocationGroupZoneConnection = { + __typename?: 'DeliveryLocationGroupZoneConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DeliveryLocationGroupZoneEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DeliveryLocationGroupZone and a cursor during pagination. */ +export type DeliveryLocationGroupZoneEdge = { + __typename?: 'DeliveryLocationGroupZoneEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DeliveryLocationGroupZoneEdge. */ + node: DeliveryLocationGroupZone; +}; + +/** The input fields for a delivery zone associated to a location group and profile. */ +export type DeliveryLocationGroupZoneInput = { + /** A list of countries to associate with the zone. */ + countries?: InputMaybe>; + /** A globally-unique ID of the zone. */ + id?: InputMaybe; + /** A list of method definitions to create. */ + methodDefinitionsToCreate?: InputMaybe>; + /** A list of method definitions to update. */ + methodDefinitionsToUpdate?: InputMaybe>; + /** The name of the zone. */ + name?: InputMaybe; +}; + +/** The input fields for a local pickup setting associated with a location. */ +export type DeliveryLocationLocalPickupEnableInput = { + /** The instructions for the local pickup. */ + instructions?: InputMaybe; + /** The ID of the location associated with the location setting. */ + locationId: Scalars['ID']['input']; + /** The time of the local pickup. */ + pickupTime: DeliveryLocalPickupTime; +}; + +/** Represents an error that happened when changing local pickup settings for a location. */ +export type DeliveryLocationLocalPickupSettingsError = DisplayableError & { + __typename?: 'DeliveryLocationLocalPickupSettingsError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `DeliveryLocationLocalPickupSettingsError`. */ +export enum DeliveryLocationLocalPickupSettingsErrorCode { + /** Provided locationId is not for an active location belonging to this store. */ + ActiveLocationNotFound = 'ACTIVE_LOCATION_NOT_FOUND', + /** An error occurred while changing the local pickup settings. */ + GenericError = 'GENERIC_ERROR' +} + +/** The delivery method used by a fulfillment order. */ +export type DeliveryMethod = Node & { + __typename?: 'DeliveryMethod'; + /** The Additional information to consider when performing the delivery. */ + additionalInformation?: Maybe; + /** The branded promise that was presented to the buyer during checkout. For example: Shop Promise. */ + brandedPromise?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The latest delivery date and time when the fulfillment is expected to arrive at the buyer's location. */ + maxDeliveryDateTime?: Maybe; + /** The type of the delivery method. */ + methodType: DeliveryMethodType; + /** The earliest delivery date and time when the fulfillment is expected to arrive at the buyer's location. */ + minDeliveryDateTime?: Maybe; + /** The name of the delivery option that was presented to the buyer during checkout. */ + presentedName?: Maybe; + /** A reference to the shipping method. */ + serviceCode?: Maybe; + /** Source reference is promise provider specific data associated with delivery promise. */ + sourceReference?: Maybe; +}; + +/** Additional information included on a delivery method that will help during the delivery process. */ +export type DeliveryMethodAdditionalInformation = { + __typename?: 'DeliveryMethodAdditionalInformation'; + /** The delivery instructions to follow when performing the delivery. */ + instructions?: Maybe; + /** The phone number to contact when performing the delivery. */ + phone?: Maybe; +}; + +/** + * A method definition contains the delivery rate and the conditions that must be met for the method to be + * applied. + */ +export type DeliveryMethodDefinition = Node & { + __typename?: 'DeliveryMethodDefinition'; + /** Whether this method definition is active. */ + active: Scalars['Boolean']['output']; + /** The description of the method definition. Only available on shipping rates that are custom. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The method conditions that must pass for this method definition to be applied to an order. */ + methodConditions: Array; + /** The name of the method definition. */ + name: Scalars['String']['output']; + /** The provided rate for this method definition, from a rate definition or participant. */ + rateProvider: DeliveryRateProvider; +}; + +/** An auto-generated type for paginating through multiple DeliveryMethodDefinitions. */ +export type DeliveryMethodDefinitionConnection = { + __typename?: 'DeliveryMethodDefinitionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DeliveryMethodDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The number of method definitions for a zone, separated into merchant-owned and participant definitions. */ +export type DeliveryMethodDefinitionCounts = { + __typename?: 'DeliveryMethodDefinitionCounts'; + /** The number of participant method definitions for the specified zone. */ + participantDefinitionsCount: Scalars['Int']['output']; + /** The number of merchant-defined method definitions for the specified zone. */ + rateDefinitionsCount: Scalars['Int']['output']; +}; + +/** An auto-generated type which holds one DeliveryMethodDefinition and a cursor during pagination. */ +export type DeliveryMethodDefinitionEdge = { + __typename?: 'DeliveryMethodDefinitionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DeliveryMethodDefinitionEdge. */ + node: DeliveryMethodDefinition; +}; + +/** The input fields for a method definition. */ +export type DeliveryMethodDefinitionInput = { + /** Whether to use this method definition during rate calculation. */ + active?: InputMaybe; + /** A list of conditions to update on the method definition. */ + conditionsToUpdate?: InputMaybe>; + /** The description of the method definition. */ + description?: InputMaybe; + /** A globally-unique ID of the method definition. Use only when updating a method definiton. */ + id?: InputMaybe; + /** The name of the method definition. */ + name?: InputMaybe; + /** A participant to apply to the method definition. */ + participant?: InputMaybe; + /** A list of price conditions on the method definition. */ + priceConditionsToCreate?: InputMaybe>; + /** A rate definition to apply to the method definition. */ + rateDefinition?: InputMaybe; + /** A list of weight conditions on the method definition. */ + weightConditionsToCreate?: InputMaybe>; +}; + +/** The different types of method definitions to filter by. */ +export enum DeliveryMethodDefinitionType { + /** A static merchant-defined rate. */ + Merchant = 'MERCHANT', + /** A dynamic participant rate. */ + Participant = 'PARTICIPANT' +} + +/** Possible method types that a delivery method can have. */ +export enum DeliveryMethodType { + /** The order is delivered using a local delivery service. */ + Local = 'LOCAL', + /** Non-physical items, no delivery needed. */ + None = 'NONE', + /** The order is delivered to a pickup point. */ + PickupPoint = 'PICKUP_POINT', + /** The order is picked up by the customer. */ + PickUp = 'PICK_UP', + /** In-store sale, no delivery needed. */ + Retail = 'RETAIL', + /** The order is shipped. */ + Shipping = 'SHIPPING' +} + +/** + * A participant defines carrier-calculated rates for shipping services + * with a possible merchant-defined fixed fee or a percentage-of-rate fee. + */ +export type DeliveryParticipant = Node & { + __typename?: 'DeliveryParticipant'; + /** Whether to display new shipping services automatically to the customer when the service becomes available. */ + adaptToNewServicesFlag: Scalars['Boolean']['output']; + /** The carrier used for this participant. */ + carrierService: DeliveryCarrierService; + /** The merchant-defined fixed fee for this participant. */ + fixedFee?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The carrier-specific services offered by the participant, and whether each service is active. */ + participantServices: Array; + /** The merchant-defined percentage-of-rate fee for this participant. */ + percentageOfRateFee: Scalars['Float']['output']; +}; + +/** The input fields for a participant. */ +export type DeliveryParticipantInput = { + /** Whether to automatically display new shipping services to the customer when a service becomes available. */ + adaptToNewServices?: InputMaybe; + /** The ID of the carrier service for this participant. */ + carrierServiceId?: InputMaybe; + /** The fixed feed that's defined by the merchant for this participant. */ + fixedFee?: InputMaybe; + /** The ID of the participant. */ + id?: InputMaybe; + /** The list of shipping services offered by the participant. */ + participantServices?: InputMaybe>; + /** The merchant-defined percentage-of-rate fee for this participant. */ + percentageOfRateFee?: InputMaybe; +}; + +/** A mail service provided by the participant. */ +export type DeliveryParticipantService = { + __typename?: 'DeliveryParticipantService'; + /** Whether the service is active. */ + active: Scalars['Boolean']['output']; + /** The name of the service. */ + name: Scalars['String']['output']; +}; + +/** The input fields for a shipping service provided by a participant. */ +export type DeliveryParticipantServiceInput = { + /** Whether the service is active. */ + active: Scalars['Boolean']['input']; + /** The name of the service. */ + name: Scalars['String']['input']; +}; + +/** The input fields for a price-based condition of a delivery method definition. */ +export type DeliveryPriceConditionInput = { + /** The monetary value to compare the price of an order to. */ + criteria?: InputMaybe; + /** The operator to use for comparison. */ + operator?: InputMaybe; +}; + +/** How many product variants are in a profile. This count is capped at 500. */ +export type DeliveryProductVariantsCount = { + __typename?: 'DeliveryProductVariantsCount'; + /** Whether the count has reached the cap of 500. */ + capped: Scalars['Boolean']['output']; + /** The product variant count. */ + count: Scalars['Int']['output']; +}; + +/** A shipping profile. In Shopify, a shipping profile is a set of shipping rates scoped to a set of products or variants that can be shipped from selected locations to zones. Learn more about [building with delivery profiles](https://shopify.dev/apps/build/purchase-options/deferred/delivery-and-deferment/build-delivery-profiles). */ +export type DeliveryProfile = Node & { + __typename?: 'DeliveryProfile'; + /** The number of active shipping rates for the profile. */ + activeMethodDefinitionsCount: Scalars['Int']['output']; + /** Whether this is the default profile. */ + default: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether this shop has enabled legacy compatibility mode for delivery profiles. */ + legacyMode: Scalars['Boolean']['output']; + /** The number of locations without rates defined. */ + locationsWithoutRatesCount: Scalars['Int']['output']; + /** The name of the delivery profile. */ + name: Scalars['String']['output']; + /** The number of active origin locations for the profile. */ + originLocationCount: Scalars['Int']['output']; + /** How many product variants are in this profile. */ + productVariantsCount?: Maybe; + /** + * How many product variants are in this profile. + * @deprecated Use `productVariantsCount` instead. + */ + productVariantsCountV2: DeliveryProductVariantsCount; + /** The products and variants associated with this profile. */ + profileItems: DeliveryProfileItemConnection; + /** The location groups and associated zones using this profile. */ + profileLocationGroups: Array; + /** Selling plan groups associated with the specified delivery profile. */ + sellingPlanGroups: SellingPlanGroupConnection; + /** List of locations that haven't been assigned to a location group for this profile. */ + unassignedLocations: Array; + /** List of locations that have not been assigned to a location group for this profile. */ + unassignedLocationsPaginated: LocationConnection; + /** The number of countries with active rates to deliver to. */ + zoneCountryCount: Scalars['Int']['output']; +}; + + +/** A shipping profile. In Shopify, a shipping profile is a set of shipping rates scoped to a set of products or variants that can be shipped from selected locations to zones. Learn more about [building with delivery profiles](https://shopify.dev/apps/build/purchase-options/deferred/delivery-and-deferment/build-delivery-profiles). */ +export type DeliveryProfileProfileItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A shipping profile. In Shopify, a shipping profile is a set of shipping rates scoped to a set of products or variants that can be shipped from selected locations to zones. Learn more about [building with delivery profiles](https://shopify.dev/apps/build/purchase-options/deferred/delivery-and-deferment/build-delivery-profiles). */ +export type DeliveryProfileProfileLocationGroupsArgs = { + locationGroupId?: InputMaybe; +}; + + +/** A shipping profile. In Shopify, a shipping profile is a set of shipping rates scoped to a set of products or variants that can be shipped from selected locations to zones. Learn more about [building with delivery profiles](https://shopify.dev/apps/build/purchase-options/deferred/delivery-and-deferment/build-delivery-profiles). */ +export type DeliveryProfileSellingPlanGroupsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A shipping profile. In Shopify, a shipping profile is a set of shipping rates scoped to a set of products or variants that can be shipped from selected locations to zones. Learn more about [building with delivery profiles](https://shopify.dev/apps/build/purchase-options/deferred/delivery-and-deferment/build-delivery-profiles). */ +export type DeliveryProfileUnassignedLocationsPaginatedArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple DeliveryProfiles. */ +export type DeliveryProfileConnection = { + __typename?: 'DeliveryProfileConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DeliveryProfileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `deliveryProfileCreate` mutation. */ +export type DeliveryProfileCreatePayload = { + __typename?: 'DeliveryProfileCreatePayload'; + /** The delivery profile that was created. */ + profile?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one DeliveryProfile and a cursor during pagination. */ +export type DeliveryProfileEdge = { + __typename?: 'DeliveryProfileEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DeliveryProfileEdge. */ + node: DeliveryProfile; +}; + +/** The input fields for a delivery profile. */ +export type DeliveryProfileInput = { + /** The list of condition IDs to delete. */ + conditionsToDelete?: InputMaybe>; + /** + * The list of location groups to be created in the delivery profile. + * + * **Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 location groups per each request. + */ + locationGroupsToCreate?: InputMaybe>; + /** The list of location groups to be deleted from the delivery profile. */ + locationGroupsToDelete?: InputMaybe>; + /** + * The list of location groups to be updated in the delivery profile. + * + * **Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 location groups per each request. + */ + locationGroupsToUpdate?: InputMaybe>; + /** The list of method definition IDs to delete. */ + methodDefinitionsToDelete?: InputMaybe>; + /** The name of the delivery profile. */ + name?: InputMaybe; + /** The list of location groups associated with the delivery profile. */ + profileLocationGroups?: InputMaybe>; + /** The list of selling plan groups to be associated with the delivery profile. */ + sellingPlanGroupsToAssociate?: InputMaybe>; + /** The list of selling plan groups to be dissociated with the delivery profile. */ + sellingPlanGroupsToDissociate?: InputMaybe>; + /** The list of product variant IDs to be associated with the delivery profile. */ + variantsToAssociate?: InputMaybe>; + /** + * The list of product variant IDs to be dissociated from the delivery profile. + * The dissociated product variants are moved back to the default delivery profile. + */ + variantsToDissociate?: InputMaybe>; + /** The list of zone IDs to delete. */ + zonesToDelete?: InputMaybe>; +}; + +/** A product and the subset of associated variants that are part of this delivery profile. */ +export type DeliveryProfileItem = Node & { + __typename?: 'DeliveryProfileItem'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** A product associated with this profile. */ + product: Product; + /** The product variants associated with this delivery profile. */ + variants: ProductVariantConnection; +}; + + +/** A product and the subset of associated variants that are part of this delivery profile. */ +export type DeliveryProfileItemVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple DeliveryProfileItems. */ +export type DeliveryProfileItemConnection = { + __typename?: 'DeliveryProfileItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DeliveryProfileItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DeliveryProfileItem and a cursor during pagination. */ +export type DeliveryProfileItemEdge = { + __typename?: 'DeliveryProfileItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DeliveryProfileItemEdge. */ + node: DeliveryProfileItem; +}; + +/** Links a location group with zones. Both are associated to a delivery profile. */ +export type DeliveryProfileLocationGroup = { + __typename?: 'DeliveryProfileLocationGroup'; + /** The countries already selected in any zone for the specified location group. */ + countriesInAnyZone: Array; + /** The collection of locations that make up the specified location group. */ + locationGroup: DeliveryLocationGroup; + /** The applicable zones associated to the specified location group. */ + locationGroupZones: DeliveryLocationGroupZoneConnection; +}; + + +/** Links a location group with zones. Both are associated to a delivery profile. */ +export type DeliveryProfileLocationGroupLocationGroupZonesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The input fields for a location group associated to a delivery profile. */ +export type DeliveryProfileLocationGroupInput = { + /** The globally-unique ID of the delivery profile location group. */ + id?: InputMaybe; + /** The list of location IDs to be moved to this location group. */ + locations?: InputMaybe>; + /** + * The list of location IDs to be added to this location group. + * + * **Note:** due to API input array limits, a maximum of 250 items can be sent per each request. + */ + locationsToAdd?: InputMaybe>; + /** + * The list of location IDs to be removed from this location group. + * + * **Note:** due to API input array limits, a maximum of 250 items can be sent per each request. + */ + locationsToRemove?: InputMaybe>; + /** + * The list of location group zones to create. + * + * **Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 zones per each request. + */ + zonesToCreate?: InputMaybe>; + /** + * The list of location group zones to update. + * + * **Note:** due to the potential complexity of the nested data, it is recommended to send no more than 5 zones per each request. + */ + zonesToUpdate?: InputMaybe>; +}; + +/** Return type for `deliveryProfileRemove` mutation. */ +export type DeliveryProfileRemovePayload = { + __typename?: 'DeliveryProfileRemovePayload'; + /** The delivery profile deletion job triggered by the mutation. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `deliveryProfileUpdate` mutation. */ +export type DeliveryProfileUpdatePayload = { + __typename?: 'DeliveryProfileUpdatePayload'; + /** The delivery profile that was updated. */ + profile?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A delivery promise provider. Currently restricted to select approved delivery promise partners. */ +export type DeliveryPromiseProvider = Node & { + __typename?: 'DeliveryPromiseProvider'; + /** Whether the delivery promise provider is active. Defaults to `true` when creating a provider. */ + active: Scalars['Boolean']['output']; + /** The number of seconds to add to the current time as a buffer when looking up delivery promises. Represents how long the shop requires before releasing an order to the fulfillment provider. */ + fulfillmentDelay?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The location associated with this delivery promise provider. */ + location: Location; + /** The time zone to be used for interpreting day of week and cutoff times in delivery schedules when looking up delivery promises. */ + timeZone: Scalars['String']['output']; +}; + +/** Return type for `deliveryPromiseProviderUpsert` mutation. */ +export type DeliveryPromiseProviderUpsertPayload = { + __typename?: 'DeliveryPromiseProviderUpsertPayload'; + /** The created or updated delivery promise provider. */ + deliveryPromiseProvider?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `DeliveryPromiseProviderUpsert`. */ +export type DeliveryPromiseProviderUpsertUserError = DisplayableError & { + __typename?: 'DeliveryPromiseProviderUpsertUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `DeliveryPromiseProviderUpsertUserError`. */ +export enum DeliveryPromiseProviderUpsertUserErrorCode { + /** The time zone is invalid. */ + InvalidTimeZone = 'INVALID_TIME_ZONE', + /** The location doesn't belong to the app. */ + MustBelongToApp = 'MUST_BELONG_TO_APP', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** A region that is used to define a shipping zone. */ +export type DeliveryProvince = Node & { + __typename?: 'DeliveryProvince'; + /** The code of the region. */ + code: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The full name of the region. */ + name: Scalars['String']['output']; + /** The translated name of the region. The translation returned is based on the system's locale. */ + translatedName: Scalars['String']['output']; +}; + +/** The input fields to specify a region. */ +export type DeliveryProvinceInput = { + /** The code of the region. */ + code: Scalars['String']['input']; +}; + +/** The merchant-defined rate of the [DeliveryMethodDefinition](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryMethodDefinition). */ +export type DeliveryRateDefinition = Node & { + __typename?: 'DeliveryRateDefinition'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The price of this rate. */ + price: MoneyV2; +}; + +/** The input fields for a rate definition. */ +export type DeliveryRateDefinitionInput = { + /** A globally-unique ID of the rate definition. */ + id?: InputMaybe; + /** The price of the rate definition. */ + price: MoneyInput; +}; + +/** A rate provided by a merchant-defined rate or a participant. */ +export type DeliveryRateProvider = DeliveryParticipant | DeliveryRateDefinition; + +/** + * The `DeliverySetting` object enables you to manage shop-wide shipping settings. + * You can enable legacy compatibility mode for the multi-location delivery profiles feature + * if the legacy mode isn't blocked. + */ +export type DeliverySetting = { + __typename?: 'DeliverySetting'; + /** Whether the shop is blocked from converting to full multi-location delivery profiles mode. If the shop is blocked, then the blocking reasons are also returned. */ + legacyModeBlocked: DeliveryLegacyModeBlocked; + /** Enables legacy compatability mode for the multi-location delivery profiles feature. */ + legacyModeProfiles: Scalars['Boolean']['output']; +}; + +/** The input fields for shop-level delivery settings. */ +export type DeliverySettingInput = { + /** Whether legacy compatability mode is enabled for the multi-location delivery profiles feature. */ + legacyModeProfiles?: InputMaybe; +}; + +/** Return type for `deliverySettingUpdate` mutation. */ +export type DeliverySettingUpdatePayload = { + __typename?: 'DeliverySettingUpdatePayload'; + /** The updated delivery shop level settings. */ + setting?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `deliveryShippingOriginAssign` mutation. */ +export type DeliveryShippingOriginAssignPayload = { + __typename?: 'DeliveryShippingOriginAssignPayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for updating the condition of a delivery method definition. */ +export type DeliveryUpdateConditionInput = { + /** The value that will be used in comparison. */ + criteria?: InputMaybe; + /** The unit associated with the value that will be used in comparison. */ + criteriaUnit?: InputMaybe; + /** The property of an order that will be used in comparison. */ + field?: InputMaybe; + /** A globally-unique ID of the condition. */ + id: Scalars['ID']['input']; + /** The operator to use for comparison. */ + operator?: InputMaybe; +}; + +/** The input fields for a weight-based condition of a delivery method definition. */ +export type DeliveryWeightConditionInput = { + /** The weight value to compare the weight of an order to. */ + criteria?: InputMaybe; + /** The operator to use for comparison. */ + operator?: InputMaybe; +}; + +/** A zone is a group of countries that have the same shipping rates. Customers can order products from a store only if they choose a shipping destination that's included in one of the store's zones. */ +export type DeliveryZone = Node & { + __typename?: 'DeliveryZone'; + /** The list of countries within the zone. */ + countries: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the zone. */ + name: Scalars['String']['output']; +}; + +/** Configuration of the deposit. */ +export type DepositConfiguration = DepositPercentage; + +/** The input fields configuring the deposit for a B2B buyer. */ +export type DepositInput = { + /** The percentage of the order total that should be paid as a deposit. */ + percentage: Scalars['Float']['input']; +}; + +/** A percentage deposit. */ +export type DepositPercentage = { + __typename?: 'DepositPercentage'; + /** The percentage value of the deposit. */ + percentage: Scalars['Float']['output']; +}; + +/** Digital wallet, such as Apple Pay, which can be used for accelerated checkouts. */ +export enum DigitalWallet { + /** Android Pay. */ + AndroidPay = 'ANDROID_PAY', + /** Apple Pay. */ + ApplePay = 'APPLE_PAY', + /** Google Pay. */ + GooglePay = 'GOOGLE_PAY', + /** Shopify Pay. */ + ShopifyPay = 'SHOPIFY_PAY' +} + +/** A discount. */ +export type Discount = DiscountAutomaticApp | DiscountAutomaticBasic | DiscountAutomaticBxgy | DiscountAutomaticFreeShipping | DiscountCodeApp | DiscountCodeBasic | DiscountCodeBxgy | DiscountCodeFreeShipping; + +/** An amount that's allocated to a line based on an associated discount application. */ +export type DiscountAllocation = { + __typename?: 'DiscountAllocation'; + /** + * The money amount that's allocated to a line based on the associated discount application. + * @deprecated Use `allocatedAmountSet` instead. + */ + allocatedAmount: MoneyV2; + /** The money amount that's allocated to a line based on the associated discount application in shop and presentment currencies. */ + allocatedAmountSet: MoneyBag; + /** The discount application that the allocated amount originated from. */ + discountApplication: DiscountApplication; +}; + +/** An auto-generated type for paginating through multiple DiscountAllocations. */ +export type DiscountAllocationConnection = { + __typename?: 'DiscountAllocationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountAllocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DiscountAllocation and a cursor during pagination. */ +export type DiscountAllocationEdge = { + __typename?: 'DiscountAllocationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountAllocationEdge. */ + node: DiscountAllocation; +}; + +/** The fixed amount value of a discount, and whether the amount is applied to each entitled item or spread evenly across the entitled items. */ +export type DiscountAmount = { + __typename?: 'DiscountAmount'; + /** The value of the discount. */ + amount: MoneyV2; + /** If true, then the discount is applied to each of the entitled items. If false, then the amount is split across all of the entitled items. */ + appliesOnEachItem: Scalars['Boolean']['output']; +}; + +/** The input fields for the value of the discount and how it is applied. */ +export type DiscountAmountInput = { + /** The value of the discount. */ + amount?: InputMaybe; + /** If true, then the discount is applied to each of the entitled items. If false, then the amount is split across all of the entitled items. */ + appliesOnEachItem?: InputMaybe; +}; + +/** + * Discount applications capture the intentions of a discount source at + * the time of application on an order's line items or shipping lines. + * + * Discount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object. + */ +export type DiscountApplication = { + /** The method by which the discount's value is applied to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** + * An ordered index that can be used to identify the discount application and indicate the precedence + * of the discount application for calculations. + */ + index: Scalars['Int']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** The method by which the discount's value is allocated onto its entitled lines. */ +export enum DiscountApplicationAllocationMethod { + /** The value is spread across all entitled lines. */ + Across = 'ACROSS', + /** The value is applied onto every entitled line. */ + Each = 'EACH', + /** + * The value is specifically applied onto a particular line. + * @deprecated Use ACROSS instead. + */ + One = 'ONE' +} + +/** An auto-generated type for paginating through multiple DiscountApplications. */ +export type DiscountApplicationConnection = { + __typename?: 'DiscountApplicationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountApplicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DiscountApplication and a cursor during pagination. */ +export type DiscountApplicationEdge = { + __typename?: 'DiscountApplicationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountApplicationEdge. */ + node: DiscountApplication; +}; + +/** The level at which the discount's value is applied. */ +export enum DiscountApplicationLevel { + /** + * The discount is applied at the line level. + * Line level discounts are factored into the discountedUnitPriceSet on line items. + */ + Line = 'LINE', + /** + * The discount is applied at the order level. + * Order level discounts are not factored into the discountedUnitPriceSet on line items. + */ + Order = 'ORDER' +} + +/** + * The lines on the order to which the discount is applied, of the type defined by + * the discount application's `targetType`. For example, the value `ENTITLED`, combined with a `targetType` of + * `LINE_ITEM`, applies the discount on all line items that are entitled to the discount. + * The value `ALL`, combined with a `targetType` of `SHIPPING_LINE`, applies the discount on all shipping lines. + */ +export enum DiscountApplicationTargetSelection { + /** The discount is allocated onto all the lines. */ + All = 'ALL', + /** The discount is allocated onto only the lines that it's entitled for. */ + Entitled = 'ENTITLED', + /** The discount is allocated onto explicitly chosen lines. */ + Explicit = 'EXPLICIT' +} + +/** The type of line (i.e. line item or shipping line) on an order that the discount is applicable towards. */ +export enum DiscountApplicationTargetType { + /** The discount applies onto line items. */ + LineItem = 'LINE_ITEM', + /** The discount applies onto shipping lines. */ + ShippingLine = 'SHIPPING_LINE' +} + +/** The type of discount associated to the automatic discount. For example, the automatic discount might offer a basic discount using a fixed percentage, or a fixed amount, on specific products from the order. The automatic discount may also be a BXGY discount, which offers customer discounts on select products if they add a specific product to their order. */ +export type DiscountAutomatic = DiscountAutomaticApp | DiscountAutomaticBasic | DiscountAutomaticBxgy | DiscountAutomaticFreeShipping; + +/** Return type for `discountAutomaticActivate` mutation. */ +export type DiscountAutomaticActivatePayload = { + __typename?: 'DiscountAutomaticActivatePayload'; + /** The activated automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An automatic app discount. */ +export type DiscountAutomaticApp = { + __typename?: 'DiscountAutomaticApp'; + /** The app discount type providing the discount type. */ + appDiscountType: AppDiscountType; + /** Whether the discount applies on subscription items. */ + appliesOnSubscription: Scalars['Boolean']['output']; + /** The number of times the discount has been used. This value is updated asynchronously and can be different than the actual usage count. */ + asyncUsageCount: Scalars['Int']['output']; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** The class of the discount for combining purposes. */ + discountClass: DiscountClass; + /** The ID for the discount. */ + discountId: Scalars['ID']['output']; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** The error history on the most recent version of the app discount. */ + errorHistory?: Maybe; + /** The number of times a discount applies on recurring purchases (subscriptions). 0 will apply infinitely whereas 1 will only apply to the first checkout. */ + recurringCycleLimit: Scalars['Int']['output']; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** Return type for `discountAutomaticAppCreate` mutation. */ +export type DiscountAutomaticAppCreatePayload = { + __typename?: 'DiscountAutomaticAppCreatePayload'; + /** The created app discount. */ + automaticAppDiscount?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create an app discount. */ +export type DiscountAutomaticAppInput = { + /** Whether the discount applies on subscription items. */ + appliesOnSubscription?: InputMaybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The ID of the function providing the app discount type. */ + functionId?: InputMaybe; + /** Additional metafields to associate to the discount. */ + metafields?: InputMaybe>; + /** The number of times a discount applies on recurring purchases (subscriptions). 0 will apply infinitely whereas 1 will only apply to the first checkout. */ + recurringCycleLimit?: InputMaybe; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; +}; + +/** Return type for `discountAutomaticAppUpdate` mutation. */ +export type DiscountAutomaticAppUpdatePayload = { + __typename?: 'DiscountAutomaticAppUpdatePayload'; + /** The updated automatic app discount. */ + automaticAppDiscount?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An automatic discount that offers customers a percentage discount, or fixed amount discount, on specific products, collections, or the entire order. */ +export type DiscountAutomaticBasic = { + __typename?: 'DiscountAutomaticBasic'; + /** The number of times the discount has been used. This value is updated asynchronously and can be different than the actual usage count. */ + asyncUsageCount: Scalars['Int']['output']; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** The qualifying items in an order, the quantity of each one, and the total value of the discount. */ + customerGets: DiscountCustomerGets; + /** The class of the discount for combining purposes. */ + discountClass: MerchandiseDiscountClass; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement: DiscountMinimumRequirement; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit: Scalars['Int']['output']; + /** A short summary of the discount. */ + shortSummary: Scalars['String']['output']; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** A detailed summary of the discount. */ + summary: Scalars['String']['output']; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** + * The number of times that the discount has been used. + * @deprecated Use `asyncUsageCount` instead. + */ + usageCount: Scalars['Int']['output']; +}; + +/** Return type for `discountAutomaticBasicCreate` mutation. */ +export type DiscountAutomaticBasicCreatePayload = { + __typename?: 'DiscountAutomaticBasicCreatePayload'; + /** The created automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create or update an automatic basic discount. */ +export type DiscountAutomaticBasicInput = { + /** Determines which discount classes the discount can combine with. */ + combinesWith?: InputMaybe; + /** Information about the qualifying items and their discount. */ + customerGets?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement?: InputMaybe; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit?: InputMaybe; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; +}; + +/** Return type for `discountAutomaticBasicUpdate` mutation. */ +export type DiscountAutomaticBasicUpdatePayload = { + __typename?: 'DiscountAutomaticBasicUpdatePayload'; + /** The updated automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `discountAutomaticBulkDelete` mutation. */ +export type DiscountAutomaticBulkDeletePayload = { + __typename?: 'DiscountAutomaticBulkDeletePayload'; + /** The asynchronous job removing the automatic discounts. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An automatic discount that offers customers a Buy X, Get Y (BXGY) discount. */ +export type DiscountAutomaticBxgy = HasEvents & Node & { + __typename?: 'DiscountAutomaticBxgy'; + /** The number of times the discount has been used. This value is updated asynchronously and can be different than the actual usage count. */ + asyncUsageCount: Scalars['Int']['output']; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount. */ + customerBuys: DiscountCustomerBuys; + /** The qualifying items in an order, the quantity of each one, and the total value of the discount. */ + customerGets: DiscountCustomerGets; + /** The class of the discount for combining purposes. */ + discountClass: MerchandiseDiscountClass; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** + * A legacy unique ID for the discount. + * @deprecated Use DiscountAutomaticNode.id instead. + */ + id: Scalars['ID']['output']; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** A detailed summary of the discount. */ + summary: Scalars['String']['output']; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** + * The number of times that the discount has been used. + * @deprecated Use `asyncUsageCount` instead. + */ + usageCount: Scalars['Int']['output']; + /** The maximum number of times that the discount can be applied to an order. */ + usesPerOrderLimit?: Maybe; +}; + + +/** An automatic discount that offers customers a Buy X, Get Y (BXGY) discount. */ +export type DiscountAutomaticBxgyEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `discountAutomaticBxgyCreate` mutation. */ +export type DiscountAutomaticBxgyCreatePayload = { + __typename?: 'DiscountAutomaticBxgyCreatePayload'; + /** The created automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create or update an automatic Buy X, Get Y (BXGY) discount. */ +export type DiscountAutomaticBxgyInput = { + /** Determines which discount classes the discount can combine with. */ + combinesWith?: InputMaybe; + /** The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount. */ + customerBuys?: InputMaybe; + /** The qualifying items in an order, the quantity of each one, and the total value of the discount. */ + customerGets?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; + /** The maximum number of times that the discount can be applied to an order. */ + usesPerOrderLimit?: InputMaybe; +}; + +/** Return type for `discountAutomaticBxgyUpdate` mutation. */ +export type DiscountAutomaticBxgyUpdatePayload = { + __typename?: 'DiscountAutomaticBxgyUpdatePayload'; + /** The updated automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple DiscountAutomatics. */ +export type DiscountAutomaticConnection = { + __typename?: 'DiscountAutomaticConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountAutomaticEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `discountAutomaticDeactivate` mutation. */ +export type DiscountAutomaticDeactivatePayload = { + __typename?: 'DiscountAutomaticDeactivatePayload'; + /** The deactivated automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `discountAutomaticDelete` mutation. */ +export type DiscountAutomaticDeletePayload = { + __typename?: 'DiscountAutomaticDeletePayload'; + /** The deleted automatic discount ID. */ + deletedAutomaticDiscountId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one DiscountAutomatic and a cursor during pagination. */ +export type DiscountAutomaticEdge = { + __typename?: 'DiscountAutomaticEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountAutomaticEdge. */ + node: DiscountAutomatic; +}; + +/** An automatic discount that offers customers free shipping on their order. */ +export type DiscountAutomaticFreeShipping = { + __typename?: 'DiscountAutomaticFreeShipping'; + /** Whether the discount applies on regular one-time-purchase shipping lines. */ + appliesOnOneTimePurchase: Scalars['Boolean']['output']; + /** Whether the discount applies on subscription shipping lines. */ + appliesOnSubscription: Scalars['Boolean']['output']; + /** The number of times that the discount has been used. This value is updated asynchronously and can be different than the actual usage count. */ + asyncUsageCount: Scalars['Int']['output']; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** A shipping destination that qualifies for the discount. */ + destinationSelection: DiscountShippingDestinationSelection; + /** The class of the discount for combining purposes. */ + discountClass: ShippingDiscountClass; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** Indicates whether there are any timeline comments on the discount. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** The maximum shipping price amount accepted to qualify for the discount. */ + maximumShippingPrice?: Maybe; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement: DiscountMinimumRequirement; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit: Scalars['Int']['output']; + /** A short summary of the discount. */ + shortSummary: Scalars['String']['output']; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** A detailed summary of the discount. */ + summary: Scalars['String']['output']; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The total sales from orders where the discount was used. */ + totalSales?: Maybe; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** Return type for `discountAutomaticFreeShippingCreate` mutation. */ +export type DiscountAutomaticFreeShippingCreatePayload = { + __typename?: 'DiscountAutomaticFreeShippingCreatePayload'; + /** The created automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create or update free shipping automatic discount. */ +export type DiscountAutomaticFreeShippingInput = { + /** Whether the discount applies on regular one-time-purchase items. */ + appliesOnOneTimePurchase?: InputMaybe; + /** Whether the discount applies on subscription items. */ + appliesOnSubscription?: InputMaybe; + /** Determines which discount classes the shipping discount can combine with. */ + combinesWith?: InputMaybe; + /** A list of destinations where the discount will apply. */ + destination?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The maximum shipping price that qualifies for the discount. */ + maximumShippingPrice?: InputMaybe; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement?: InputMaybe; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit?: InputMaybe; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; +}; + +/** Return type for `discountAutomaticFreeShippingUpdate` mutation. */ +export type DiscountAutomaticFreeShippingUpdatePayload = { + __typename?: 'DiscountAutomaticFreeShippingUpdatePayload'; + /** The updated automatic discount. */ + automaticDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A node containing an automatic discount and its related events. */ +export type DiscountAutomaticNode = HasEvents & HasMetafieldDefinitions & HasMetafields & Node & { + __typename?: 'DiscountAutomaticNode'; + /** The automatic discount object. */ + automaticDiscount: DiscountAutomatic; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; +}; + + +/** A node containing an automatic discount and its related events. */ +export type DiscountAutomaticNodeEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A node containing an automatic discount and its related events. */ +export type DiscountAutomaticNodeMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A node containing an automatic discount and its related events. */ +export type DiscountAutomaticNodeMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A node containing an automatic discount and its related events. */ +export type DiscountAutomaticNodeMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A node containing an automatic discount and its related events. */ +export type DiscountAutomaticNodePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A node containing an automatic discount and its related events. */ +export type DiscountAutomaticNodePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple DiscountAutomaticNodes. */ +export type DiscountAutomaticNodeConnection = { + __typename?: 'DiscountAutomaticNodeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountAutomaticNodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DiscountAutomaticNode and a cursor during pagination. */ +export type DiscountAutomaticNodeEdge = { + __typename?: 'DiscountAutomaticNodeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountAutomaticNodeEdge. */ + node: DiscountAutomaticNode; +}; + +/** The class of the discount for combining purposes. */ +export enum DiscountClass { + /** Combined as an order discount. */ + Order = 'ORDER', + /** Combined as a product discount. */ + Product = 'PRODUCT', + /** Combined as a shipping discount. */ + Shipping = 'SHIPPING' +} + +/** The type of discount associated with the discount code. For example, the discount code might offer a basic discount of a fixed percentage, or a fixed amount, on specific products or the order. Alternatively, the discount might offer the customer free shipping on their order. A third option is a Buy X, Get Y (BXGY) discount, which offers a customer discounts on select products if they add a specific product to their order. */ +export type DiscountCode = DiscountCodeApp | DiscountCodeBasic | DiscountCodeBxgy | DiscountCodeFreeShipping; + +/** Return type for `discountCodeActivate` mutation. */ +export type DiscountCodeActivatePayload = { + __typename?: 'DiscountCodeActivatePayload'; + /** The activated code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A code app discount. */ +export type DiscountCodeApp = { + __typename?: 'DiscountCodeApp'; + /** The app discount type providing the discount type. */ + appDiscountType: AppDiscountType; + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer: Scalars['Boolean']['output']; + /** The number of times that the discount has been used. */ + asyncUsageCount: Scalars['Int']['output']; + /** A list of redeem codes for the discount. */ + codes: DiscountRedeemCodeConnection; + /** The number of redeem codes for the discount. */ + codesCount?: Maybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** The customers that can use the discount. */ + customerSelection: DiscountCustomerSelection; + /** The class of the discount for combining purposes. */ + discountClass: DiscountClass; + /** The ID for the discount. */ + discountId: Scalars['ID']['output']; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** The error history on the most recent version of the discount. */ + errorHistory?: Maybe; + /** Indicates whether there are any timeline comments on the discount. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit?: Maybe; + /** URLs that can be used to share the discount. */ + shareableUrls: Array; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The total sales from orders where the discount was used. */ + totalSales?: Maybe; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The maximum number of times that the discount can be used. */ + usageLimit?: Maybe; +}; + + +/** A code app discount. */ +export type DiscountCodeAppCodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `discountCodeAppCreate` mutation. */ +export type DiscountCodeAppCreatePayload = { + __typename?: 'DiscountCodeAppCreatePayload'; + /** The created code app discount. */ + codeAppDiscount?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create a code app discount. */ +export type DiscountCodeAppInput = { + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer?: InputMaybe; + /** The code to use the discount. */ + code?: InputMaybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith?: InputMaybe; + /** The customers that can use the discount. */ + customerSelection?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The ID of the function providing the app discount type. */ + functionId?: InputMaybe; + /** Additional metafields to associate to the discount. */ + metafields?: InputMaybe>; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; + /** The maximum number of times that the discount can be used. For open-ended discounts, use `null`. */ + usageLimit?: InputMaybe; +}; + +/** Return type for `discountCodeAppUpdate` mutation. */ +export type DiscountCodeAppUpdatePayload = { + __typename?: 'DiscountCodeAppUpdatePayload'; + /** The updated code app discount. */ + codeAppDiscount?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * Discount code applications capture the intentions of a discount code at + * the time that it is applied onto an order. + * + * Discount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object. + */ +export type DiscountCodeApplication = DiscountApplication & { + __typename?: 'DiscountCodeApplication'; + /** The method by which the discount's value is applied to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** The string identifying the discount code that was used at the time of application. */ + code: Scalars['String']['output']; + /** + * An ordered index that can be used to identify the discount application and indicate the precedence + * of the discount application for calculations. + */ + index: Scalars['Int']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** A code discount that offers customers a percentage or fixed amount discount on specific products, collections, or the entire order. */ +export type DiscountCodeBasic = { + __typename?: 'DiscountCodeBasic'; + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer: Scalars['Boolean']['output']; + /** The number of times that the discount has been used. */ + asyncUsageCount: Scalars['Int']['output']; + /** A list of redeem codes for the discount. */ + codes: DiscountRedeemCodeConnection; + /** The number of redeem codes for the discount. */ + codesCount?: Maybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** The qualifying items in an order, the quantity of each one, and the total value of the discount. */ + customerGets: DiscountCustomerGets; + /** The customers that can use the discount. */ + customerSelection: DiscountCustomerSelection; + /** The class of the discount for combining purposes. */ + discountClass: MerchandiseDiscountClass; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** Indicates whether there are any timeline comments on the discount. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement?: Maybe; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit?: Maybe; + /** URLs that can be used to share the discount. */ + shareableUrls: Array; + /** A short summary of the discount. */ + shortSummary: Scalars['String']['output']; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** A detailed summary of the discount. */ + summary: Scalars['String']['output']; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The total sales from orders where the discount was used. */ + totalSales?: Maybe; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The maximum number of times that the discount can be used. */ + usageLimit?: Maybe; +}; + + +/** A code discount that offers customers a percentage or fixed amount discount on specific products, collections, or the entire order. */ +export type DiscountCodeBasicCodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `discountCodeBasicCreate` mutation. */ +export type DiscountCodeBasicCreatePayload = { + __typename?: 'DiscountCodeBasicCreatePayload'; + /** The created code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create or update a basic code discount. */ +export type DiscountCodeBasicInput = { + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer?: InputMaybe; + /** The code to use the discount. */ + code?: InputMaybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith?: InputMaybe; + /** The qualifying items in an order, the quantity of each one, and the total value of the discount. */ + customerGets?: InputMaybe; + /** The customers that can use the discount. */ + customerSelection?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement?: InputMaybe; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit?: InputMaybe; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; + /** The maximum number of times that the discount can be used. For open-ended discounts, use `null`. */ + usageLimit?: InputMaybe; +}; + +/** Return type for `discountCodeBasicUpdate` mutation. */ +export type DiscountCodeBasicUpdatePayload = { + __typename?: 'DiscountCodeBasicUpdatePayload'; + /** The updated code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `discountCodeBulkActivate` mutation. */ +export type DiscountCodeBulkActivatePayload = { + __typename?: 'DiscountCodeBulkActivatePayload'; + /** The asynchronous job that activates the code discounts. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `discountCodeBulkDeactivate` mutation. */ +export type DiscountCodeBulkDeactivatePayload = { + __typename?: 'DiscountCodeBulkDeactivatePayload'; + /** The asynchronous job that deactivates the code discounts. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `discountCodeBulkDelete` mutation. */ +export type DiscountCodeBulkDeletePayload = { + __typename?: 'DiscountCodeBulkDeletePayload'; + /** The asynchronous job that deletes the code discounts. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A code discount that offers customers a Buy X, Get Y (BXGY) discount. */ +export type DiscountCodeBxgy = { + __typename?: 'DiscountCodeBxgy'; + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer: Scalars['Boolean']['output']; + /** The number of times that the discount has been used. */ + asyncUsageCount: Scalars['Int']['output']; + /** A list of redeem codes for the discount. */ + codes: DiscountRedeemCodeConnection; + /** The number of redeem codes for the discount. */ + codesCount?: Maybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount. */ + customerBuys: DiscountCustomerBuys; + /** The qualifying items in an order, the quantity of each one, and the total value of the discount. */ + customerGets: DiscountCustomerGets; + /** The customers that can use the discount. */ + customerSelection: DiscountCustomerSelection; + /** The class of the discount for combining purposes. */ + discountClass: MerchandiseDiscountClass; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** Indicates whether there are any timeline comments on the discount. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** URLs that can be used to share the discount. */ + shareableUrls: Array; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** A detailed summary of the discount. */ + summary: Scalars['String']['output']; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The total sales from orders where the discount was used. */ + totalSales?: Maybe; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The maximum number of times that the discount can be used. */ + usageLimit?: Maybe; + /** The maximum number of times that the discount can be applied to an order. */ + usesPerOrderLimit?: Maybe; +}; + + +/** A code discount that offers customers a Buy X, Get Y (BXGY) discount. */ +export type DiscountCodeBxgyCodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `discountCodeBxgyCreate` mutation. */ +export type DiscountCodeBxgyCreatePayload = { + __typename?: 'DiscountCodeBxgyCreatePayload'; + /** The created code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create or update a BXGY code discount. */ +export type DiscountCodeBxgyInput = { + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer?: InputMaybe; + /** The code to use the discount. */ + code?: InputMaybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith?: InputMaybe; + /** The qualifying items and the quantity of each one that the customer has to buy to be eligible for the discount. */ + customerBuys?: InputMaybe; + /** The qualifying items that will be discounted, the quantity of each one, and the total value of the discount. */ + customerGets?: InputMaybe; + /** The customers that are eligible to use the discount. */ + customerSelection?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; + /** The maximum number of times that the discount can be used. For open-ended discounts, use `null`. */ + usageLimit?: InputMaybe; + /** The maximum number of times that the discount can be applied to an order. */ + usesPerOrderLimit?: InputMaybe; +}; + +/** Return type for `discountCodeBxgyUpdate` mutation. */ +export type DiscountCodeBxgyUpdatePayload = { + __typename?: 'DiscountCodeBxgyUpdatePayload'; + /** The updated code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `discountCodeDeactivate` mutation. */ +export type DiscountCodeDeactivatePayload = { + __typename?: 'DiscountCodeDeactivatePayload'; + /** The deactivated code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `discountCodeDelete` mutation. */ +export type DiscountCodeDeletePayload = { + __typename?: 'DiscountCodeDeletePayload'; + /** The deleted code discount ID. */ + deletedCodeDiscountId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A code discount that offers customers free shipping on their order. */ +export type DiscountCodeFreeShipping = { + __typename?: 'DiscountCodeFreeShipping'; + /** Whether the discount applies on regular one-time-purchase shipping lines. */ + appliesOnOneTimePurchase: Scalars['Boolean']['output']; + /** Whether the discount applies on subscription shipping lines. */ + appliesOnSubscription: Scalars['Boolean']['output']; + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer: Scalars['Boolean']['output']; + /** The number of times that the discount has been used. */ + asyncUsageCount: Scalars['Int']['output']; + /** A list of redeem codes for the discount. */ + codes: DiscountRedeemCodeConnection; + /** The number of redeem codes for the discount. */ + codesCount?: Maybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the discount was created. */ + createdAt: Scalars['DateTime']['output']; + /** The customers that can use the discount. */ + customerSelection: DiscountCustomerSelection; + /** A shipping destination that qualifies for the discount. */ + destinationSelection: DiscountShippingDestinationSelection; + /** The class of the discount for combining purposes. */ + discountClass: ShippingDiscountClass; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: Maybe; + /** Indicates whether there are any timeline comments on the discount. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** The maximum shipping price amount accepted to qualify for the discount. */ + maximumShippingPrice?: Maybe; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement?: Maybe; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit?: Maybe; + /** URLs that can be used to share the discount. */ + shareableUrls: Array; + /** A short summary of the discount. */ + shortSummary: Scalars['String']['output']; + /** The date and time when the discount starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the discount. */ + status: DiscountStatus; + /** A detailed summary of the discount. */ + summary: Scalars['String']['output']; + /** The title of the discount. */ + title: Scalars['String']['output']; + /** The total sales from orders where the discount was used. */ + totalSales?: Maybe; + /** The date and time when the discount was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The maximum number of times that the discount can be used. */ + usageLimit?: Maybe; +}; + + +/** A code discount that offers customers free shipping on their order. */ +export type DiscountCodeFreeShippingCodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Return type for `discountCodeFreeShippingCreate` mutation. */ +export type DiscountCodeFreeShippingCreatePayload = { + __typename?: 'DiscountCodeFreeShippingCreatePayload'; + /** The created code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to create or update a free shipping code discount. */ +export type DiscountCodeFreeShippingInput = { + /** Whether the discount applies on regular one-time-purchase items. */ + appliesOnOneTimePurchase?: InputMaybe; + /** Whether the discount applies on subscription items. */ + appliesOnSubscription?: InputMaybe; + /** Whether the discount can be applied only once per customer. */ + appliesOncePerCustomer?: InputMaybe; + /** The code to use the discount. */ + code?: InputMaybe; + /** Determines which discount classes the shipping discount can combine with. */ + combinesWith?: InputMaybe; + /** The customers that are eligible to use the discount. */ + customerSelection?: InputMaybe; + /** A list of destinations where the discount will apply. */ + destination?: InputMaybe; + /** The date and time when the discount ends. For open-ended discounts, use `null`. */ + endsAt?: InputMaybe; + /** The maximum shipping price that qualifies for the discount. */ + maximumShippingPrice?: InputMaybe; + /** The minimum subtotal or quantity that's required for the discount to be applied. */ + minimumRequirement?: InputMaybe; + /** The number of times a discount applies on recurring purchases (subscriptions). */ + recurringCycleLimit?: InputMaybe; + /** The date and time when the discount starts. */ + startsAt?: InputMaybe; + /** The title of the discount. */ + title?: InputMaybe; + /** The maximum number of times that the discount can be used. For open-ended discounts, use `null`. */ + usageLimit?: InputMaybe; +}; + +/** Return type for `discountCodeFreeShippingUpdate` mutation. */ +export type DiscountCodeFreeShippingUpdatePayload = { + __typename?: 'DiscountCodeFreeShippingUpdatePayload'; + /** The updated code discount. */ + codeDiscountNode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A node containing a code discount and its related events. */ +export type DiscountCodeNode = HasEvents & HasMetafieldDefinitions & HasMetafields & Node & { + __typename?: 'DiscountCodeNode'; + /** The underlying code discount object. */ + codeDiscount: DiscountCode; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; +}; + + +/** A node containing a code discount and its related events. */ +export type DiscountCodeNodeEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A node containing a code discount and its related events. */ +export type DiscountCodeNodeMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A node containing a code discount and its related events. */ +export type DiscountCodeNodeMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A node containing a code discount and its related events. */ +export type DiscountCodeNodeMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A node containing a code discount and its related events. */ +export type DiscountCodeNodePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A node containing a code discount and its related events. */ +export type DiscountCodeNodePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple DiscountCodeNodes. */ +export type DiscountCodeNodeConnection = { + __typename?: 'DiscountCodeNodeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountCodeNodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DiscountCodeNode and a cursor during pagination. */ +export type DiscountCodeNodeEdge = { + __typename?: 'DiscountCodeNodeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountCodeNodeEdge. */ + node: DiscountCodeNode; +}; + +/** Return type for `discountCodeRedeemCodeBulkDelete` mutation. */ +export type DiscountCodeRedeemCodeBulkDeletePayload = { + __typename?: 'DiscountCodeRedeemCodeBulkDeletePayload'; + /** The asynchronous job that deletes the discount redeem codes. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The set of valid sort keys for the DiscountCode query. */ +export enum DiscountCodeSortKeys { + /** Sort by the `code` value. */ + Code = 'CODE', + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** A list of collections that the discount can have as a prerequisite or a list of collections to which the discount can be applied. */ +export type DiscountCollections = { + __typename?: 'DiscountCollections'; + /** The list of collections that the discount can have as a prerequisite or the list of collections to which the discount can be applied. */ + collections: CollectionConnection; +}; + + +/** A list of collections that the discount can have as a prerequisite or a list of collections to which the discount can be applied. */ +export type DiscountCollectionsCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The input fields for collections attached to a discount. */ +export type DiscountCollectionsInput = { + /** Specifies list of collection ids to add. */ + add?: InputMaybe>; + /** Specifies list of collection ids to remove. */ + remove?: InputMaybe>; +}; + +/** Determines which discount classes the discount can combine with. */ +export type DiscountCombinesWith = { + __typename?: 'DiscountCombinesWith'; + /** Combines with order discounts. */ + orderDiscounts: Scalars['Boolean']['output']; + /** Combines with product discounts. */ + productDiscounts: Scalars['Boolean']['output']; + /** Combines with shipping discounts. */ + shippingDiscounts: Scalars['Boolean']['output']; +}; + +/** The input fields to determine which discount classes the discount can combine with. */ +export type DiscountCombinesWithInput = { + /** Combines with order discounts. */ + orderDiscounts?: InputMaybe; + /** Combines with product discounts. */ + productDiscounts?: InputMaybe; + /** Combines with shipping discounts. */ + shippingDiscounts?: InputMaybe; +}; + +/** The shipping destinations where the discount can be applied. */ +export type DiscountCountries = { + __typename?: 'DiscountCountries'; + /** The codes for the countries where the discount can be applied. */ + countries: Array; + /** Whether the discount is applicable to countries that haven't been defined in the shop's shipping zones. */ + includeRestOfWorld: Scalars['Boolean']['output']; +}; + +/** The input fields for a list of countries to add or remove from the free shipping discount. */ +export type DiscountCountriesInput = { + /** The country codes to add to the list of countries where the discount applies. */ + add?: InputMaybe>; + /** Whether the discount code is applicable to countries that haven't been defined in the shop's shipping zones. */ + includeRestOfWorld?: InputMaybe; + /** The country codes to remove from the list of countries where the discount applies. */ + remove?: InputMaybe>; +}; + +/** The `DiscountCountryAll` object lets you target all countries as shipping destination for discount eligibility. */ +export type DiscountCountryAll = { + __typename?: 'DiscountCountryAll'; + /** Whether the discount can be applied to all countries as shipping destination. This value is always `true`. */ + allCountries: Scalars['Boolean']['output']; +}; + +/** The `DiscountCustomerAll` object lets you target all customers for discount eligibility. */ +export type DiscountCustomerAll = { + __typename?: 'DiscountCustomerAll'; + /** Whether the discount can be applied by all customers. This value is always `true`. */ + allCustomers: Scalars['Boolean']['output']; +}; + +/** The prerequisite items and prerequisite value that a customer must have on the order for the discount to be applicable. */ +export type DiscountCustomerBuys = { + __typename?: 'DiscountCustomerBuys'; + /** The items required for the discount to be applicable. */ + items: DiscountItems; + /** The prerequisite value. */ + value: DiscountCustomerBuysValue; +}; + +/** The input fields for prerequisite items and quantity for the discount. */ +export type DiscountCustomerBuysInput = { + /** The IDs of items that the customer buys. The items can be either collections or products. */ + items?: InputMaybe; + /** The quantity of prerequisite items. */ + value?: InputMaybe; +}; + +/** The prerequisite for the discount to be applicable. For example, the discount might require a customer to buy a minimum quantity of select items. Alternatively, the discount might require a customer to spend a minimum amount on select items. */ +export type DiscountCustomerBuysValue = DiscountPurchaseAmount | DiscountQuantity; + +/** The input fields for prerequisite quantity or minimum purchase amount required for the discount. */ +export type DiscountCustomerBuysValueInput = { + /** The prerequisite minimum purchase amount required for the discount to be applicable. */ + amount?: InputMaybe; + /** The quantity of prerequisite items. */ + quantity?: InputMaybe; +}; + +/** The qualifying items in an order, the quantity of each one, and the total value of the discount. */ +export type DiscountCustomerGets = { + __typename?: 'DiscountCustomerGets'; + /** Whether the discount applies on regular one-time-purchase items. */ + appliesOnOneTimePurchase: Scalars['Boolean']['output']; + /** Whether the discount applies on subscription items. */ + appliesOnSubscription: Scalars['Boolean']['output']; + /** The items to which the discount applies. */ + items: DiscountItems; + /** Entitled quantity and the discount value. */ + value: DiscountCustomerGetsValue; +}; + +/** Specifies the items that will be discounted, the quantity of items that will be discounted, and the value of discount. */ +export type DiscountCustomerGetsInput = { + /** Whether the discount applies on regular one-time-purchase items. */ + appliesOnOneTimePurchase?: InputMaybe; + /** Whether the discount applies on subscription items. */ + appliesOnSubscription?: InputMaybe; + /** The IDs of the items that the customer gets. The items can be either collections or products. */ + items?: InputMaybe; + /** The quantity of items discounted and the discount value. */ + value?: InputMaybe; +}; + +/** The type of the discount value and how it will be applied. For example, it might be a percentage discount on a fixed number of items. Alternatively, it might be a fixed amount evenly distributed across all items or on each individual item. A third example is a percentage discount on all items. */ +export type DiscountCustomerGetsValue = DiscountAmount | DiscountOnQuantity | DiscountPercentage; + +/** The input fields for the quantity of items discounted and the discount value. */ +export type DiscountCustomerGetsValueInput = { + /** The value of the discount. */ + discountAmount?: InputMaybe; + /** The quantity of the items that are discounted and the discount value. */ + discountOnQuantity?: InputMaybe; + /** The percentage value of the discount. Value must be between 0.00 - 1.00. */ + percentage?: InputMaybe; +}; + +/** A list of customer segments that contain the customers that the discount applies to. */ +export type DiscountCustomerSegments = { + __typename?: 'DiscountCustomerSegments'; + /** A list of customer segments that contain the customers who can use the discount. */ + segments: Array; +}; + +/** The input fields for which customer segments to add to or remove from the discount. */ +export type DiscountCustomerSegmentsInput = { + /** A list of customer segments to add to the current list of customer segments. */ + add?: InputMaybe>; + /** A list of customer segments to remove from the current list of customer segments. */ + remove?: InputMaybe>; +}; + +/** The type used for targeting a set of customers who are eligible for the discount. For example, the discount might be available to all customers or it might only be available to a specific set of customers. You can define the set of customers by targeting a list of customer segments, or by targeting a list of specific customers. */ +export type DiscountCustomerSelection = DiscountCustomerAll | DiscountCustomerSegments | DiscountCustomers; + +/** The input fields for the customers who can use this discount. */ +export type DiscountCustomerSelectionInput = { + /** Whether all customers can use this discount. */ + all?: InputMaybe; + /** The list of customer segment IDs to add or remove from the list of customer segments. */ + customerSegments?: InputMaybe; + /** The list of customer IDs to add or remove from the list of customers. */ + customers?: InputMaybe; +}; + +/** A list of customers eligible for the discount. */ +export type DiscountCustomers = { + __typename?: 'DiscountCustomers'; + /** The list of customers eligible for the discount. */ + customers: Array; +}; + +/** The input fields for which customers to add to or remove from the discount. */ +export type DiscountCustomersInput = { + /** A list of customers to add to the current list of customers who can use the discount. */ + add?: InputMaybe>; + /** A list of customers to remove from the current list of customers who can use the discount. */ + remove?: InputMaybe>; +}; + +/** The type of discount that will be applied. Currently, only a percentage discount is supported. */ +export type DiscountEffect = DiscountAmount | DiscountPercentage; + +/** The input fields for how the discount will be applied. Currently, only percentage off is supported. */ +export type DiscountEffectInput = { + /** The value of the discount. */ + amount?: InputMaybe; + /** The percentage value of the discount. Value must be between 0.00 - 1.00. */ + percentage?: InputMaybe; +}; + +/** Possible error codes that can be returned by `DiscountUserError`. */ +export enum DiscountErrorCode { + /** The active period overlaps with other automatic discounts. At any given time, only one automatic discount can be active. */ + ActivePeriodOverlap = 'ACTIVE_PERIOD_OVERLAP', + /** The input value is blank. */ + Blank = 'BLANK', + /** The attribute selection contains conflicting settings. */ + Conflict = 'CONFLICT', + /** The input value is already present. */ + Duplicate = 'DUPLICATE', + /** The input value should be equal to the value allowed. */ + EqualTo = 'EQUAL_TO', + /** The value exceeded the maximum allowed value. */ + ExceededMax = 'EXCEEDED_MAX', + /** The input value should be greater than the minimum allowed value. */ + GreaterThan = 'GREATER_THAN', + /** The input value should be greater than or equal to the minimum value allowed. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** The value is already present through another selection. */ + ImplicitDuplicate = 'IMPLICIT_DUPLICATE', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** Unexpected internal error happened. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The `combinesWith` settings are invalid for the discount class. */ + InvalidCombinesWithForDiscountClass = 'INVALID_COMBINES_WITH_FOR_DISCOUNT_CLASS', + /** The discountClass is invalid for the price rule. */ + InvalidDiscountClassForPriceRule = 'INVALID_DISCOUNT_CLASS_FOR_PRICE_RULE', + /** The input value should be less than the maximum value allowed. */ + LessThan = 'LESS_THAN', + /** The input value should be less than or equal to the maximum value allowed. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + /** The active period overlaps with too many other app-provided discounts. There's a limit on the number of app discounts that can be active at any given time. */ + MaxAppDiscounts = 'MAX_APP_DISCOUNTS', + /** Specify a minimum subtotal or a quantity, but not both. */ + MinimumSubtotalAndQuantityRangeBothPresent = 'MINIMUM_SUBTOTAL_AND_QUANTITY_RANGE_BOTH_PRESENT', + /** Missing a required argument. */ + MissingArgument = 'MISSING_ARGUMENT', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** Too many arguments provided. */ + TooManyArguments = 'TOO_MANY_ARGUMENTS', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** The value is outside of the allowed range. */ + ValueOutsideRange = 'VALUE_OUTSIDE_RANGE' +} + +/** The type used to target the items required for discount eligibility, or the items to which the application of a discount might apply. For example, for a customer to be eligible for a discount, they're required to add an item from a specified collection to their order. Alternatively, a customer might be required to add a specific product or product variant. When using this type to target which items the discount will apply to, the discount might apply to all items on the order, or to specific products and product variants, or items in a given collection. */ +export type DiscountItems = AllDiscountItems | DiscountCollections | DiscountProducts; + +/** The input fields for the items attached to a discount. You can specify the discount items by product ID or collection ID. */ +export type DiscountItemsInput = { + /** Whether all items should be selected. */ + all?: InputMaybe; + /** The collections that are attached to a discount. */ + collections?: InputMaybe; + /** The products and product variants that are attached to a discount. */ + products?: InputMaybe; +}; + +/** The minimum quantity of items required for the discount to apply. */ +export type DiscountMinimumQuantity = { + __typename?: 'DiscountMinimumQuantity'; + /** The minimum quantity of items that's required for the discount to be applied. */ + greaterThanOrEqualToQuantity: Scalars['UnsignedInt64']['output']; +}; + +/** The input fields for the minimum quantity required for the discount. */ +export type DiscountMinimumQuantityInput = { + /** The minimum quantity of items that's required for the discount to be applied. */ + greaterThanOrEqualToQuantity?: InputMaybe; +}; + +/** The type of minimum requirement that must be met for the discount to be applied. For example, a customer must spend a minimum subtotal to be eligible for the discount. Alternatively, a customer must purchase a minimum quantity of items to be eligible for the discount. */ +export type DiscountMinimumRequirement = DiscountMinimumQuantity | DiscountMinimumSubtotal; + +/** The input fields for the minimum quantity or subtotal required for a discount. */ +export type DiscountMinimumRequirementInput = { + /** The minimum required quantity. */ + quantity?: InputMaybe; + /** The minimum required subtotal. */ + subtotal?: InputMaybe; +}; + +/** The minimum subtotal required for the discount to apply. */ +export type DiscountMinimumSubtotal = { + __typename?: 'DiscountMinimumSubtotal'; + /** The minimum subtotal that's required for the discount to be applied. */ + greaterThanOrEqualToSubtotal: MoneyV2; +}; + +/** The input fields for the minimum subtotal required for a discount. */ +export type DiscountMinimumSubtotalInput = { + /** The minimum subtotal that's required for the discount to be applied. */ + greaterThanOrEqualToSubtotal?: InputMaybe; +}; + +/** A discount wrapper node. */ +export type DiscountNode = HasEvents & HasMetafieldDefinitions & HasMetafields & Node & { + __typename?: 'DiscountNode'; + /** A discount. */ + discount: Discount; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; +}; + + +/** A discount wrapper node. */ +export type DiscountNodeEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A discount wrapper node. */ +export type DiscountNodeMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A discount wrapper node. */ +export type DiscountNodeMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A discount wrapper node. */ +export type DiscountNodeMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A discount wrapper node. */ +export type DiscountNodePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A discount wrapper node. */ +export type DiscountNodePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple DiscountNodes. */ +export type DiscountNodeConnection = { + __typename?: 'DiscountNodeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountNodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DiscountNode and a cursor during pagination. */ +export type DiscountNodeEdge = { + __typename?: 'DiscountNodeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountNodeEdge. */ + node: DiscountNode; +}; + +/** The quantity of items discounted, the discount value, and how the discount will be applied. */ +export type DiscountOnQuantity = { + __typename?: 'DiscountOnQuantity'; + /** The discount's effect on qualifying items. */ + effect: DiscountEffect; + /** The number of items being discounted. The customer must have at least this many items of specified products or product variants in their order to be eligible for the discount. */ + quantity: DiscountQuantity; +}; + +/** The input fields for the quantity of items discounted and the discount value. */ +export type DiscountOnQuantityInput = { + /** The percentage value of the discount. */ + effect?: InputMaybe; + /** The quantity of items that are discounted. */ + quantity?: InputMaybe; +}; + +/** A discount effect that gives customers a percentage off of specified items on their order. */ +export type DiscountPercentage = { + __typename?: 'DiscountPercentage'; + /** The percentage value of the discount. */ + percentage: Scalars['Float']['output']; +}; + +/** A list of products and product variants that the discount can have as a prerequisite or a list of products and product variants to which the discount can be applied. */ +export type DiscountProducts = { + __typename?: 'DiscountProducts'; + /** The list of product variants that the discount can have as a prerequisite or the list of product variants to which the discount can be applied. */ + productVariants: ProductVariantConnection; + /** The list of products that the discount can have as a prerequisite or the list of products to which the discount can be applied. */ + products: ProductConnection; +}; + + +/** A list of products and product variants that the discount can have as a prerequisite or a list of products and product variants to which the discount can be applied. */ +export type DiscountProductsProductVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A list of products and product variants that the discount can have as a prerequisite or a list of products and product variants to which the discount can be applied. */ +export type DiscountProductsProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The input fields for the products and product variants attached to a discount. */ +export type DiscountProductsInput = { + /** Specifies list of product variant ids to add. */ + productVariantsToAdd?: InputMaybe>; + /** Specifies list of product variant ids to remove. */ + productVariantsToRemove?: InputMaybe>; + /** Specifies list of product ids to add. */ + productsToAdd?: InputMaybe>; + /** Specifies list of product ids to remove. */ + productsToRemove?: InputMaybe>; +}; + +/** A purchase amount in the context of a discount. This object can be used to define the minimum purchase amount required for a discount to be applicable. */ +export type DiscountPurchaseAmount = { + __typename?: 'DiscountPurchaseAmount'; + /** The purchase amount in decimal format. */ + amount: Scalars['Decimal']['output']; +}; + +/** A quantity of items in the context of a discount. This object can be used to define the minimum quantity of items required to apply a discount. Alternatively, it can be used to define the quantity of items that can be discounted. */ +export type DiscountQuantity = { + __typename?: 'DiscountQuantity'; + /** The quantity of items. */ + quantity: Scalars['UnsignedInt64']['output']; +}; + +/** A code that a customer can use at checkout to receive a discount. For example, a customer can use the redeem code 'SUMMER20' at checkout to receive a 20% discount on their entire order. */ +export type DiscountRedeemCode = { + __typename?: 'DiscountRedeemCode'; + /** The number of times that the discount redeem code has been used. This value is updated asynchronously and can be different than the actual usage count. */ + asyncUsageCount: Scalars['Int']['output']; + /** The code that a customer can use at checkout to receive a discount. */ + code: Scalars['String']['output']; + /** The application that created the discount redeem code. */ + createdBy?: Maybe; + /** A globally-unique ID of the discount redeem code. */ + id: Scalars['ID']['output']; +}; + +/** Return type for `discountRedeemCodeBulkAdd` mutation. */ +export type DiscountRedeemCodeBulkAddPayload = { + __typename?: 'DiscountRedeemCodeBulkAddPayload'; + /** The ID of the discount redeem code bulk creation operation. The properties and status of the operation can be tracked using the [`DiscountRedeemCodeBulkCreation` query](https://shopify.dev/api/admin-graphql/2022-04/queries/discountRedeemCodeBulkCreation). */ + bulkCreation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The properties and status of a bulk discount redeem code creation operation. */ +export type DiscountRedeemCodeBulkCreation = Node & { + __typename?: 'DiscountRedeemCodeBulkCreation'; + /** The result of each code creation operation associated with the bulk creation operation including any errors that might have occurred during the operation. */ + codes: DiscountRedeemCodeBulkCreationCodeConnection; + /** The number of codes to create. */ + codesCount: Scalars['Int']['output']; + /** The date and time when the bulk creation was created. */ + createdAt: Scalars['DateTime']['output']; + /** The code discount associated with the created codes. */ + discountCode?: Maybe; + /** Whether the bulk creation is still queued (`false`) or has been run (`true`). */ + done: Scalars['Boolean']['output']; + /** The number of codes that weren't created successfully. */ + failedCount: Scalars['Int']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The number of codes created successfully. */ + importedCount: Scalars['Int']['output']; +}; + + +/** The properties and status of a bulk discount redeem code creation operation. */ +export type DiscountRedeemCodeBulkCreationCodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** A result of a discount redeem code creation operation created by a bulk creation. */ +export type DiscountRedeemCodeBulkCreationCode = { + __typename?: 'DiscountRedeemCodeBulkCreationCode'; + /** The code to use in the discount redeem code creation operation. */ + code: Scalars['String']['output']; + /** + * The successfully created discount redeem code. + * + * If the discount redeem code couldn't be created, then this field is `null``. + */ + discountRedeemCode?: Maybe; + /** A list of errors that occurred during the creation operation of the discount redeem code. */ + errors: Array; +}; + +/** An auto-generated type for paginating through multiple DiscountRedeemCodeBulkCreationCodes. */ +export type DiscountRedeemCodeBulkCreationCodeConnection = { + __typename?: 'DiscountRedeemCodeBulkCreationCodeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountRedeemCodeBulkCreationCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DiscountRedeemCodeBulkCreationCode and a cursor during pagination. */ +export type DiscountRedeemCodeBulkCreationCodeEdge = { + __typename?: 'DiscountRedeemCodeBulkCreationCodeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountRedeemCodeBulkCreationCodeEdge. */ + node: DiscountRedeemCodeBulkCreationCode; +}; + +/** An auto-generated type for paginating through multiple DiscountRedeemCodes. */ +export type DiscountRedeemCodeConnection = { + __typename?: 'DiscountRedeemCodeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DiscountRedeemCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DiscountRedeemCode and a cursor during pagination. */ +export type DiscountRedeemCodeEdge = { + __typename?: 'DiscountRedeemCodeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DiscountRedeemCodeEdge. */ + node: DiscountRedeemCode; +}; + +/** The input fields for the redeem code to attach to a discount. */ +export type DiscountRedeemCodeInput = { + /** The code that a customer can use at checkout to receive the associated discount. */ + code: Scalars['String']['input']; +}; + +/** A shareable URL for a discount code. */ +export type DiscountShareableUrl = { + __typename?: 'DiscountShareableUrl'; + /** The image URL of the item (product or collection) to which the discount applies. */ + targetItemImage?: Maybe; + /** The type of page that's associated with the URL. */ + targetType: DiscountShareableUrlTargetType; + /** The title of the page that's associated with the URL. */ + title: Scalars['String']['output']; + /** The URL for the discount code. */ + url: Scalars['URL']['output']; +}; + +/** The type of page where a shareable discount URL lands. */ +export enum DiscountShareableUrlTargetType { + /** The URL lands on a collection page. */ + Collection = 'COLLECTION', + /** The URL lands on a home page. */ + Home = 'HOME', + /** The URL lands on a product page. */ + Product = 'PRODUCT' +} + +/** The type used to target the eligible countries of an order's shipping destination for which the discount applies. For example, the discount might be applicable when shipping to all countries, or only to a set of countries. */ +export type DiscountShippingDestinationSelection = DiscountCountries | DiscountCountryAll; + +/** The input fields for the destinations where the free shipping discount will be applied. */ +export type DiscountShippingDestinationSelectionInput = { + /** Whether the discount code applies to all countries. */ + all?: InputMaybe; + /** A list of countries where the discount code will apply. */ + countries?: InputMaybe; +}; + +/** The set of valid sort keys for the Discount query. */ +export enum DiscountSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `ends_at` value. */ + EndsAt = 'ENDS_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `starts_at` value. */ + StartsAt = 'STARTS_AT', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** The status of the discount. */ +export enum DiscountStatus { + /** The discount is active. */ + Active = 'ACTIVE', + /** The discount is expired. */ + Expired = 'EXPIRED', + /** The discount is scheduled when it has a start date in the future. */ + Scheduled = 'SCHEDULED' +} + +/** The type of line (line item or shipping line) on an order that the subscription discount is applicable towards. */ +export enum DiscountTargetType { + /** The discount applies onto line items. */ + LineItem = 'LINE_ITEM', + /** The discount applies onto shipping lines. */ + ShippingLine = 'SHIPPING_LINE' +} + +/** The type of the subscription discount. */ +export enum DiscountType { + /** Automatic discount type. */ + AutomaticDiscount = 'AUTOMATIC_DISCOUNT', + /** Code discount type. */ + CodeDiscount = 'CODE_DISCOUNT', + /** Manual discount type. */ + Manual = 'MANUAL' +} + +/** An error that occurs during the execution of a discount mutation. */ +export type DiscountUserError = DisplayableError & { + __typename?: 'DiscountUserError'; + /** The error code. */ + code?: Maybe; + /** Extra information about this error. */ + extraInfo?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Represents an error in the input of a mutation. */ +export type DisplayableError = { + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Return type for `disputeEvidenceUpdate` mutation. */ +export type DisputeEvidenceUpdatePayload = { + __typename?: 'DisputeEvidenceUpdatePayload'; + /** The updated dispute evidence. */ + disputeEvidence?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `DisputeEvidenceUpdate`. */ +export type DisputeEvidenceUpdateUserError = DisplayableError & { + __typename?: 'DisputeEvidenceUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `DisputeEvidenceUpdateUserError`. */ +export enum DisputeEvidenceUpdateUserErrorCode { + /** Dispute evidence could not be found. */ + DisputeEvidenceNotFound = 'DISPUTE_EVIDENCE_NOT_FOUND', + /** Evidence already accepted. */ + EvidenceAlreadyAccepted = 'EVIDENCE_ALREADY_ACCEPTED', + /** Evidence past due date. */ + EvidencePastDueDate = 'EVIDENCE_PAST_DUE_DATE', + /** Combined files size is too large. */ + FilesSizeExceededLimit = 'FILES_SIZE_EXCEEDED_LIMIT', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Individual file size is too large. */ + TooLarge = 'TOO_LARGE' +} + +/** The possible statuses of a dispute. */ +export enum DisputeStatus { + Accepted = 'ACCEPTED', + /** + * Status previously used by Stripe to indicate that a dispute led to a refund. + * @deprecated CHARGE_REFUNDED is no longer supported. + */ + ChargeRefunded = 'CHARGE_REFUNDED', + Lost = 'LOST', + NeedsResponse = 'NEEDS_RESPONSE', + UnderReview = 'UNDER_REVIEW', + Won = 'WON' +} + +/** The possible types for a dispute. */ +export enum DisputeType { + /** The dispute has turned into a chargeback. */ + Chargeback = 'CHARGEBACK', + /** The dispute is in the inquiry phase. */ + Inquiry = 'INQUIRY' +} + +/** A unique string that represents the address of a Shopify store on the Internet. */ +export type Domain = Node & { + __typename?: 'Domain'; + /** The host name of the domain. For example, `example.com`. */ + host: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The localization of the domain, if the domain doesn't redirect. */ + localization?: Maybe; + /** The web presence of the domain. */ + marketWebPresence?: Maybe; + /** Whether SSL is enabled. */ + sslEnabled: Scalars['Boolean']['output']; + /** The URL of the domain (for example, `https://example.com`). */ + url: Scalars['URL']['output']; +}; + +/** The country and language settings assigned to a domain. */ +export type DomainLocalization = { + __typename?: 'DomainLocalization'; + /** The ISO codes for the domain’s alternate locales. For example, `["en"]`. */ + alternateLocales: Array; + /** The ISO code for the country assigned to the domain. For example, `"CA"` or "*" for a domain set to "Rest of world". */ + country?: Maybe; + /** The ISO code for the domain’s default locale. For example, `"en"`. */ + defaultLocale: Scalars['String']['output']; +}; + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrder = CommentEventSubject & HasEvents & HasLocalizationExtensions & HasMetafields & LegacyInteroperability & Navigable & Node & { + __typename?: 'DraftOrder'; + /** + * Whether or not to accept automatic discounts on the draft order during calculation. + * If false, only discount codes and custom draft order discounts (see `appliedDiscount`) will be applied. + * If true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts. + */ + acceptAutomaticDiscounts?: Maybe; + /** Whether discount codes are allowed during checkout of this draft order. */ + allowDiscountCodesInCheckout: Scalars['Boolean']['output']; + /** The custom order-level discount applied. */ + appliedDiscount?: Maybe; + /** The billing address of the customer. */ + billingAddress?: Maybe; + /** Whether the billing address matches the shipping address. */ + billingAddressMatchesShippingAddress: Scalars['Boolean']['output']; + /** + * The date and time when the draft order was converted to a new order, + * and had it's status changed to **Completed**. + */ + completedAt?: Maybe; + /** The date and time when the draft order was created in Shopify. */ + createdAt: Scalars['DateTime']['output']; + /** The shop currency used for calculation. */ + currencyCode: CurrencyCode; + /** The custom information added to the draft order on behalf of the customer. */ + customAttributes: Array; + /** The customer who will be sent an invoice. */ + customer?: Maybe; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** All discount codes applied. */ + discountCodes: Array; + /** The email address of the customer, which is used to send notifications. */ + email?: Maybe; + /** The list of events associated with the draft order. */ + events: EventConnection; + /** Whether the merchant has added timeline comments to the draft order. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The subject defined for the draft invoice email template. */ + invoiceEmailTemplateSubject: Scalars['String']['output']; + /** The date and time when the invoice was last emailed to the customer. */ + invoiceSentAt?: Maybe; + /** The link to the checkout, which is sent to the customer in the invoice email. */ + invoiceUrl?: Maybe; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The list of the line items in the draft order. */ + lineItems: DraftOrderLineItemConnection; + /** + * A subtotal of the line items and corresponding discounts, + * excluding include shipping charges, shipping discounts, taxes, or order discounts. + */ + lineItemsSubtotalPrice: MoneyBag; + /** List of localization extensions for the resource. */ + localizationExtensions: LocalizationExtensionConnection; + /** The name of the selected market. */ + marketName: Scalars['String']['output']; + /** The selected country code that determines the pricing. */ + marketRegionCountryCode: CountryCode; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The identifier for the draft order, which is unique within the store. For example, _#D1223_. */ + name: Scalars['String']['output']; + /** The text from an optional note attached to the draft order. */ + note2?: Maybe; + /** The order that was created from the draft order. */ + order?: Maybe; + /** The associated payment terms for this draft order. */ + paymentTerms?: Maybe; + /** The assigned phone number. */ + phone?: Maybe; + /** The list of platform discounts applied. */ + platformDiscounts: Array; + /** The purchase order number. */ + poNumber?: Maybe; + /** The payment currency used for calculation. */ + presentmentCurrencyCode: CurrencyCode; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The purchasing entity. */ + purchasingEntity?: Maybe; + /** + * Whether the draft order is ready and can be completed. + * Draft orders might have asynchronous operations that can take time to finish. + */ + ready: Scalars['Boolean']['output']; + /** The time after which inventory will automatically be restocked. */ + reserveInventoryUntil?: Maybe; + /** The shipping address of the customer. */ + shippingAddress?: Maybe; + /** The line item containing the shipping information and costs. */ + shippingLine?: Maybe; + /** The status of the draft order. */ + status: DraftOrderStatus; + /** + * The subtotal, in shop currency, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes. + * @deprecated Use `subtotalPriceSet` instead. + */ + subtotalPrice: Scalars['Money']['output']; + /** The subtotal, of the line items and their discounts, excluding shipping charges, shipping discounts, and taxes. */ + subtotalPriceSet: MoneyBag; + /** + * The comma separated list of tags associated with the draft order. + * Updating `tags` overwrites any existing tags that were previously added to the draft order. + * To add new tags without overwriting existing tags, use the [tagsAdd](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) mutation. + */ + tags: Array; + /** Whether the draft order is tax exempt. */ + taxExempt: Scalars['Boolean']['output']; + /** The list of of taxes lines charged for each line item and shipping line. */ + taxLines: Array; + /** Whether the line item prices include taxes. */ + taxesIncluded: Scalars['Boolean']['output']; + /** Total discounts. */ + totalDiscountsSet: MoneyBag; + /** Total price of line items. */ + totalLineItemsPriceSet: MoneyBag; + /** + * The total price, in shop currency, includes taxes, shipping charges, and discounts. + * @deprecated Use `totalPriceSet` instead. + */ + totalPrice: Scalars['Money']['output']; + /** The total price, includes taxes, shipping charges, and discounts. */ + totalPriceSet: MoneyBag; + /** + * The sum of individual line item quantities. + * If the draft order has bundle items, this is the sum containing the quantities of individual items in the bundle. + */ + totalQuantityOfLineItems: Scalars['Int']['output']; + /** + * The total shipping price in shop currency. + * @deprecated Use `totalShippingPriceSet` instead. + */ + totalShippingPrice: Scalars['Money']['output']; + /** The total shipping price. */ + totalShippingPriceSet: MoneyBag; + /** + * The total tax in shop currency. + * @deprecated Use `totalTaxSet` instead. + */ + totalTax: Scalars['Money']['output']; + /** The total tax. */ + totalTaxSet: MoneyBag; + /** The total weight in grams of the draft order. */ + totalWeight: Scalars['UnsignedInt64']['output']; + /** + * Fingerprint of the current cart. + * In order to have bundles work, the fingerprint must be passed to + * each request as it was previously returned, unmodified. + */ + transformerFingerprint?: Maybe; + /** + * The date and time when the draft order was last changed. + * The format is YYYY-MM-DD HH:mm:ss. For example, 2016-02-05 17:04:01. + */ + updatedAt: Scalars['DateTime']['output']; + /** Whether the draft order will be visible to the customer on the self-serve portal. */ + visibleToCustomer: Scalars['Boolean']['output']; + /** The list of warnings raised while calculating. */ + warnings: Array; +}; + + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrderEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrderLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrderLocalizationExtensionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + countryCodes?: InputMaybe>; + first?: InputMaybe; + last?: InputMaybe; + purposes?: InputMaybe>; + reverse?: InputMaybe; +}; + + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrderMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrderMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrderPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * An order that a merchant creates on behalf of a customer. Draft orders are useful for merchants that need to do the following tasks: + * + * - Create new orders for sales made by phone, in person, by chat, or elsewhere. When a merchant accepts payment for a draft order, an order is created. + * - Send invoices to customers to pay with a secure checkout link. + * - Use custom items to represent additional costs or products that aren't displayed in a shop's inventory. + * - Re-create orders manually from active sales channels. + * - Sell products at discount or wholesale rates. + * - Take pre-orders. + * - Save an order as a draft and resume working on it later. + * + * For draft orders in multiple currencies `presentment_money` is the source of truth for what a customer is going to be charged and `shop_money` is an estimate of what the merchant might receive in their shop currency. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type DraftOrderPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The order-level discount applied to a draft order. */ +export type DraftOrderAppliedDiscount = { + __typename?: 'DraftOrderAppliedDiscount'; + /** + * Amount of the order-level discount that's applied to the draft order in shop currency. + * @deprecated Use `amountSet` instead. + */ + amount: Scalars['Money']['output']; + /** The amount of money discounted, with values shown in both shop currency and presentment currency. */ + amountSet: MoneyBag; + /** + * Amount of money discounted. + * @deprecated Use `amountSet` instead. + */ + amountV2: MoneyV2; + /** Description of the order-level discount. */ + description: Scalars['String']['output']; + /** Name of the order-level discount. */ + title?: Maybe; + /** + * The order level discount amount. If `valueType` is `"percentage"`, + * then `value` is the percentage discount. + */ + value: Scalars['Float']['output']; + /** Type of the order-level discount. */ + valueType: DraftOrderAppliedDiscountType; +}; + +/** The input fields for applying an order-level discount to a draft order. */ +export type DraftOrderAppliedDiscountInput = { + /** The applied amount of the discount in the specified currency. */ + amountWithCurrency?: InputMaybe; + /** Reason for the discount. */ + description?: InputMaybe; + /** Title of the discount. */ + title?: InputMaybe; + /** + * The value of the discount. + * If the type of the discount is fixed amount, then this is a fixed amount in your shop currency. + * If the type is percentage, then this is the percentage. + */ + value: Scalars['Float']['input']; + /** The type of discount. */ + valueType: DraftOrderAppliedDiscountType; +}; + +/** The valid discount types that can be applied to a draft order. */ +export enum DraftOrderAppliedDiscountType { + /** A fixed amount in the store's currency. */ + FixedAmount = 'FIXED_AMOUNT', + /** A percentage of the order subtotal. */ + Percentage = 'PERCENTAGE' +} + +/** Return type for `draftOrderBulkAddTags` mutation. */ +export type DraftOrderBulkAddTagsPayload = { + __typename?: 'DraftOrderBulkAddTagsPayload'; + /** The asynchronous job for adding tags to the draft orders. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `draftOrderBulkDelete` mutation. */ +export type DraftOrderBulkDeletePayload = { + __typename?: 'DraftOrderBulkDeletePayload'; + /** The asynchronous job for deleting the draft orders. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `draftOrderBulkRemoveTags` mutation. */ +export type DraftOrderBulkRemoveTagsPayload = { + __typename?: 'DraftOrderBulkRemoveTagsPayload'; + /** The asynchronous job for removing tags from the draft orders. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A warning indicating that a bundle was added to a draft order. */ +export type DraftOrderBundleAddedWarning = DraftOrderWarning & { + __typename?: 'DraftOrderBundleAddedWarning'; + /** The error code. */ + errorCode: Scalars['String']['output']; + /** The input field that the warning applies to. */ + field: Scalars['String']['output']; + /** The warning message. */ + message: Scalars['String']['output']; +}; + +/** Return type for `draftOrderCalculate` mutation. */ +export type DraftOrderCalculatePayload = { + __typename?: 'DraftOrderCalculatePayload'; + /** The calculated properties for a draft order. */ + calculatedDraftOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `draftOrderComplete` mutation. */ +export type DraftOrderCompletePayload = { + __typename?: 'DraftOrderCompletePayload'; + /** The completed draft order. */ + draftOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple DraftOrders. */ +export type DraftOrderConnection = { + __typename?: 'DraftOrderConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DraftOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `draftOrderCreateFromOrder` mutation. */ +export type DraftOrderCreateFromOrderPayload = { + __typename?: 'DraftOrderCreateFromOrderPayload'; + /** The created draft order. */ + draftOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `draftOrderCreateMerchantCheckout` mutation. */ +export type DraftOrderCreateMerchantCheckoutPayload = { + __typename?: 'DraftOrderCreateMerchantCheckoutPayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `draftOrderCreate` mutation. */ +export type DraftOrderCreatePayload = { + __typename?: 'DraftOrderCreatePayload'; + /** The created draft order. */ + draftOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to specify the draft order to delete by its ID. */ +export type DraftOrderDeleteInput = { + /** The ID of the draft order to delete. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `draftOrderDelete` mutation. */ +export type DraftOrderDeletePayload = { + __typename?: 'DraftOrderDeletePayload'; + /** The ID of the deleted draft order. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A warning indicating that a discount cannot be applied to a draft order. */ +export type DraftOrderDiscountNotAppliedWarning = DraftOrderWarning & { + __typename?: 'DraftOrderDiscountNotAppliedWarning'; + /** The code of the discount that can't be applied. */ + discountCode?: Maybe; + /** The title of the discount that can't be applied. */ + discountTitle?: Maybe; + /** The error code. */ + errorCode: Scalars['String']['output']; + /** The input field that the warning applies to. */ + field: Scalars['String']['output']; + /** The warning message. */ + message: Scalars['String']['output']; + /** The price rule that can't be applied. */ + priceRule?: Maybe; +}; + +/** Return type for `draftOrderDuplicate` mutation. */ +export type DraftOrderDuplicatePayload = { + __typename?: 'DraftOrderDuplicatePayload'; + /** The newly duplicated draft order. */ + draftOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one DraftOrder and a cursor during pagination. */ +export type DraftOrderEdge = { + __typename?: 'DraftOrderEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DraftOrderEdge. */ + node: DraftOrder; +}; + +/** The input fields used to create or update a draft order. */ +export type DraftOrderInput = { + /** + * Whether or not to accept automatic discounts on the draft order during calculation. + * If false, only discount codes and custom draft order discounts (see `appliedDiscount`) will be applied. + * If true, eligible automatic discounts will be applied in addition to discount codes and custom draft order discounts. + */ + acceptAutomaticDiscounts?: InputMaybe; + /** Whether discount codes are allowed during checkout of this draft order. */ + allowDiscountCodesInCheckout?: InputMaybe; + /** + * The discount that will be applied to the draft order. + * A draft order line item can have one discount. A draft order can also have one order-level discount. + */ + appliedDiscount?: InputMaybe; + /** The mailing address associated with the payment method. */ + billingAddress?: InputMaybe; + /** The extra information added to the customer. */ + customAttributes?: InputMaybe>; + /** + * The list of discount codes that will be attempted to be applied to the draft order. + * If the draft isn't eligible for any given discount code it will be skipped during calculation. + */ + discountCodes?: InputMaybe>; + /** The customer's email address. */ + email?: InputMaybe; + /** + * The list of product variant or custom line item. + * Each draft order must include at least one line item. + * + * NOTE: Draft orders don't currently support subscriptions. + */ + lineItems?: InputMaybe>; + /** The localization extensions attached to the draft order. For example, Tax IDs. */ + localizationExtensions?: InputMaybe>; + /** The selected country code that determines the pricing of the draft order. */ + marketRegionCountryCode?: InputMaybe; + /** The list of metafields attached to the draft order. An existing metafield can not be used when creating a draft order. */ + metafields?: InputMaybe>; + /** The text of an optional note that a shop owner can attach to the draft order. */ + note?: InputMaybe; + /** The fields used to create payment terms. */ + paymentTerms?: InputMaybe; + /** The customer's phone number. */ + phone?: InputMaybe; + /** The purchase order number. */ + poNumber?: InputMaybe; + /** The payment currency of the customer for this draft order. */ + presentmentCurrencyCode?: InputMaybe; + /** The purchasing entity for the draft order. */ + purchasingEntity?: InputMaybe; + /** The time after which inventory reservation will expire. */ + reserveInventoryUntil?: InputMaybe; + /** The unique token identifying the draft order. */ + sessionToken?: InputMaybe; + /** The mailing address to where the order will be shipped. */ + shippingAddress?: InputMaybe; + /** The shipping line object, which details the shipping method used. */ + shippingLine?: InputMaybe; + /** + * The source of the checkout. + * To use this field for sales attribution, you must register the channels that your app is managing. + * You can register the channels that your app is managing by completing + * [this Google Form](https://docs.google.com/forms/d/e/1FAIpQLScmVTZRQNjOJ7RD738mL1lGeFjqKVe_FM2tO9xsm21QEo5Ozg/viewform?usp=sf_link). + * After you've submitted your request, you need to wait for your request to be processed by Shopify. + * You can find a list of your channels in the Partner Dashboard, in your app's Marketplace extension. + * You need to specify the handle as the `source_name` value in your request. + * The handle is the channel that the order was placed from. + */ + sourceName?: InputMaybe; + /** A comma separated list of tags that have been added to the draft order. */ + tags?: InputMaybe>; + /** + * Whether or not taxes are exempt for the draft order. + * If false, then Shopify will refer to the taxable field for each line item. + * If a customer is applied to the draft order, then Shopify will use the customer's tax exempt field instead. + */ + taxExempt?: InputMaybe; + /** Fingerprint to guarantee bundles are handled correctly. */ + transformerFingerprint?: InputMaybe; + /** Whether to use the customer's default address. */ + useCustomerDefaultAddress?: InputMaybe; + /** Whether the draft order will be visible to the customer on the self-serve portal. */ + visibleToCustomer?: InputMaybe; +}; + +/** Return type for `draftOrderInvoicePreview` mutation. */ +export type DraftOrderInvoicePreviewPayload = { + __typename?: 'DraftOrderInvoicePreviewPayload'; + /** The draft order invoice email rendered as HTML to allow previewing. */ + previewHtml?: Maybe; + /** The subject preview for the draft order invoice email. */ + previewSubject?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `draftOrderInvoiceSend` mutation. */ +export type DraftOrderInvoiceSendPayload = { + __typename?: 'DraftOrderInvoiceSendPayload'; + /** The draft order an invoice email is sent for. */ + draftOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The line item for a draft order. */ +export type DraftOrderLineItem = Node & { + __typename?: 'DraftOrderLineItem'; + /** The custom applied discount. */ + appliedDiscount?: Maybe; + /** + * The `discountedTotal` divided by `quantity`, + * equal to the average value of the line item price per unit after discounts are applied. + * This value doesn't include discounts applied to the entire draft order. + */ + approximateDiscountedUnitPriceSet: MoneyBag; + /** The list of bundle components if applicable. */ + bundleComponents: Array; + /** Whether the line item is custom (`true`) or contains a product variant (`false`). */ + custom: Scalars['Boolean']['output']; + /** A list of attributes that represent custom features or special requests. */ + customAttributes: Array; + /** The list of additional information (metafields) with the associated types. */ + customAttributesV2: Array; + /** + * The line item price, in shop currency, after discounts are applied. + * @deprecated Use `discountedTotalSet` instead. + */ + discountedTotal: Scalars['Money']['output']; + /** The total price with discounts applied. */ + discountedTotalSet: MoneyBag; + /** + * The `discountedTotal` divided by `quantity`, equal to the value of the discount per unit in the shop currency. + * @deprecated Use `approximateDiscountedUnitPriceSet` instead. + */ + discountedUnitPrice: Scalars['Money']['output']; + /** + * The unit price with discounts applied. + * @deprecated Use `approximateDiscountedUnitPriceSet` instead. + */ + discountedUnitPriceSet: MoneyBag; + /** + * Name of the service provider who fulfilled the order. + * + * Valid values are either **manual** or the name of the provider. + * For example, **amazon**, **shipwire**. + * + * Deleted fulfillment services will return null. + */ + fulfillmentService?: Maybe; + /** + * The weight of the line item in grams. + * @deprecated Use `weight` instead. + */ + grams?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image of the product variant. */ + image?: Maybe; + /** Whether the line item represents the purchase of a gift card. */ + isGiftCard: Scalars['Boolean']['output']; + /** The name of the product. */ + name: Scalars['String']['output']; + /** + * The total price, in shop currency, excluding discounts, equal to the original unit price multiplied by quantity. + * @deprecated Use `originalTotalSet` instead. + */ + originalTotal: Scalars['Money']['output']; + /** The total price excluding discounts, equal to the original unit price multiplied by quantity. */ + originalTotalSet: MoneyBag; + /** + * The price, in shop currency, without any discounts applied. + * @deprecated Use `originalUnitPriceWithCurrency` instead. + */ + originalUnitPrice: Scalars['Money']['output']; + /** The price without any discounts applied. */ + originalUnitPriceSet: MoneyBag; + /** The original custom line item input price. */ + originalUnitPriceWithCurrency?: Maybe; + /** The product for the line item. */ + product?: Maybe; + /** + * The quantity of items. For a bundle item, this is the quantity of bundles, + * not the quantity of items contained in the bundles themselves. + */ + quantity: Scalars['Int']['output']; + /** Whether physical shipping is required for the variant. */ + requiresShipping: Scalars['Boolean']['output']; + /** The SKU number of the product variant. */ + sku?: Maybe; + /** A list of tax lines. */ + taxLines: Array; + /** Whether the variant is taxable. */ + taxable: Scalars['Boolean']['output']; + /** The title of the product or variant. This field only applies to custom line items. */ + title: Scalars['String']['output']; + /** + * The total discount applied in shop currency. + * @deprecated Use `totalDiscountSet` instead. + */ + totalDiscount: Scalars['Money']['output']; + /** The total discount amount. */ + totalDiscountSet: MoneyBag; + /** + * The UUID of the draft order line item. Must be unique and consistent across requests. + * This field is mandatory in order to manipulate drafts with bundles. + */ + uuid: Scalars['String']['output']; + /** The product variant for the line item. */ + variant?: Maybe; + /** The name of the variant. */ + variantTitle?: Maybe; + /** The name of the vendor who created the product variant. */ + vendor?: Maybe; + /** The weight unit and value. */ + weight?: Maybe; +}; + +/** An auto-generated type for paginating through multiple DraftOrderLineItems. */ +export type DraftOrderLineItemConnection = { + __typename?: 'DraftOrderLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in DraftOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one DraftOrderLineItem and a cursor during pagination. */ +export type DraftOrderLineItemEdge = { + __typename?: 'DraftOrderLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of DraftOrderLineItemEdge. */ + node: DraftOrderLineItem; +}; + +/** The input fields for a line item included in a draft order. */ +export type DraftOrderLineItemInput = { + /** The custom discount to be applied. */ + appliedDiscount?: InputMaybe; + /** The bundle components when the line item is a bundle. */ + bundleComponents?: InputMaybe>; + /** A generic custom attribute using a key value pair. */ + customAttributes?: InputMaybe>; + /** + * The price in presentment currency, without any discounts applied, for a custom line item. + * If this value is provided, `original_unit_price` will be ignored. This field is ignored when `variantId` is provided. + * Note: All presentment currencies for a single draft should be the same and match the + * presentment currency of the draft order. + */ + originalUnitPriceWithCurrency?: InputMaybe; + /** The line item quantity. */ + quantity: Scalars['Int']['input']; + /** Whether physical shipping is required for a custom line item. This field is ignored when `variantId` is provided. */ + requiresShipping?: InputMaybe; + /** The SKU number for custom line items only. This field is ignored when `variantId` is provided. */ + sku?: InputMaybe; + /** Whether the custom line item is taxable. This field is ignored when `variantId` is provided. */ + taxable?: InputMaybe; + /** Title of the line item. This field is ignored when `variantId` is provided. */ + title?: InputMaybe; + /** + * The UUID of the draft order line item. Must be unique and consistent across requests. + * This field is mandatory in order to manipulate drafts with bundles. + */ + uuid?: InputMaybe; + /** + * The ID of the product variant corresponding to the line item. + * Must be null for custom line items, otherwise required. + */ + variantId?: InputMaybe; + /** + * The weight unit and value inputs for custom line items only. + * This field is ignored when `variantId` is provided. + */ + weight?: InputMaybe; +}; + +/** The platform discounts applied to the draft order. */ +export type DraftOrderPlatformDiscount = { + __typename?: 'DraftOrderPlatformDiscount'; + /** Price reduction allocations across the draft order's lines. */ + allocations: Array; + /** Whether the discount is an automatic discount. */ + automaticDiscount: Scalars['Boolean']['output']; + /** Whether the discount is a buy x get y discount. */ + bxgyDiscount: Scalars['Boolean']['output']; + /** If a code-based discount, the code used to add the discount. */ + code?: Maybe; + /** The discount class. */ + discountClass: DiscountClass; + /** The discount node for the platform discount. */ + discountNode?: Maybe; + /** The ID of the discount. */ + id?: Maybe; + /** Whether the discount is line, order or shipping level. */ + presentationLevel: Scalars['String']['output']; + /** The short summary of the discount. */ + shortSummary: Scalars['String']['output']; + /** The summary of the discount. */ + summary: Scalars['String']['output']; + /** The name of the discount. */ + title: Scalars['String']['output']; + /** The discount total amount in shop currency. */ + totalAmount: MoneyV2; + /** The amount of money discounted, with values shown in both shop currency and presentment currency. */ + totalAmountPriceSet: MoneyBag; +}; + +/** Price reduction allocations across the draft order's lines. */ +export type DraftOrderPlatformDiscountAllocation = { + __typename?: 'DraftOrderPlatformDiscountAllocation'; + /** The ID of the allocation. */ + id?: Maybe; + /** The quantity of the target being discounted. */ + quantity?: Maybe; + /** Amount of the discount allocated to the target. */ + reductionAmount: MoneyV2; + /** Amount of the discount allocated to the target in both shop currency and presentment currency. */ + reductionAmountSet: MoneyBag; + /** The element of the draft being discounted. */ + target?: Maybe; +}; + +/** The element of the draft being discounted. */ +export type DraftOrderPlatformDiscountAllocationTarget = CalculatedDraftOrderLineItem | DraftOrderLineItem | ShippingLine; + +/** The set of valid sort keys for the DraftOrder query. */ +export enum DraftOrderSortKeys { + /** Sort by the `customer_name` value. */ + CustomerName = 'CUSTOMER_NAME', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `number` value. */ + Number = 'NUMBER', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `status` value. */ + Status = 'STATUS', + /** Sort by the `total_price` value. */ + TotalPrice = 'TOTAL_PRICE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** The valid statuses for a draft order. */ +export enum DraftOrderStatus { + /** The draft order has been paid. */ + Completed = 'COMPLETED', + /** An invoice for the draft order has been sent to the customer. */ + InvoiceSent = 'INVOICE_SENT', + /** The draft order is open. It has not been paid, and an invoice hasn't been sent. */ + Open = 'OPEN' +} + +/** Represents a draft order tag. */ +export type DraftOrderTag = Node & { + __typename?: 'DraftOrderTag'; + /** Handle of draft order tag. */ + handle: Scalars['String']['output']; + /** ID of draft order tag. */ + id: Scalars['ID']['output']; + /** Title of draft order tag. */ + title: Scalars['String']['output']; +}; + +/** Return type for `draftOrderUpdate` mutation. */ +export type DraftOrderUpdatePayload = { + __typename?: 'DraftOrderUpdatePayload'; + /** The updated draft order. */ + draftOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A warning that is displayed to the merchant when a change is made to a draft order. */ +export type DraftOrderWarning = { + /** The error code. */ + errorCode: Scalars['String']['output']; + /** The input field that the warning applies to. */ + field: Scalars['String']['output']; + /** The warning message. */ + message: Scalars['String']['output']; +}; + +/** The duty details for a line item. */ +export type Duty = Node & { + __typename?: 'Duty'; + /** The ISO 3166-1 alpha-2 country code of the country of origin used in calculating the duty. */ + countryCodeOfOrigin?: Maybe; + /** The harmonized system code of the item used in calculating the duty. */ + harmonizedSystemCode?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The amount of the duty. */ + price: MoneyBag; + /** A list of taxes charged on the duty. */ + taxLines: Array; +}; + +/** A sale associated with a duty charge. */ +export type DutySale = Sale & { + __typename?: 'DutySale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The duty for the associated sale. */ + duty: Duty; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** The attribute editable information. */ +export type EditableProperty = { + __typename?: 'EditableProperty'; + /** Whether the attribute is locked for editing. */ + locked: Scalars['Boolean']['output']; + /** The reason the attribute is locked for editing. */ + reason?: Maybe; +}; + +/** The input fields for an email. */ +export type EmailInput = { + /** Specifies any bcc recipients for the email. */ + bcc?: InputMaybe>; + /** Specifies the email body. */ + body?: InputMaybe; + /** Specifies a custom message to include in the email. */ + customMessage?: InputMaybe; + /** Specifies the email sender. */ + from?: InputMaybe; + /** Specifies the email subject. */ + subject?: InputMaybe; + /** Specifies the email recipient. */ + to?: InputMaybe; +}; + +/** An error that occurs during the execution of a server pixel mutation. */ +export type ErrorsServerPixelUserError = DisplayableError & { + __typename?: 'ErrorsServerPixelUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ErrorsServerPixelUserError`. */ +export enum ErrorsServerPixelUserErrorCode { + /** A server pixel already exists for this app and shop. Only one server pixel can exist for any app and shop combination. */ + AlreadyExists = 'ALREADY_EXISTS', + /** Server Pixel must be configured with a valid AWS Event Bridge or GCP pub/sub endpoint address to be connected. */ + NeedsConfigurationToConnect = 'NEEDS_CONFIGURATION_TO_CONNECT', + /** A server pixel doesn't exist for this app and shop. */ + NotFound = 'NOT_FOUND', + /** PubSubProject and PubSubTopic values resulted in an address that is not a valid GCP pub/sub format.Address format should be pubsub://project:topic. */ + PubSubError = 'PUB_SUB_ERROR' +} + +/** An error that occurs during the execution of a web pixel mutation. */ +export type ErrorsWebPixelUserError = DisplayableError & { + __typename?: 'ErrorsWebPixelUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ErrorsWebPixelUserError`. */ +export enum ErrorsWebPixelUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** The provided settings does not match the expected settings definition on the app. */ + InvalidSettings = 'INVALID_SETTINGS', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** + * An error occurred and the web pixel couldnt be deleted. + * @deprecated `UNABLE_TO_DELETE` is deprecated. Use `UNEXPECTED_ERROR` instead. + */ + UnableToDelete = 'UNABLE_TO_DELETE' +} + +/** + * Events chronicle resource activities such as the creation of an article, the fulfillment of an order, or the + * addition of a product. + */ +export type Event = { + /** The action that occured. */ + action: Scalars['String']['output']; + /** The name of the app that created the event. */ + appTitle?: Maybe; + /** Whether the event was created by an app. */ + attributeToApp: Scalars['Boolean']['output']; + /** Whether the event was caused by an admin user. */ + attributeToUser: Scalars['Boolean']['output']; + /** The date and time when the event was created. */ + createdAt: Scalars['DateTime']['output']; + /** Whether the event is critical. */ + criticalAlert: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Human readable text that describes the event. */ + message: Scalars['FormattedString']['output']; +}; + +/** Return type for `eventBridgeServerPixelUpdate` mutation. */ +export type EventBridgeServerPixelUpdatePayload = { + __typename?: 'EventBridgeServerPixelUpdatePayload'; + /** The server pixel as configured by the mutation. */ + serverPixel?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `eventBridgeWebhookSubscriptionCreate` mutation. */ +export type EventBridgeWebhookSubscriptionCreatePayload = { + __typename?: 'EventBridgeWebhookSubscriptionCreatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The webhook subscription that was created. */ + webhookSubscription?: Maybe; +}; + +/** The input fields for an EventBridge webhook subscription. */ +export type EventBridgeWebhookSubscriptionInput = { + /** The ARN of the EventBridge partner event source. */ + arn?: InputMaybe; + /** A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details. */ + filter?: InputMaybe; + /** The format in which the webhook subscription should send the data. */ + format?: InputMaybe; + /** The list of fields to be included in the webhook subscription. */ + includeFields?: InputMaybe>; + /** The list of namespaces for any metafields that should be included in the webhook subscription. */ + metafieldNamespaces?: InputMaybe>; +}; + +/** Return type for `eventBridgeWebhookSubscriptionUpdate` mutation. */ +export type EventBridgeWebhookSubscriptionUpdatePayload = { + __typename?: 'EventBridgeWebhookSubscriptionUpdatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The webhook subscription that was updated. */ + webhookSubscription?: Maybe; +}; + +/** An auto-generated type for paginating through multiple Events. */ +export type EventConnection = { + __typename?: 'EventConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in EventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one Event and a cursor during pagination. */ +export type EventEdge = { + __typename?: 'EventEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of EventEdge. */ + node: Event; +}; + +/** The set of valid sort keys for the Event query. */ +export enum EventSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The type of the resource that generated the event. */ +export enum EventSubjectType { + /** A Article resource generated the event. */ + Article = 'ARTICLE', + /** A Blog resource generated the event. */ + Blog = 'BLOG', + /** A Collection resource generated the event. */ + Collection = 'COLLECTION', + /** A Comment resource generated the event. */ + Comment = 'COMMENT', + /** A Company resource generated the event. */ + Company = 'COMPANY', + /** A CompanyLocation resource generated the event. */ + CompanyLocation = 'COMPANY_LOCATION', + /** A Customer resource generated the event. */ + Customer = 'CUSTOMER', + /** A DiscountAutomaticBxgy resource generated the event. */ + DiscountAutomaticBxgy = 'DISCOUNT_AUTOMATIC_BXGY', + /** A DiscountAutomaticNode resource generated the event. */ + DiscountAutomaticNode = 'DISCOUNT_AUTOMATIC_NODE', + /** A DiscountCodeNode resource generated the event. */ + DiscountCodeNode = 'DISCOUNT_CODE_NODE', + /** A DiscountNode resource generated the event. */ + DiscountNode = 'DISCOUNT_NODE', + /** A DraftOrder resource generated the event. */ + DraftOrder = 'DRAFT_ORDER', + /** A Order resource generated the event. */ + Order = 'ORDER', + /** A Page resource generated the event. */ + Page = 'PAGE', + /** A PriceRule resource generated the event. */ + PriceRule = 'PRICE_RULE', + /** A Product resource generated the event. */ + Product = 'PRODUCT', + /** A ProductVariant resource generated the event. */ + ProductVariant = 'PRODUCT_VARIANT', + /** + * Subject type is not available. This usually means that the subject isn't available in the current + * version of the API, using a newer API version may resolve this. + */ + Unknown = 'UNKNOWN' +} + +/** An item for exchange. */ +export type ExchangeLineItem = Node & { + __typename?: 'ExchangeLineItem'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The order line item for the exchange. */ + lineItem?: Maybe; +}; + +/** The input fields for an applied discount on a calculated exchange line item. */ +export type ExchangeLineItemAppliedDiscountInput = { + /** The description of the discount. */ + description?: InputMaybe; + /** The value of the discount as a fixed amount or a percentage. */ + value: ExchangeLineItemAppliedDiscountValueInput; +}; + +/** + * The input value for an applied discount on a calculated exchange line item. + * Can either specify the value as a fixed amount or a percentage. + */ +export type ExchangeLineItemAppliedDiscountValueInput = { + /** The value of the discount as a fixed amount. */ + amount?: InputMaybe; + /** The value of the discount as a percentage. */ + percentage?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple ExchangeLineItems. */ +export type ExchangeLineItemConnection = { + __typename?: 'ExchangeLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ExchangeLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ExchangeLineItem and a cursor during pagination. */ +export type ExchangeLineItemEdge = { + __typename?: 'ExchangeLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ExchangeLineItemEdge. */ + node: ExchangeLineItem; +}; + +/** The input fields for new line items to be added to the order as part of an exchange. */ +export type ExchangeLineItemInput = { + /** The discount to be applied to the exchange line item. */ + appliedDiscount?: InputMaybe; + /** The gift card codes associated with the physical gift cards. */ + giftCardCodes?: InputMaybe>; + /** The quantity of the item to be added. */ + quantity: Scalars['Int']['input']; + /** The ID of the product variant to be added to the order as part of an exchange. */ + variantId?: InputMaybe; +}; + +/** An exchange where existing items on an order are returned and new items are added to the order. */ +export type ExchangeV2 = Node & { + __typename?: 'ExchangeV2'; + /** The details of the new items in the exchange. */ + additions: ExchangeV2Additions; + /** The date and time when the exchange was completed. */ + completedAt?: Maybe; + /** The date and time when the exchange was created. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The location where the exchange happened. */ + location?: Maybe; + /** The text of an optional note that a shop owner can attach to the exchange. */ + note?: Maybe; + /** The refunds processed during the exchange. */ + refunds: Array; + /** The details of the returned items in the exchange. */ + returns: ExchangeV2Returns; + /** The staff member associated with the exchange. */ + staffMember?: Maybe; + /** The amount of money that was paid or refunded as part of the exchange. */ + totalAmountProcessedSet: MoneyBag; + /** The difference in values of the items that were exchanged. */ + totalPriceSet: MoneyBag; + /** The order transactions related to the exchange. */ + transactions: Array; +}; + +/** New items associated to the exchange. */ +export type ExchangeV2Additions = { + __typename?: 'ExchangeV2Additions'; + /** The list of new items for the exchange. */ + lineItems: Array; + /** The subtotal of the items being added, including discounts. */ + subtotalPriceSet: MoneyBag; + /** The summary of all taxes of the items being added. */ + taxLines: Array; + /** The total price of the items being added, including discounts and taxes. */ + totalPriceSet: MoneyBag; +}; + +/** An auto-generated type for paginating through multiple ExchangeV2s. */ +export type ExchangeV2Connection = { + __typename?: 'ExchangeV2Connection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ExchangeV2Edge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ExchangeV2 and a cursor during pagination. */ +export type ExchangeV2Edge = { + __typename?: 'ExchangeV2Edge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ExchangeV2Edge. */ + node: ExchangeV2; +}; + +/** Contains information about an item in the exchange. */ +export type ExchangeV2LineItem = { + __typename?: 'ExchangeV2LineItem'; + /** A list of attributes that represent custom features or special requests. */ + customAttributes: Array; + /** The total line price, in shop and presentment currencies, after discounts are applied. */ + discountedTotalSet: MoneyBag; + /** + * The price, in shop and presentment currencies, + * of a single variant unit after line item discounts are applied. + */ + discountedUnitPriceSet: MoneyBag; + /** + * Name of the service provider who fulfilled the order. + * + * Valid values are either **manual** or the name of the provider. + * For example, **amazon**, **shipwire**. + * + * Deleted fulfillment services will return null. + */ + fulfillmentService?: Maybe; + /** Indiciates if this line item is a gift card. */ + giftCard: Scalars['Boolean']['output']; + /** The gift cards associated with the line item. */ + giftCards: Array; + /** Whether the line item represents the purchase of a gift card. */ + isGiftCard: Scalars['Boolean']['output']; + /** The line item associated with this object. */ + lineItem?: Maybe; + /** The name of the product. */ + name: Scalars['String']['output']; + /** The total price, in shop and presentment currencies, before discounts are applied. */ + originalTotalSet: MoneyBag; + /** + * The price, in shop and presentment currencies, + * of a single variant unit before line item discounts are applied. + */ + originalUnitPriceSet: MoneyBag; + /** The number of products that were purchased. */ + quantity: Scalars['Int']['output']; + /** Whether physical shipping is required for the variant. */ + requiresShipping: Scalars['Boolean']['output']; + /** The SKU number of the product variant. */ + sku?: Maybe; + /** The TaxLine object connected to this line item. */ + taxLines: Array; + /** Whether the variant is taxable. */ + taxable: Scalars['Boolean']['output']; + /** The title of the product or variant. This field only applies to custom line items. */ + title: Scalars['String']['output']; + /** The product variant of the line item. */ + variant?: Maybe; + /** The name of the variant. */ + variantTitle?: Maybe; + /** The name of the vendor who created the product variant. */ + vendor?: Maybe; +}; + +/** Return items associated to the exchange. */ +export type ExchangeV2Returns = { + __typename?: 'ExchangeV2Returns'; + /** The list of return items for the exchange. */ + lineItems: Array; + /** The amount of the order-level discount for the items and shipping being returned, which doesn't contain any line item discounts. */ + orderDiscountAmountSet: MoneyBag; + /** The amount of money to be refunded for shipping. */ + shippingRefundAmountSet: MoneyBag; + /** The subtotal of the items being returned. */ + subtotalPriceSet: MoneyBag; + /** The summary of all taxes of the items being returned. */ + taxLines: Array; + /** The amount of money to be refunded for tip. */ + tipRefundAmountSet: MoneyBag; + /** The total value of the items being returned. */ + totalPriceSet: MoneyBag; +}; + +/** Represents a video hosted outside of Shopify. */ +export type ExternalVideo = File & Media & Node & { + __typename?: 'ExternalVideo'; + /** A word or phrase to describe the contents or the function of a file. */ + alt?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created. */ + createdAt: Scalars['DateTime']['output']; + /** The embed URL of the video for the respective host. */ + embedUrl: Scalars['URL']['output']; + /** + * The URL. + * @deprecated Use `originUrl` instead. + */ + embeddedUrl: Scalars['URL']['output']; + /** Any errors that have occurred on the file. */ + fileErrors: Array; + /** The status of the file. */ + fileStatus: FileStatus; + /** The host of the external video. */ + host: MediaHost; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The media content type. */ + mediaContentType: MediaContentType; + /** Any errors which have occurred on the media. */ + mediaErrors: Array; + /** The warnings attached to the media. */ + mediaWarnings: Array; + /** The origin URL of the video on the respective host. */ + originUrl: Scalars['URL']['output']; + /** The preview image for the media. */ + preview?: Maybe; + /** Current status of the media. */ + status: MediaStatus; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** Requirements that must be met before an app can be installed. */ +export type FailedRequirement = { + __typename?: 'FailedRequirement'; + /** Action to be taken to resolve a failed requirement, including URL link. */ + action?: Maybe; + /** + * A concise set of copy strings to be displayed to merchants, to guide them in resolving problems your app + * encounters when trying to make use of their Shop and its resources. + */ + message: Scalars['String']['output']; +}; + +/** A additional cost, charged by the merchant, on an order. Examples include return shipping fees and restocking fees. */ +export type Fee = { + /** The unique ID for the Fee. */ + id: Scalars['ID']['output']; +}; + +/** A sale associated with a fee. */ +export type FeeSale = Sale & { + __typename?: 'FeeSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The fee associated with the sale. */ + fee: Fee; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** A file interface. */ +export type File = { + /** A word or phrase to describe the contents or the function of a file. */ + alt?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created. */ + createdAt: Scalars['DateTime']['output']; + /** Any errors that have occurred on the file. */ + fileErrors: Array; + /** The status of the file. */ + fileStatus: FileStatus; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The preview image for the media. */ + preview?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** Return type for `fileAcknowledgeUpdateFailed` mutation. */ +export type FileAcknowledgeUpdateFailedPayload = { + __typename?: 'FileAcknowledgeUpdateFailedPayload'; + /** The updated file(s). */ + files?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple Files. */ +export type FileConnection = { + __typename?: 'FileConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The possible content types for a file object. */ +export enum FileContentType { + /** An externally hosted video. */ + ExternalVideo = 'EXTERNAL_VIDEO', + /** A Shopify-hosted generic file. */ + File = 'FILE', + /** A Shopify-hosted image. */ + Image = 'IMAGE', + /** A Shopify-hosted 3D model. */ + Model_3D = 'MODEL_3D', + /** A Shopify-hosted video file. It's recommended to use this type for all video files. */ + Video = 'VIDEO' +} + +/** The input fields that are required to create a file object. */ +export type FileCreateInput = { + /** The alternative text description of the file. */ + alt?: InputMaybe; + /** The file content type. If omitted, then Shopify will attempt to determine the content type during file processing. */ + contentType?: InputMaybe; + /** How to handle if filename is already in use. */ + duplicateResolutionMode?: InputMaybe; + /** + * When provided, the file will be created with the given filename, + * otherwise the filename in the originalSource will be used. + */ + filename?: InputMaybe; + /** + * An external URL (for images only) or a + * [staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). + */ + originalSource: Scalars['String']['input']; +}; + +/** The input fields for handling if filename is already in use. */ +export enum FileCreateInputDuplicateResolutionMode { + /** Append a UUID if filename is already in use. */ + AppendUuid = 'APPEND_UUID', + /** Raise an error if filename is already in use. */ + RaiseError = 'RAISE_ERROR', + /** Replace the existing file if filename is already in use. */ + Replace = 'REPLACE' +} + +/** Return type for `fileCreate` mutation. */ +export type FileCreatePayload = { + __typename?: 'FileCreatePayload'; + /** The newly created files. */ + files?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fileDelete` mutation. */ +export type FileDeletePayload = { + __typename?: 'FileDeletePayload'; + /** The IDs of the deleted files. */ + deletedFileIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one File and a cursor during pagination. */ +export type FileEdge = { + __typename?: 'FileEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FileEdge. */ + node: File; +}; + +/** + * A file error. This typically occurs when there is an issue with the file itself causing it to fail validation. + * Check the file before attempting to upload again. + */ +export type FileError = { + __typename?: 'FileError'; + /** Code representing the type of error. */ + code: FileErrorCode; + /** Additional details regarding the error. */ + details?: Maybe; + /** Translated error message. */ + message: Scalars['String']['output']; +}; + +/** The error types for a file. */ +export enum FileErrorCode { + /** File could not be created because a file with the same name already exists. */ + DuplicateFilenameError = 'DUPLICATE_FILENAME_ERROR', + /** File could not be created because embed permissions are disabled for this video. */ + ExternalVideoEmbedDisabled = 'EXTERNAL_VIDEO_EMBED_DISABLED', + /** File could not be created because video is either not found or still transcoding. */ + ExternalVideoEmbedNotFoundOrTranscoding = 'EXTERNAL_VIDEO_EMBED_NOT_FOUND_OR_TRANSCODING', + /** File could not be created because the external video has an invalid aspect ratio. */ + ExternalVideoInvalidAspectRatio = 'EXTERNAL_VIDEO_INVALID_ASPECT_RATIO', + /** File could not be created because the external video could not be found. */ + ExternalVideoNotFound = 'EXTERNAL_VIDEO_NOT_FOUND', + /** File could not be created because the external video is not listed or is private. */ + ExternalVideoUnlisted = 'EXTERNAL_VIDEO_UNLISTED', + /** File could not be created because the cumulative file storage limit would be exceeded. */ + FileStorageLimitExceeded = 'FILE_STORAGE_LIMIT_EXCEEDED', + /** File could not be processed because the source could not be downloaded. */ + GenericFileDownloadFailure = 'GENERIC_FILE_DOWNLOAD_FAILURE', + /** File could not be created because the size is too large. */ + GenericFileInvalidSize = 'GENERIC_FILE_INVALID_SIZE', + /** File could not be processed because the image could not be downloaded. */ + ImageDownloadFailure = 'IMAGE_DOWNLOAD_FAILURE', + /** File could not be processed because the image could not be processed. */ + ImageProcessingFailure = 'IMAGE_PROCESSING_FAILURE', + /** File could not be created because the image has an invalid aspect ratio. */ + InvalidImageAspectRatio = 'INVALID_IMAGE_ASPECT_RATIO', + /** File could not be created because the image size is too large. */ + InvalidImageFileSize = 'INVALID_IMAGE_FILE_SIZE', + /** File could not be created because the image's resolution exceeds the max limit. */ + InvalidImageResolution = 'INVALID_IMAGE_RESOLUTION', + /** File could not be processed because the signed URL was invalid. */ + InvalidSignedUrl = 'INVALID_SIGNED_URL', + /** File timed out because it is currently being modified by another operation. */ + MediaTimeoutError = 'MEDIA_TIMEOUT_ERROR', + /** File could not be created because the model file failed processing. */ + Model3DGlbOutputCreationError = 'MODEL3D_GLB_OUTPUT_CREATION_ERROR', + /** File could not be created because the model can't be converted to USDZ format. */ + Model3DGlbToUsdzConversionError = 'MODEL3D_GLB_TO_USDZ_CONVERSION_ERROR', + /** File could not be created because the model file failed processing. */ + Model3DProcessingFailure = 'MODEL3D_PROCESSING_FAILURE', + /** File could not be created because the model's thumbnail generation failed. */ + Model3DThumbnailGenerationError = 'MODEL3D_THUMBNAIL_GENERATION_ERROR', + /** There was an issue while trying to generate a new thumbnail. */ + Model3DThumbnailRegenerationError = 'MODEL3D_THUMBNAIL_REGENERATION_ERROR', + /** Model failed validation. */ + Model3DValidationError = 'MODEL3D_VALIDATION_ERROR', + /** File error has occurred for an unknown reason. */ + Unknown = 'UNKNOWN', + /** File could not be created because the image is an unsupported file type. */ + UnsupportedImageFileType = 'UNSUPPORTED_IMAGE_FILE_TYPE', + /** File could not be created because it has an invalid file type. */ + VideoInvalidFiletypeError = 'VIDEO_INVALID_FILETYPE_ERROR', + /** File could not be created because it does not meet the maximum duration requirement. */ + VideoMaxDurationError = 'VIDEO_MAX_DURATION_ERROR', + /** File could not be created because it does not meet the maximum height requirement. */ + VideoMaxHeightError = 'VIDEO_MAX_HEIGHT_ERROR', + /** File could not be created because it does not meet the maximum width requirement. */ + VideoMaxWidthError = 'VIDEO_MAX_WIDTH_ERROR', + /** File could not be created because the metadata could not be read. */ + VideoMetadataReadError = 'VIDEO_METADATA_READ_ERROR', + /** File could not be created because it does not meet the minimum duration requirement. */ + VideoMinDurationError = 'VIDEO_MIN_DURATION_ERROR', + /** File could not be created because it does not meet the minimum height requirement. */ + VideoMinHeightError = 'VIDEO_MIN_HEIGHT_ERROR', + /** File could not be created because it does not meet the minimum width requirement. */ + VideoMinWidthError = 'VIDEO_MIN_WIDTH_ERROR', + /** Video failed validation. */ + VideoValidationError = 'VIDEO_VALIDATION_ERROR' +} + +/** The input fields required to create or update a file object. */ +export type FileSetInput = { + /** The alternative text description of the file. */ + alt?: InputMaybe; + /** The file content type. If omitted, then Shopify will attempt to determine the content type during file processing. */ + contentType?: InputMaybe; + /** How to handle if filename is already in use. */ + duplicateResolutionMode?: InputMaybe; + /** + * When provided, the file will be created with the given filename, + * otherwise the filename in the originalSource will be used. + */ + filename?: InputMaybe; + /** The ID of an existing file. */ + id?: InputMaybe; + /** + * An external URL (for images only) or a + * [staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). + */ + originalSource?: InputMaybe; +}; + +/** The set of valid sort keys for the File query. */ +export enum FileSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `filename` value. */ + Filename = 'FILENAME', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `original_upload_size` value. */ + OriginalUploadSize = 'ORIGINAL_UPLOAD_SIZE', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** The possible statuses for a file object. */ +export enum FileStatus { + /** File processing has failed. */ + Failed = 'FAILED', + /** File is being processed. */ + Processing = 'PROCESSING', + /** File is ready to be displayed. */ + Ready = 'READY', + /** File has been uploaded but hasn't been processed. */ + Uploaded = 'UPLOADED' +} + +/** The input fields that are required to update a file object. */ +export type FileUpdateInput = { + /** The alternative text description of the file. */ + alt?: InputMaybe; + /** The name of the file including its extension. */ + filename?: InputMaybe; + /** The ID of the file to be updated. */ + id: Scalars['ID']['input']; + /** + * The source from which to update a media image or generic file. + * An external URL (for images only) or a + * [staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). + */ + originalSource?: InputMaybe; + /** + * The source from which to update the media preview image. + * May be an external URL or a + * [staged upload URL](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). + */ + previewImageSource?: InputMaybe; + /** The IDs of the references to add to the file. Currently only accepts product IDs. */ + referencesToAdd?: InputMaybe>; + /** The IDs of the references to remove from the file. Currently only accepts product IDs. */ + referencesToRemove?: InputMaybe>; +}; + +/** Return type for `fileUpdate` mutation. */ +export type FileUpdatePayload = { + __typename?: 'FileUpdatePayload'; + /** The list of updated files. */ + files?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Possible error codes that can be returned by `FilesUserError`. */ +export enum FilesErrorCode { + /** The alt value exceeds the maximum limit of 512 characters. */ + AltValueLimitExceeded = 'ALT_VALUE_LIMIT_EXCEEDED', + /** The search term must not be blank. */ + BlankSearch = 'BLANK_SEARCH', + /** The provided filename already exists. */ + FilenameAlreadyExists = 'FILENAME_ALREADY_EXISTS', + /** File does not exist. */ + FileDoesNotExist = 'FILE_DOES_NOT_EXIST', + /** File has a pending operation. */ + FileLocked = 'FILE_LOCKED', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Duplicate resolution mode is not supported for this file type. */ + InvalidDuplicateModeForType = 'INVALID_DUPLICATE_MODE_FOR_TYPE', + /** The provided filename is invalid. */ + InvalidFilename = 'INVALID_FILENAME', + /** Invalid filename extension. */ + InvalidFilenameExtension = 'INVALID_FILENAME_EXTENSION', + /** Invalid image source url value provided. */ + InvalidImageSourceUrl = 'INVALID_IMAGE_SOURCE_URL', + /** Search query isn't supported. */ + InvalidQuery = 'INVALID_QUERY', + /** Cannot create file with custom filename which does not match original source extension. */ + MismatchedFilenameAndOriginalSource = 'MISMATCHED_FILENAME_AND_ORIGINAL_SOURCE', + /** At least one argument is required. */ + MissingArguments = 'MISSING_ARGUMENTS', + /** Duplicate resolution mode REPLACE cannot be used without specifying filename. */ + MissingFilenameForDuplicateModeReplace = 'MISSING_FILENAME_FOR_DUPLICATE_MODE_REPLACE', + /** Exceeded the limit of non-image media per shop. */ + NonImageMediaPerShopLimitExceeded = 'NON_IMAGE_MEDIA_PER_SHOP_LIMIT_EXCEEDED', + /** The file is not in the READY state. */ + NonReadyState = 'NON_READY_STATE', + /** Exceeded the limit of media per product. */ + ProductMediaLimitExceeded = 'PRODUCT_MEDIA_LIMIT_EXCEEDED', + /** The target resource does not exist. */ + ReferenceTargetDoesNotExist = 'REFERENCE_TARGET_DOES_NOT_EXIST', + /** Specify one argument: search, IDs, or deleteAll. */ + TooManyArguments = 'TOO_MANY_ARGUMENTS', + /** Cannot add more than 10000 references to a file. */ + TooManyFileReference = 'TOO_MANY_FILE_REFERENCE', + /** The file type is not supported. */ + UnacceptableAsset = 'UNACCEPTABLE_ASSET', + /** The file is not supported on trial accounts. Select a plan to upload this file. */ + UnacceptableTrialAsset = 'UNACCEPTABLE_TRIAL_ASSET', + /** The file is not supported on trial accounts that have not validated their email. Either select a plan or verify the shop owner email to upload this file. */ + UnacceptableUnverifiedTrialAsset = 'UNACCEPTABLE_UNVERIFIED_TRIAL_ASSET', + /** The file type is not supported for referencing. */ + UnsupportedFileReference = 'UNSUPPORTED_FILE_REFERENCE', + /** Filename update is only supported on Image and GenericFile. */ + UnsupportedMediaTypeForFilenameUpdate = 'UNSUPPORTED_MEDIA_TYPE_FOR_FILENAME_UPDATE' +} + +/** An error that happens during the execution of a Files API query or mutation. */ +export type FilesUserError = DisplayableError & { + __typename?: 'FilesUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** A filter option is one possible value in a search filter. */ +export type FilterOption = { + __typename?: 'FilterOption'; + /** The filter option's label for display purposes. */ + label: Scalars['String']['output']; + /** The filter option's value. */ + value: Scalars['String']['output']; +}; + +/** An amount that's allocated to a line item based on an associated discount application. */ +export type FinancialSummaryDiscountAllocation = { + __typename?: 'FinancialSummaryDiscountAllocation'; + /** The money amount that's allocated per unit on the associated line based on the discount application in shop and presentment currencies. If the allocated amount for the line cannot be evenly divided by the quantity, then this amount will be an approximate amount, avoiding fractional pennies. For example, if the associated line had a quantity of 3 with a discount of 4 cents, then the discount distribution would be [0.01, 0.01, 0.02]. This field returns the highest number of the distribution. In this example, this would be 0.02. */ + approximateAllocatedAmountPerItem: MoneyBag; + /** The discount application that the allocated amount originated from. */ + discountApplication: FinancialSummaryDiscountApplication; +}; + +/** + * Discount applications capture the intentions of a discount source at + * the time of application on an order's line items or shipping lines. + */ +export type FinancialSummaryDiscountApplication = { + __typename?: 'FinancialSummaryDiscountApplication'; + /** The method by which the discount's value is applied to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; +}; + +/** Return type for `flowGenerateSignature` mutation. */ +export type FlowGenerateSignaturePayload = { + __typename?: 'FlowGenerateSignaturePayload'; + /** The payload used to generate the signature. */ + payload?: Maybe; + /** The generated signature. */ + signature?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `flowTriggerReceive` mutation. */ +export type FlowTriggerReceivePayload = { + __typename?: 'FlowTriggerReceivePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * Represents a fulfillment. + * In Shopify, a fulfillment represents a shipment of one or more items in an order. + * When an order has been completely fulfilled, it means that all the items that are included + * in the order have been sent to the customer. + * There can be more than one fulfillment for an order. + */ +export type Fulfillment = LegacyInteroperability & Node & { + __typename?: 'Fulfillment'; + /** The date and time when the fulfillment was created. */ + createdAt: Scalars['DateTime']['output']; + /** The date that this fulfillment was delivered. */ + deliveredAt?: Maybe; + /** Human readable display status for this fulfillment. */ + displayStatus?: Maybe; + /** The estimated date that this fulfillment will arrive. */ + estimatedDeliveryAt?: Maybe; + /** The history of events associated with this fulfillment. */ + events: FulfillmentEventConnection; + /** List of the fulfillment's line items. */ + fulfillmentLineItems: FulfillmentLineItemConnection; + /** A paginated list of fulfillment orders for the fulfillment. */ + fulfillmentOrders: FulfillmentOrderConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The date and time when the fulfillment went into transit. */ + inTransitAt?: Maybe; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The location that the fulfillment was processed at. */ + location?: Maybe; + /** Human readable reference identifier for this fulfillment. */ + name: Scalars['String']['output']; + /** The order for which the fulfillment was created. */ + order: Order; + /** The address at which the fulfillment occurred. This field is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead. */ + originAddress?: Maybe; + /** Whether any of the line items in the fulfillment require shipping. */ + requiresShipping: Scalars['Boolean']['output']; + /** Fulfillment service associated with the fulfillment. */ + service?: Maybe; + /** The status of the fulfillment. */ + status: FulfillmentStatus; + /** Sum of all line item quantities for the fulfillment. */ + totalQuantity: Scalars['Int']['output']; + /** + * Tracking information associated with the fulfillment, + * such as the tracking company, tracking number, and tracking URL. + */ + trackingInfo: Array; + /** The date and time when the fulfillment was last modified. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** + * Represents a fulfillment. + * In Shopify, a fulfillment represents a shipment of one or more items in an order. + * When an order has been completely fulfilled, it means that all the items that are included + * in the order have been sent to the customer. + * There can be more than one fulfillment for an order. + */ +export type FulfillmentEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents a fulfillment. + * In Shopify, a fulfillment represents a shipment of one or more items in an order. + * When an order has been completely fulfilled, it means that all the items that are included + * in the order have been sent to the customer. + * There can be more than one fulfillment for an order. + */ +export type FulfillmentFulfillmentLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a fulfillment. + * In Shopify, a fulfillment represents a shipment of one or more items in an order. + * When an order has been completely fulfilled, it means that all the items that are included + * in the order have been sent to the customer. + * There can be more than one fulfillment for an order. + */ +export type FulfillmentFulfillmentOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a fulfillment. + * In Shopify, a fulfillment represents a shipment of one or more items in an order. + * When an order has been completely fulfilled, it means that all the items that are included + * in the order have been sent to the customer. + * There can be more than one fulfillment for an order. + */ +export type FulfillmentTrackingInfoArgs = { + first?: InputMaybe; +}; + +/** Return type for `fulfillmentCancel` mutation. */ +export type FulfillmentCancelPayload = { + __typename?: 'FulfillmentCancelPayload'; + /** The canceled fulfillment. */ + fulfillment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple Fulfillments. */ +export type FulfillmentConnection = { + __typename?: 'FulfillmentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FulfillmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** A fulfillment constraint rule. */ +export type FulfillmentConstraintRule = HasMetafields & Node & { + __typename?: 'FulfillmentConstraintRule'; + /** Delivery method types that the function is associated with. */ + deliveryMethodTypes: Array; + /** The ID for the fulfillment constraint function. */ + function: ShopifyFunction; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; +}; + + +/** A fulfillment constraint rule. */ +export type FulfillmentConstraintRuleMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A fulfillment constraint rule. */ +export type FulfillmentConstraintRuleMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A fulfillment constraint rule. */ +export type FulfillmentConstraintRulePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A fulfillment constraint rule. */ +export type FulfillmentConstraintRulePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `fulfillmentConstraintRuleCreate` mutation. */ +export type FulfillmentConstraintRuleCreatePayload = { + __typename?: 'FulfillmentConstraintRuleCreatePayload'; + /** The newly created fulfillment constraint rule. */ + fulfillmentConstraintRule?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentConstraintRuleCreate`. */ +export type FulfillmentConstraintRuleCreateUserError = DisplayableError & { + __typename?: 'FulfillmentConstraintRuleCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentConstraintRuleCreateUserError`. */ +export enum FulfillmentConstraintRuleCreateUserErrorCode { + /** Shop must be on a Shopify Plus plan to activate functions from a custom app. */ + CustomAppFunctionNotEligible = 'CUSTOM_APP_FUNCTION_NOT_ELIGIBLE', + /** A fulfillment constraint rule already exists for the provided function_id. */ + FunctionAlreadyRegistered = 'FUNCTION_ALREADY_REGISTERED', + /** Function does not implement the required interface for this fulfillment constraint rule. */ + FunctionDoesNotImplement = 'FUNCTION_DOES_NOT_IMPLEMENT', + /** No Shopify Function found for provided function_id. */ + FunctionNotFound = 'FUNCTION_NOT_FOUND', + /** Function is pending deletion and cannot have new rules created against it. */ + FunctionPendingDeletion = 'FUNCTION_PENDING_DELETION', + /** Failed to create fulfillment constraint rule due to invalid input. */ + InputInvalid = 'INPUT_INVALID', + /** Maximum number of fulfillment constraint rules reached. Limit is 10. */ + MaximumFulfillmentConstraintRulesReached = 'MAXIMUM_FULFILLMENT_CONSTRAINT_RULES_REACHED' +} + +/** Return type for `fulfillmentConstraintRuleDelete` mutation. */ +export type FulfillmentConstraintRuleDeletePayload = { + __typename?: 'FulfillmentConstraintRuleDeletePayload'; + /** Whether or not the fulfillment constraint rule was successfully deleted. */ + success?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentConstraintRuleDelete`. */ +export type FulfillmentConstraintRuleDeleteUserError = DisplayableError & { + __typename?: 'FulfillmentConstraintRuleDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentConstraintRuleDeleteUserError`. */ +export enum FulfillmentConstraintRuleDeleteUserErrorCode { + /** Could not find fulfillment constraint rule for provided id. */ + NotFound = 'NOT_FOUND', + /** Unauthorized app scope. */ + UnauthorizedAppScope = 'UNAUTHORIZED_APP_SCOPE' +} + +/** Return type for `fulfillmentConstraintRuleUpdate` mutation. */ +export type FulfillmentConstraintRuleUpdatePayload = { + __typename?: 'FulfillmentConstraintRuleUpdatePayload'; + /** The updated fulfillment constraint rule. */ + fulfillmentConstraintRule?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentConstraintRuleUpdate`. */ +export type FulfillmentConstraintRuleUpdateUserError = DisplayableError & { + __typename?: 'FulfillmentConstraintRuleUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentConstraintRuleUpdateUserError`. */ +export enum FulfillmentConstraintRuleUpdateUserErrorCode { + /** Could not find fulfillment constraint rule for provided id. */ + NotFound = 'NOT_FOUND', + /** Unauthorized app scope. */ + UnauthorizedAppScope = 'UNAUTHORIZED_APP_SCOPE' +} + +/** Return type for `fulfillmentCreate` mutation. */ +export type FulfillmentCreatePayload = { + __typename?: 'FulfillmentCreatePayload'; + /** The created fulfillment. */ + fulfillment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentCreateV2` mutation. */ +export type FulfillmentCreateV2Payload = { + __typename?: 'FulfillmentCreateV2Payload'; + /** The created fulfillment. */ + fulfillment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The display status of a fulfillment. */ +export enum FulfillmentDisplayStatus { + /** Displayed as **Attempted delivery**. */ + AttemptedDelivery = 'ATTEMPTED_DELIVERY', + /** Displayed as **Canceled**. */ + Canceled = 'CANCELED', + /** Displayed as **Confirmed**. */ + Confirmed = 'CONFIRMED', + /** Displayed as **Delivered**. */ + Delivered = 'DELIVERED', + /** Displayed as **Failure**. */ + Failure = 'FAILURE', + /** Displayed as **Fulfilled**. */ + Fulfilled = 'FULFILLED', + /** Displayed as **In transit**. */ + InTransit = 'IN_TRANSIT', + /** Displayed as **Label printed**. */ + LabelPrinted = 'LABEL_PRINTED', + /** Displayed as **Label purchased**. */ + LabelPurchased = 'LABEL_PURCHASED', + /** Displayed as **Label voided**. */ + LabelVoided = 'LABEL_VOIDED', + /** Displayed as **Marked as fulfilled**. */ + MarkedAsFulfilled = 'MARKED_AS_FULFILLED', + /** Displayed as **Not delivered**. */ + NotDelivered = 'NOT_DELIVERED', + /** Displayed as **Out for delivery**. */ + OutForDelivery = 'OUT_FOR_DELIVERY', + /** Displayed as **Picked up**. */ + PickedUp = 'PICKED_UP', + /** Displayed as **Ready for pickup**. */ + ReadyForPickup = 'READY_FOR_PICKUP', + /** Displayed as **Submitted**. */ + Submitted = 'SUBMITTED' +} + +/** An auto-generated type which holds one Fulfillment and a cursor during pagination. */ +export type FulfillmentEdge = { + __typename?: 'FulfillmentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FulfillmentEdge. */ + node: Fulfillment; +}; + +/** The fulfillment event that describes the fulfilllment status at a particular time. */ +export type FulfillmentEvent = Node & { + __typename?: 'FulfillmentEvent'; + /** The street address where this fulfillment event occurred. */ + address1?: Maybe; + /** The city where this fulfillment event occurred. */ + city?: Maybe; + /** The country where this fulfillment event occurred. */ + country?: Maybe; + /** The date and time when the fulfillment event was created. */ + createdAt: Scalars['DateTime']['output']; + /** The estimated delivery date and time of the fulfillment. */ + estimatedDeliveryAt?: Maybe; + /** The time at which this fulfillment event happened. */ + happenedAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The latitude where this fulfillment event occurred. */ + latitude?: Maybe; + /** The longitude where this fulfillment event occurred. */ + longitude?: Maybe; + /** A message associated with this fulfillment event. */ + message?: Maybe; + /** The province where this fulfillment event occurred. */ + province?: Maybe; + /** The status of this fulfillment event. */ + status: FulfillmentEventStatus; + /** The zip code of the location where this fulfillment event occurred. */ + zip?: Maybe; +}; + +/** An auto-generated type for paginating through multiple FulfillmentEvents. */ +export type FulfillmentEventConnection = { + __typename?: 'FulfillmentEventConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FulfillmentEventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `fulfillmentEventCreate` mutation. */ +export type FulfillmentEventCreatePayload = { + __typename?: 'FulfillmentEventCreatePayload'; + /** The created fulfillment event. */ + fulfillmentEvent?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one FulfillmentEvent and a cursor during pagination. */ +export type FulfillmentEventEdge = { + __typename?: 'FulfillmentEventEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FulfillmentEventEdge. */ + node: FulfillmentEvent; +}; + +/** The input fields used to create a fulfillment event. */ +export type FulfillmentEventInput = { + /** The street address where this fulfillment event occurred. */ + address1?: InputMaybe; + /** The city where this fulfillment event occurred. */ + city?: InputMaybe; + /** The country where this fulfillment event occurred. */ + country?: InputMaybe; + /** The estimated delivery date and time of the fulfillment. */ + estimatedDeliveryAt?: InputMaybe; + /** The ID for the fulfillment that's associated with this fulfillment event. */ + fulfillmentId: Scalars['ID']['input']; + /** The time at which this fulfillment event happened. */ + happenedAt?: InputMaybe; + /** The latitude where this fulfillment event occurred. */ + latitude?: InputMaybe; + /** The longitude where this fulfillment event occurred. */ + longitude?: InputMaybe; + /** A message associated with this fulfillment event. */ + message?: InputMaybe; + /** The province where this fulfillment event occurred. */ + province?: InputMaybe; + /** The status of this fulfillment event. */ + status: FulfillmentEventStatus; + /** The zip code of the location where this fulfillment event occurred. */ + zip?: InputMaybe; +}; + +/** The set of valid sort keys for the FulfillmentEvent query. */ +export enum FulfillmentEventSortKeys { + /** Sort by the `happened_at` value. */ + HappenedAt = 'HAPPENED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The status that describes a fulfillment or delivery event. */ +export enum FulfillmentEventStatus { + /** A delivery was attempted. */ + AttemptedDelivery = 'ATTEMPTED_DELIVERY', + /** The fulfillment is confirmed. This is the default value when no other information is available. */ + Confirmed = 'CONFIRMED', + /** The fulfillment was successfully delivered. */ + Delivered = 'DELIVERED', + /** The fulfillment request failed. */ + Failure = 'FAILURE', + /** The fulfillment is in transit. */ + InTransit = 'IN_TRANSIT', + /** A purchased shipping label has been printed. */ + LabelPrinted = 'LABEL_PRINTED', + /** A shipping label has been purchased. */ + LabelPurchased = 'LABEL_PURCHASED', + /** The fulfillment is out for delivery. */ + OutForDelivery = 'OUT_FOR_DELIVERY', + /** The fulfillment is ready to be picked up. */ + ReadyForPickup = 'READY_FOR_PICKUP' +} + +/** A fulfillment hold currently applied on a fulfillment order. */ +export type FulfillmentHold = Node & { + __typename?: 'FulfillmentHold'; + /** The localized reason for the fulfillment hold for display purposes. */ + displayReason: Scalars['String']['output']; + /** The name of the app or service that applied the fulfillment hold. */ + heldBy?: Maybe; + /** A boolean value that indicates whether the requesting app created the fulfillment hold. */ + heldByRequestingApp: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The reason for the fulfillment hold. */ + reason: FulfillmentHoldReason; + /** Additional information about the fulfillment hold reason. */ + reasonNotes?: Maybe; +}; + +/** The reason for a fulfillment hold. */ +export enum FulfillmentHoldReason { + /** The fulfillment hold is applied because payment is pending. */ + AwaitingPayment = 'AWAITING_PAYMENT', + /** The fulfillment hold is applied because of return items not yet received during an exchange. */ + AwaitingReturnItems = 'AWAITING_RETURN_ITEMS', + /** The fulfillment hold is applied because of a high risk of fraud. */ + HighRiskOfFraud = 'HIGH_RISK_OF_FRAUD', + /** The fulfillment hold is applied because of an incorrect address. */ + IncorrectAddress = 'INCORRECT_ADDRESS', + /** The fulfillment hold is applied because inventory is out of stock. */ + InventoryOutOfStock = 'INVENTORY_OUT_OF_STOCK', + /** The fulfillment hold is applied because of a post purchase upsell offer. */ + OnlineStorePostPurchaseCrossSell = 'ONLINE_STORE_POST_PURCHASE_CROSS_SELL', + /** The fulfillment hold is applied for another reason. */ + Other = 'OTHER', + /** The fulfillment hold is applied because of an unknown delivery date. */ + UnknownDeliveryDate = 'UNKNOWN_DELIVERY_DATE' +} + +/** The input fields used to create a fulfillment from fulfillment orders. */ +export type FulfillmentInput = { + /** + * Pairs of `fulfillment_order_id` and `fulfillment_order_line_items` that represent the fulfillment + * order line items that have to be fulfilled for each fulfillment order. For any given pair, if the + * fulfillment order line items are left blank then all the fulfillment order line items of the + * associated fulfillment order ID will be fulfilled. + */ + lineItemsByFulfillmentOrder: Array; + /** + * Whether the customer is notified. + * If `true`, then a notification is sent when the fulfillment is created. The default value is `false`. + */ + notifyCustomer?: InputMaybe; + /** Address information about the location from which the order was fulfilled. */ + originAddress?: InputMaybe; + /** + * The fulfillment's tracking information, including a tracking URL, a tracking number, + * and the company associated with the fulfillment. + */ + trackingInfo?: InputMaybe; +}; + +/** Represents a line item from an order that's included in a fulfillment. */ +export type FulfillmentLineItem = Node & { + __typename?: 'FulfillmentLineItem'; + /** + * The total price after discounts are applied. + * @deprecated Use `discountedTotalSet` instead. + */ + discountedTotal: Scalars['Money']['output']; + /** The total price after discounts are applied in shop and presentment currencies. */ + discountedTotalSet: MoneyBag; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The associated order's line item. */ + lineItem: LineItem; + /** + * The total price before discounts are applied. + * @deprecated Use `originalTotalSet` instead. + */ + originalTotal: Scalars['Money']['output']; + /** The total price before discounts are applied in shop and presentment currencies. */ + originalTotalSet: MoneyBag; + /** Number of line items in the fulfillment. */ + quantity?: Maybe; +}; + +/** An auto-generated type for paginating through multiple FulfillmentLineItems. */ +export type FulfillmentLineItemConnection = { + __typename?: 'FulfillmentLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FulfillmentLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one FulfillmentLineItem and a cursor during pagination. */ +export type FulfillmentLineItemEdge = { + __typename?: 'FulfillmentLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FulfillmentLineItemEdge. */ + node: FulfillmentLineItem; +}; + +/** + * The FulfillmentOrder object represents either an item or a group of items in an + * [Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * that are expected to be fulfilled from the same location. + * There can be more than one fulfillment order for an + * [order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * at a given location. + * + * {{ '/api/reference/fulfillment_order_relationships.png' | image }} + * + * Fulfillment orders represent the work which is intended to be done in relation to an order. + * When fulfillment has started for one or more line items, a + * [Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) + * is created by a merchant or third party to represent the ongoing or completed work of fulfillment. + * + * [See below for more details on creating fulfillments](#the-lifecycle-of-a-fulfillment-order-at-a-location-which-is-managed-by-a-fulfillment-service). + * + * > Note: + * > Shopify creates fulfillment orders automatically when an order is created. + * > It is not possible to manually create fulfillment orders. + * > + * > [See below for more details on the lifecycle of a fulfillment order](#the-lifecycle-of-a-fulfillment-order). + * + * ## Retrieving fulfillment orders + * + * ### Fulfillment orders from an order + * + * All fulfillment orders related to a given order can be retrieved with the + * [Order.fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/objects/Order#connection-order-fulfillmentorders) + * connection. + * + * [API access scopes](#api-access-scopes) + * govern which fulfillments orders are returned to clients. + * An API client will only receive a subset of the fulfillment orders which belong to an order + * if they don't have the necessary access scopes to view all of the fulfillment orders. + * + * ### Fulfillment orders assigned to the app for fulfillment + * + * Fulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the + * [assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders) + * connection. + * Use the `assignmentStatus` argument to control whether all assigned fulfillment orders + * should be returned or only those where a merchant has sent a + * [fulfillment request](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderMerchantRequest) + * and it has yet to be responded to. + * + * The API client must be granted the `read_assigned_fulfillment_orders` access scope to access + * the assigned fulfillment orders. + * + * ### All fulfillment orders + * + * Apps can retrieve all fulfillment orders with the + * [fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/queries/fulfillmentOrders) + * query. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop, + * which are accessible to the app according to the + * [fulfillment order access scopes](#api-access-scopes) it was granted with. + * + * ## The lifecycle of a fulfillment order + * + * ### Fulfillment Order Creation + * + * After an order is created, a background worker performs the order routing process which determines + * which locations will be responsible for fulfilling the purchased items. + * Once the order routing process is complete, one or more fulfillment orders will be created + * and assigned to these locations. It is not possible to manually create fulfillment orders. + * + * Once a fulfillment order has been created, it will have one of two different lifecycles depending on + * the type of location which the fulfillment order is assigned to. + * + * ### The lifecycle of a fulfillment order at a merchant managed location + * + * Fulfillment orders are completed by creating + * [fulfillments](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment). + * Fulfillments represents the work done. + * + * For digital products a merchant or an order management app would create a fulfilment once the digital asset + * has been provisioned. + * For example, in the case of a digital gift card, a merchant would to do this once + * the gift card has been activated - before the email has been shipped. + * + * On the other hand, for a traditional shipped order, + * a merchant or an order management app would create a fulfillment after picking and packing the items relating + * to a fulfillment order, but before the courier has collected the goods. + * + * [Learn about managing fulfillment orders as an order management app](https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments). + * + * ### The lifecycle of a fulfillment order at a location which is managed by a fulfillment service + * + * For fulfillment orders which are assigned to a location that is managed by a fulfillment service, + * a merchant or an Order Management App can + * [send a fulfillment request](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitFulfillmentRequest) + * to the fulfillment service which operates the location to request that they fulfill the associated items. + * A fulfillment service has the option to + * [accept](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderAcceptFulfillmentRequest) + * or [reject](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderRejectFulfillmentRequest) + * this fulfillment request. + * + * Once the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant + * or order management app and instead a + * [cancellation request must be submitted](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitCancellationRequest) + * to the fulfillment service. + * + * Once a fulfillment service accepts a fulfillment request, + * then after they are ready to pack items and send them for delivery, they create fulfillments with the + * [fulfillmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentCreate) + * mutation. + * They can provide tracking information right away or create fulfillments without it and then + * update the tracking information for fulfillments with the + * [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) + * mutation. + * + * [Learn about managing fulfillment orders as a fulfillment service](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments). + * + * ## API access scopes + * + * Fulfillment orders are governed by the following API access scopes: + * + * * The `read_merchant_managed_fulfillment_orders` and + * `write_merchant_managed_fulfillment_orders` access scopes + * grant access to fulfillment orders assigned to merchant-managed locations. + * * The `read_assigned_fulfillment_orders` and `write_assigned_fulfillment_orders` + * access scopes are intended for fulfillment services. + * These scopes grant access to fulfillment orders assigned to locations that are being managed + * by fulfillment services. + * * The `read_third_party_fulfillment_orders` and `write_third_party_fulfillment_orders` + * access scopes grant access to fulfillment orders + * assigned to locations managed by other fulfillment services. + * + * ### Fulfillment service app access scopes + * + * Usually, **fulfillment services** have the `write_assigned_fulfillment_orders` access scope + * and don't have the `*_third_party_fulfillment_orders` + * or `*_merchant_managed_fulfillment_orders` access scopes. + * The app will only have access to the fulfillment orders assigned to their location + * (or multiple locations if the app registers multiple fulfillment services on the shop). + * The app will not have access to fulfillment orders assigned to merchant-managed locations + * or locations owned by other fulfillment service apps. + * + * ### Order management app access scopes + * + * **Order management apps** will usually request `write_merchant_managed_fulfillment_orders` and + * `write_third_party_fulfillment_orders` access scopes. This will allow them to manage all fulfillment orders + * on behalf of a merchant. + * + * If an app combines the functions of an order management app and a fulfillment service, + * then the app should request all + * access scopes to manage all assigned and all unassigned fulfillment orders. + * + * ## Notifications about fulfillment orders + * + * Fulfillment services are required to + * [register](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * a self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified + * whenever a merchant submits a fulfillment or cancellation request. + * + * Both merchants and apps can + * [subscribe](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks) + * to the + * [fulfillment order webhooks](https://shopify.dev/api/admin-graphql/latest/enums/WebhookSubscriptionTopic#value-fulfillmentorderscancellationrequestaccepted) + * to be notified whenever fulfillment order related domain events occur. + * + * [Learn about fulfillment workflows](https://shopify.dev/apps/fulfillment). + */ +export type FulfillmentOrder = Node & { + __typename?: 'FulfillmentOrder'; + /** + * The fulfillment order's assigned location. This is the location where the fulfillment is expected to happen. + * + * The fulfillment order's assigned location might change in the following cases: + * + * - The fulfillment order has been entirely moved to a new location. For example, the [fulfillmentOrderMove]( + * https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove + * ) mutation has been called, and you see the original fulfillment order in the [movedFulfillmentOrder]( + * https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove#field-fulfillmentordermovepayload-movedfulfillmentorder + * ) field within the mutation's response. + * - Work on the fulfillment order hasn't yet begun, which means that the fulfillment order has the + * [OPEN](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-open), + * [SCHEDULED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-scheduled), or + * [ON_HOLD](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-onhold) + * status, and the shop's location properties might be undergoing edits (for example, in the Shopify admin). + */ + assignedLocation: FulfillmentOrderAssignedLocation; + /** ID of the channel that created the order. */ + channelId?: Maybe; + /** Date and time when the fulfillment order was created. */ + createdAt: Scalars['DateTime']['output']; + /** Delivery method of this fulfillment order. */ + deliveryMethod?: Maybe; + /** The destination where the items should be sent. */ + destination?: Maybe; + /** The date and time at which the fulfillment order will be fulfillable. When this date and time is reached, the scheduled fulfillment order is automatically transitioned to open. For example, the `fulfill_at` date for a subscription order might be the 1st of each month, a pre-order `fulfill_at` date would be `nil`, and a standard order `fulfill_at` date would be the order creation date. */ + fulfillAt?: Maybe; + /** The latest date and time by which all items in the fulfillment order need to be fulfilled. */ + fulfillBy?: Maybe; + /** The fulfillment holds applied on the fulfillment order. */ + fulfillmentHolds: Array; + /** Fulfillment orders eligible for merging with the given fulfillment order. */ + fulfillmentOrdersForMerge: FulfillmentOrderConnection; + /** A list of fulfillments for the fulfillment order. */ + fulfillments: FulfillmentConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The duties delivery method of this fulfillment order. */ + internationalDuties?: Maybe; + /** A list of the fulfillment order's line items. */ + lineItems: FulfillmentOrderLineItemConnection; + /** A list of locations that the fulfillment order can potentially move to. */ + locationsForMove: FulfillmentOrderLocationForMoveConnection; + /** A list of requests sent by the merchant or an order management app to the fulfillment service for the fulfillment order. */ + merchantRequests: FulfillmentOrderMerchantRequestConnection; + /** The order that's associated with the fulfillment order. */ + order: Order; + /** ID of the order that's associated with the fulfillment order. */ + orderId: Scalars['ID']['output']; + /** + * The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page. + * For example, "#1001", "EN1001", or "1001-A". + * This value isn't unique across multiple stores. + */ + orderName: Scalars['String']['output']; + /** + * The date and time when the order was processed. + * This date and time might not match the date and time when the order was created. + */ + orderProcessedAt: Scalars['DateTime']['output']; + /** The request status of the fulfillment order. */ + requestStatus: FulfillmentOrderRequestStatus; + /** The status of the fulfillment order. */ + status: FulfillmentOrderStatus; + /** The actions that can be performed on this fulfillment order. */ + supportedActions: Array; + /** The date and time when the fulfillment order was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** + * The FulfillmentOrder object represents either an item or a group of items in an + * [Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * that are expected to be fulfilled from the same location. + * There can be more than one fulfillment order for an + * [order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * at a given location. + * + * {{ '/api/reference/fulfillment_order_relationships.png' | image }} + * + * Fulfillment orders represent the work which is intended to be done in relation to an order. + * When fulfillment has started for one or more line items, a + * [Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) + * is created by a merchant or third party to represent the ongoing or completed work of fulfillment. + * + * [See below for more details on creating fulfillments](#the-lifecycle-of-a-fulfillment-order-at-a-location-which-is-managed-by-a-fulfillment-service). + * + * > Note: + * > Shopify creates fulfillment orders automatically when an order is created. + * > It is not possible to manually create fulfillment orders. + * > + * > [See below for more details on the lifecycle of a fulfillment order](#the-lifecycle-of-a-fulfillment-order). + * + * ## Retrieving fulfillment orders + * + * ### Fulfillment orders from an order + * + * All fulfillment orders related to a given order can be retrieved with the + * [Order.fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/objects/Order#connection-order-fulfillmentorders) + * connection. + * + * [API access scopes](#api-access-scopes) + * govern which fulfillments orders are returned to clients. + * An API client will only receive a subset of the fulfillment orders which belong to an order + * if they don't have the necessary access scopes to view all of the fulfillment orders. + * + * ### Fulfillment orders assigned to the app for fulfillment + * + * Fulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the + * [assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders) + * connection. + * Use the `assignmentStatus` argument to control whether all assigned fulfillment orders + * should be returned or only those where a merchant has sent a + * [fulfillment request](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderMerchantRequest) + * and it has yet to be responded to. + * + * The API client must be granted the `read_assigned_fulfillment_orders` access scope to access + * the assigned fulfillment orders. + * + * ### All fulfillment orders + * + * Apps can retrieve all fulfillment orders with the + * [fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/queries/fulfillmentOrders) + * query. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop, + * which are accessible to the app according to the + * [fulfillment order access scopes](#api-access-scopes) it was granted with. + * + * ## The lifecycle of a fulfillment order + * + * ### Fulfillment Order Creation + * + * After an order is created, a background worker performs the order routing process which determines + * which locations will be responsible for fulfilling the purchased items. + * Once the order routing process is complete, one or more fulfillment orders will be created + * and assigned to these locations. It is not possible to manually create fulfillment orders. + * + * Once a fulfillment order has been created, it will have one of two different lifecycles depending on + * the type of location which the fulfillment order is assigned to. + * + * ### The lifecycle of a fulfillment order at a merchant managed location + * + * Fulfillment orders are completed by creating + * [fulfillments](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment). + * Fulfillments represents the work done. + * + * For digital products a merchant or an order management app would create a fulfilment once the digital asset + * has been provisioned. + * For example, in the case of a digital gift card, a merchant would to do this once + * the gift card has been activated - before the email has been shipped. + * + * On the other hand, for a traditional shipped order, + * a merchant or an order management app would create a fulfillment after picking and packing the items relating + * to a fulfillment order, but before the courier has collected the goods. + * + * [Learn about managing fulfillment orders as an order management app](https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments). + * + * ### The lifecycle of a fulfillment order at a location which is managed by a fulfillment service + * + * For fulfillment orders which are assigned to a location that is managed by a fulfillment service, + * a merchant or an Order Management App can + * [send a fulfillment request](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitFulfillmentRequest) + * to the fulfillment service which operates the location to request that they fulfill the associated items. + * A fulfillment service has the option to + * [accept](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderAcceptFulfillmentRequest) + * or [reject](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderRejectFulfillmentRequest) + * this fulfillment request. + * + * Once the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant + * or order management app and instead a + * [cancellation request must be submitted](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitCancellationRequest) + * to the fulfillment service. + * + * Once a fulfillment service accepts a fulfillment request, + * then after they are ready to pack items and send them for delivery, they create fulfillments with the + * [fulfillmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentCreate) + * mutation. + * They can provide tracking information right away or create fulfillments without it and then + * update the tracking information for fulfillments with the + * [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) + * mutation. + * + * [Learn about managing fulfillment orders as a fulfillment service](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments). + * + * ## API access scopes + * + * Fulfillment orders are governed by the following API access scopes: + * + * * The `read_merchant_managed_fulfillment_orders` and + * `write_merchant_managed_fulfillment_orders` access scopes + * grant access to fulfillment orders assigned to merchant-managed locations. + * * The `read_assigned_fulfillment_orders` and `write_assigned_fulfillment_orders` + * access scopes are intended for fulfillment services. + * These scopes grant access to fulfillment orders assigned to locations that are being managed + * by fulfillment services. + * * The `read_third_party_fulfillment_orders` and `write_third_party_fulfillment_orders` + * access scopes grant access to fulfillment orders + * assigned to locations managed by other fulfillment services. + * + * ### Fulfillment service app access scopes + * + * Usually, **fulfillment services** have the `write_assigned_fulfillment_orders` access scope + * and don't have the `*_third_party_fulfillment_orders` + * or `*_merchant_managed_fulfillment_orders` access scopes. + * The app will only have access to the fulfillment orders assigned to their location + * (or multiple locations if the app registers multiple fulfillment services on the shop). + * The app will not have access to fulfillment orders assigned to merchant-managed locations + * or locations owned by other fulfillment service apps. + * + * ### Order management app access scopes + * + * **Order management apps** will usually request `write_merchant_managed_fulfillment_orders` and + * `write_third_party_fulfillment_orders` access scopes. This will allow them to manage all fulfillment orders + * on behalf of a merchant. + * + * If an app combines the functions of an order management app and a fulfillment service, + * then the app should request all + * access scopes to manage all assigned and all unassigned fulfillment orders. + * + * ## Notifications about fulfillment orders + * + * Fulfillment services are required to + * [register](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * a self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified + * whenever a merchant submits a fulfillment or cancellation request. + * + * Both merchants and apps can + * [subscribe](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks) + * to the + * [fulfillment order webhooks](https://shopify.dev/api/admin-graphql/latest/enums/WebhookSubscriptionTopic#value-fulfillmentorderscancellationrequestaccepted) + * to be notified whenever fulfillment order related domain events occur. + * + * [Learn about fulfillment workflows](https://shopify.dev/apps/fulfillment). + */ +export type FulfillmentOrderFulfillmentOrdersForMergeArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The FulfillmentOrder object represents either an item or a group of items in an + * [Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * that are expected to be fulfilled from the same location. + * There can be more than one fulfillment order for an + * [order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * at a given location. + * + * {{ '/api/reference/fulfillment_order_relationships.png' | image }} + * + * Fulfillment orders represent the work which is intended to be done in relation to an order. + * When fulfillment has started for one or more line items, a + * [Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) + * is created by a merchant or third party to represent the ongoing or completed work of fulfillment. + * + * [See below for more details on creating fulfillments](#the-lifecycle-of-a-fulfillment-order-at-a-location-which-is-managed-by-a-fulfillment-service). + * + * > Note: + * > Shopify creates fulfillment orders automatically when an order is created. + * > It is not possible to manually create fulfillment orders. + * > + * > [See below for more details on the lifecycle of a fulfillment order](#the-lifecycle-of-a-fulfillment-order). + * + * ## Retrieving fulfillment orders + * + * ### Fulfillment orders from an order + * + * All fulfillment orders related to a given order can be retrieved with the + * [Order.fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/objects/Order#connection-order-fulfillmentorders) + * connection. + * + * [API access scopes](#api-access-scopes) + * govern which fulfillments orders are returned to clients. + * An API client will only receive a subset of the fulfillment orders which belong to an order + * if they don't have the necessary access scopes to view all of the fulfillment orders. + * + * ### Fulfillment orders assigned to the app for fulfillment + * + * Fulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the + * [assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders) + * connection. + * Use the `assignmentStatus` argument to control whether all assigned fulfillment orders + * should be returned or only those where a merchant has sent a + * [fulfillment request](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderMerchantRequest) + * and it has yet to be responded to. + * + * The API client must be granted the `read_assigned_fulfillment_orders` access scope to access + * the assigned fulfillment orders. + * + * ### All fulfillment orders + * + * Apps can retrieve all fulfillment orders with the + * [fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/queries/fulfillmentOrders) + * query. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop, + * which are accessible to the app according to the + * [fulfillment order access scopes](#api-access-scopes) it was granted with. + * + * ## The lifecycle of a fulfillment order + * + * ### Fulfillment Order Creation + * + * After an order is created, a background worker performs the order routing process which determines + * which locations will be responsible for fulfilling the purchased items. + * Once the order routing process is complete, one or more fulfillment orders will be created + * and assigned to these locations. It is not possible to manually create fulfillment orders. + * + * Once a fulfillment order has been created, it will have one of two different lifecycles depending on + * the type of location which the fulfillment order is assigned to. + * + * ### The lifecycle of a fulfillment order at a merchant managed location + * + * Fulfillment orders are completed by creating + * [fulfillments](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment). + * Fulfillments represents the work done. + * + * For digital products a merchant or an order management app would create a fulfilment once the digital asset + * has been provisioned. + * For example, in the case of a digital gift card, a merchant would to do this once + * the gift card has been activated - before the email has been shipped. + * + * On the other hand, for a traditional shipped order, + * a merchant or an order management app would create a fulfillment after picking and packing the items relating + * to a fulfillment order, but before the courier has collected the goods. + * + * [Learn about managing fulfillment orders as an order management app](https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments). + * + * ### The lifecycle of a fulfillment order at a location which is managed by a fulfillment service + * + * For fulfillment orders which are assigned to a location that is managed by a fulfillment service, + * a merchant or an Order Management App can + * [send a fulfillment request](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitFulfillmentRequest) + * to the fulfillment service which operates the location to request that they fulfill the associated items. + * A fulfillment service has the option to + * [accept](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderAcceptFulfillmentRequest) + * or [reject](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderRejectFulfillmentRequest) + * this fulfillment request. + * + * Once the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant + * or order management app and instead a + * [cancellation request must be submitted](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitCancellationRequest) + * to the fulfillment service. + * + * Once a fulfillment service accepts a fulfillment request, + * then after they are ready to pack items and send them for delivery, they create fulfillments with the + * [fulfillmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentCreate) + * mutation. + * They can provide tracking information right away or create fulfillments without it and then + * update the tracking information for fulfillments with the + * [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) + * mutation. + * + * [Learn about managing fulfillment orders as a fulfillment service](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments). + * + * ## API access scopes + * + * Fulfillment orders are governed by the following API access scopes: + * + * * The `read_merchant_managed_fulfillment_orders` and + * `write_merchant_managed_fulfillment_orders` access scopes + * grant access to fulfillment orders assigned to merchant-managed locations. + * * The `read_assigned_fulfillment_orders` and `write_assigned_fulfillment_orders` + * access scopes are intended for fulfillment services. + * These scopes grant access to fulfillment orders assigned to locations that are being managed + * by fulfillment services. + * * The `read_third_party_fulfillment_orders` and `write_third_party_fulfillment_orders` + * access scopes grant access to fulfillment orders + * assigned to locations managed by other fulfillment services. + * + * ### Fulfillment service app access scopes + * + * Usually, **fulfillment services** have the `write_assigned_fulfillment_orders` access scope + * and don't have the `*_third_party_fulfillment_orders` + * or `*_merchant_managed_fulfillment_orders` access scopes. + * The app will only have access to the fulfillment orders assigned to their location + * (or multiple locations if the app registers multiple fulfillment services on the shop). + * The app will not have access to fulfillment orders assigned to merchant-managed locations + * or locations owned by other fulfillment service apps. + * + * ### Order management app access scopes + * + * **Order management apps** will usually request `write_merchant_managed_fulfillment_orders` and + * `write_third_party_fulfillment_orders` access scopes. This will allow them to manage all fulfillment orders + * on behalf of a merchant. + * + * If an app combines the functions of an order management app and a fulfillment service, + * then the app should request all + * access scopes to manage all assigned and all unassigned fulfillment orders. + * + * ## Notifications about fulfillment orders + * + * Fulfillment services are required to + * [register](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * a self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified + * whenever a merchant submits a fulfillment or cancellation request. + * + * Both merchants and apps can + * [subscribe](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks) + * to the + * [fulfillment order webhooks](https://shopify.dev/api/admin-graphql/latest/enums/WebhookSubscriptionTopic#value-fulfillmentorderscancellationrequestaccepted) + * to be notified whenever fulfillment order related domain events occur. + * + * [Learn about fulfillment workflows](https://shopify.dev/apps/fulfillment). + */ +export type FulfillmentOrderFulfillmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The FulfillmentOrder object represents either an item or a group of items in an + * [Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * that are expected to be fulfilled from the same location. + * There can be more than one fulfillment order for an + * [order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * at a given location. + * + * {{ '/api/reference/fulfillment_order_relationships.png' | image }} + * + * Fulfillment orders represent the work which is intended to be done in relation to an order. + * When fulfillment has started for one or more line items, a + * [Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) + * is created by a merchant or third party to represent the ongoing or completed work of fulfillment. + * + * [See below for more details on creating fulfillments](#the-lifecycle-of-a-fulfillment-order-at-a-location-which-is-managed-by-a-fulfillment-service). + * + * > Note: + * > Shopify creates fulfillment orders automatically when an order is created. + * > It is not possible to manually create fulfillment orders. + * > + * > [See below for more details on the lifecycle of a fulfillment order](#the-lifecycle-of-a-fulfillment-order). + * + * ## Retrieving fulfillment orders + * + * ### Fulfillment orders from an order + * + * All fulfillment orders related to a given order can be retrieved with the + * [Order.fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/objects/Order#connection-order-fulfillmentorders) + * connection. + * + * [API access scopes](#api-access-scopes) + * govern which fulfillments orders are returned to clients. + * An API client will only receive a subset of the fulfillment orders which belong to an order + * if they don't have the necessary access scopes to view all of the fulfillment orders. + * + * ### Fulfillment orders assigned to the app for fulfillment + * + * Fulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the + * [assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders) + * connection. + * Use the `assignmentStatus` argument to control whether all assigned fulfillment orders + * should be returned or only those where a merchant has sent a + * [fulfillment request](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderMerchantRequest) + * and it has yet to be responded to. + * + * The API client must be granted the `read_assigned_fulfillment_orders` access scope to access + * the assigned fulfillment orders. + * + * ### All fulfillment orders + * + * Apps can retrieve all fulfillment orders with the + * [fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/queries/fulfillmentOrders) + * query. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop, + * which are accessible to the app according to the + * [fulfillment order access scopes](#api-access-scopes) it was granted with. + * + * ## The lifecycle of a fulfillment order + * + * ### Fulfillment Order Creation + * + * After an order is created, a background worker performs the order routing process which determines + * which locations will be responsible for fulfilling the purchased items. + * Once the order routing process is complete, one or more fulfillment orders will be created + * and assigned to these locations. It is not possible to manually create fulfillment orders. + * + * Once a fulfillment order has been created, it will have one of two different lifecycles depending on + * the type of location which the fulfillment order is assigned to. + * + * ### The lifecycle of a fulfillment order at a merchant managed location + * + * Fulfillment orders are completed by creating + * [fulfillments](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment). + * Fulfillments represents the work done. + * + * For digital products a merchant or an order management app would create a fulfilment once the digital asset + * has been provisioned. + * For example, in the case of a digital gift card, a merchant would to do this once + * the gift card has been activated - before the email has been shipped. + * + * On the other hand, for a traditional shipped order, + * a merchant or an order management app would create a fulfillment after picking and packing the items relating + * to a fulfillment order, but before the courier has collected the goods. + * + * [Learn about managing fulfillment orders as an order management app](https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments). + * + * ### The lifecycle of a fulfillment order at a location which is managed by a fulfillment service + * + * For fulfillment orders which are assigned to a location that is managed by a fulfillment service, + * a merchant or an Order Management App can + * [send a fulfillment request](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitFulfillmentRequest) + * to the fulfillment service which operates the location to request that they fulfill the associated items. + * A fulfillment service has the option to + * [accept](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderAcceptFulfillmentRequest) + * or [reject](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderRejectFulfillmentRequest) + * this fulfillment request. + * + * Once the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant + * or order management app and instead a + * [cancellation request must be submitted](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitCancellationRequest) + * to the fulfillment service. + * + * Once a fulfillment service accepts a fulfillment request, + * then after they are ready to pack items and send them for delivery, they create fulfillments with the + * [fulfillmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentCreate) + * mutation. + * They can provide tracking information right away or create fulfillments without it and then + * update the tracking information for fulfillments with the + * [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) + * mutation. + * + * [Learn about managing fulfillment orders as a fulfillment service](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments). + * + * ## API access scopes + * + * Fulfillment orders are governed by the following API access scopes: + * + * * The `read_merchant_managed_fulfillment_orders` and + * `write_merchant_managed_fulfillment_orders` access scopes + * grant access to fulfillment orders assigned to merchant-managed locations. + * * The `read_assigned_fulfillment_orders` and `write_assigned_fulfillment_orders` + * access scopes are intended for fulfillment services. + * These scopes grant access to fulfillment orders assigned to locations that are being managed + * by fulfillment services. + * * The `read_third_party_fulfillment_orders` and `write_third_party_fulfillment_orders` + * access scopes grant access to fulfillment orders + * assigned to locations managed by other fulfillment services. + * + * ### Fulfillment service app access scopes + * + * Usually, **fulfillment services** have the `write_assigned_fulfillment_orders` access scope + * and don't have the `*_third_party_fulfillment_orders` + * or `*_merchant_managed_fulfillment_orders` access scopes. + * The app will only have access to the fulfillment orders assigned to their location + * (or multiple locations if the app registers multiple fulfillment services on the shop). + * The app will not have access to fulfillment orders assigned to merchant-managed locations + * or locations owned by other fulfillment service apps. + * + * ### Order management app access scopes + * + * **Order management apps** will usually request `write_merchant_managed_fulfillment_orders` and + * `write_third_party_fulfillment_orders` access scopes. This will allow them to manage all fulfillment orders + * on behalf of a merchant. + * + * If an app combines the functions of an order management app and a fulfillment service, + * then the app should request all + * access scopes to manage all assigned and all unassigned fulfillment orders. + * + * ## Notifications about fulfillment orders + * + * Fulfillment services are required to + * [register](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * a self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified + * whenever a merchant submits a fulfillment or cancellation request. + * + * Both merchants and apps can + * [subscribe](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks) + * to the + * [fulfillment order webhooks](https://shopify.dev/api/admin-graphql/latest/enums/WebhookSubscriptionTopic#value-fulfillmentorderscancellationrequestaccepted) + * to be notified whenever fulfillment order related domain events occur. + * + * [Learn about fulfillment workflows](https://shopify.dev/apps/fulfillment). + */ +export type FulfillmentOrderLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The FulfillmentOrder object represents either an item or a group of items in an + * [Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * that are expected to be fulfilled from the same location. + * There can be more than one fulfillment order for an + * [order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * at a given location. + * + * {{ '/api/reference/fulfillment_order_relationships.png' | image }} + * + * Fulfillment orders represent the work which is intended to be done in relation to an order. + * When fulfillment has started for one or more line items, a + * [Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) + * is created by a merchant or third party to represent the ongoing or completed work of fulfillment. + * + * [See below for more details on creating fulfillments](#the-lifecycle-of-a-fulfillment-order-at-a-location-which-is-managed-by-a-fulfillment-service). + * + * > Note: + * > Shopify creates fulfillment orders automatically when an order is created. + * > It is not possible to manually create fulfillment orders. + * > + * > [See below for more details on the lifecycle of a fulfillment order](#the-lifecycle-of-a-fulfillment-order). + * + * ## Retrieving fulfillment orders + * + * ### Fulfillment orders from an order + * + * All fulfillment orders related to a given order can be retrieved with the + * [Order.fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/objects/Order#connection-order-fulfillmentorders) + * connection. + * + * [API access scopes](#api-access-scopes) + * govern which fulfillments orders are returned to clients. + * An API client will only receive a subset of the fulfillment orders which belong to an order + * if they don't have the necessary access scopes to view all of the fulfillment orders. + * + * ### Fulfillment orders assigned to the app for fulfillment + * + * Fulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the + * [assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders) + * connection. + * Use the `assignmentStatus` argument to control whether all assigned fulfillment orders + * should be returned or only those where a merchant has sent a + * [fulfillment request](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderMerchantRequest) + * and it has yet to be responded to. + * + * The API client must be granted the `read_assigned_fulfillment_orders` access scope to access + * the assigned fulfillment orders. + * + * ### All fulfillment orders + * + * Apps can retrieve all fulfillment orders with the + * [fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/queries/fulfillmentOrders) + * query. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop, + * which are accessible to the app according to the + * [fulfillment order access scopes](#api-access-scopes) it was granted with. + * + * ## The lifecycle of a fulfillment order + * + * ### Fulfillment Order Creation + * + * After an order is created, a background worker performs the order routing process which determines + * which locations will be responsible for fulfilling the purchased items. + * Once the order routing process is complete, one or more fulfillment orders will be created + * and assigned to these locations. It is not possible to manually create fulfillment orders. + * + * Once a fulfillment order has been created, it will have one of two different lifecycles depending on + * the type of location which the fulfillment order is assigned to. + * + * ### The lifecycle of a fulfillment order at a merchant managed location + * + * Fulfillment orders are completed by creating + * [fulfillments](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment). + * Fulfillments represents the work done. + * + * For digital products a merchant or an order management app would create a fulfilment once the digital asset + * has been provisioned. + * For example, in the case of a digital gift card, a merchant would to do this once + * the gift card has been activated - before the email has been shipped. + * + * On the other hand, for a traditional shipped order, + * a merchant or an order management app would create a fulfillment after picking and packing the items relating + * to a fulfillment order, but before the courier has collected the goods. + * + * [Learn about managing fulfillment orders as an order management app](https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments). + * + * ### The lifecycle of a fulfillment order at a location which is managed by a fulfillment service + * + * For fulfillment orders which are assigned to a location that is managed by a fulfillment service, + * a merchant or an Order Management App can + * [send a fulfillment request](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitFulfillmentRequest) + * to the fulfillment service which operates the location to request that they fulfill the associated items. + * A fulfillment service has the option to + * [accept](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderAcceptFulfillmentRequest) + * or [reject](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderRejectFulfillmentRequest) + * this fulfillment request. + * + * Once the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant + * or order management app and instead a + * [cancellation request must be submitted](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitCancellationRequest) + * to the fulfillment service. + * + * Once a fulfillment service accepts a fulfillment request, + * then after they are ready to pack items and send them for delivery, they create fulfillments with the + * [fulfillmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentCreate) + * mutation. + * They can provide tracking information right away or create fulfillments without it and then + * update the tracking information for fulfillments with the + * [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) + * mutation. + * + * [Learn about managing fulfillment orders as a fulfillment service](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments). + * + * ## API access scopes + * + * Fulfillment orders are governed by the following API access scopes: + * + * * The `read_merchant_managed_fulfillment_orders` and + * `write_merchant_managed_fulfillment_orders` access scopes + * grant access to fulfillment orders assigned to merchant-managed locations. + * * The `read_assigned_fulfillment_orders` and `write_assigned_fulfillment_orders` + * access scopes are intended for fulfillment services. + * These scopes grant access to fulfillment orders assigned to locations that are being managed + * by fulfillment services. + * * The `read_third_party_fulfillment_orders` and `write_third_party_fulfillment_orders` + * access scopes grant access to fulfillment orders + * assigned to locations managed by other fulfillment services. + * + * ### Fulfillment service app access scopes + * + * Usually, **fulfillment services** have the `write_assigned_fulfillment_orders` access scope + * and don't have the `*_third_party_fulfillment_orders` + * or `*_merchant_managed_fulfillment_orders` access scopes. + * The app will only have access to the fulfillment orders assigned to their location + * (or multiple locations if the app registers multiple fulfillment services on the shop). + * The app will not have access to fulfillment orders assigned to merchant-managed locations + * or locations owned by other fulfillment service apps. + * + * ### Order management app access scopes + * + * **Order management apps** will usually request `write_merchant_managed_fulfillment_orders` and + * `write_third_party_fulfillment_orders` access scopes. This will allow them to manage all fulfillment orders + * on behalf of a merchant. + * + * If an app combines the functions of an order management app and a fulfillment service, + * then the app should request all + * access scopes to manage all assigned and all unassigned fulfillment orders. + * + * ## Notifications about fulfillment orders + * + * Fulfillment services are required to + * [register](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * a self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified + * whenever a merchant submits a fulfillment or cancellation request. + * + * Both merchants and apps can + * [subscribe](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks) + * to the + * [fulfillment order webhooks](https://shopify.dev/api/admin-graphql/latest/enums/WebhookSubscriptionTopic#value-fulfillmentorderscancellationrequestaccepted) + * to be notified whenever fulfillment order related domain events occur. + * + * [Learn about fulfillment workflows](https://shopify.dev/apps/fulfillment). + */ +export type FulfillmentOrderLocationsForMoveArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + lineItemIds?: InputMaybe>; + locationIds?: InputMaybe>; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The FulfillmentOrder object represents either an item or a group of items in an + * [Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * that are expected to be fulfilled from the same location. + * There can be more than one fulfillment order for an + * [order](https://shopify.dev/api/admin-graphql/latest/objects/Order) + * at a given location. + * + * {{ '/api/reference/fulfillment_order_relationships.png' | image }} + * + * Fulfillment orders represent the work which is intended to be done in relation to an order. + * When fulfillment has started for one or more line items, a + * [Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) + * is created by a merchant or third party to represent the ongoing or completed work of fulfillment. + * + * [See below for more details on creating fulfillments](#the-lifecycle-of-a-fulfillment-order-at-a-location-which-is-managed-by-a-fulfillment-service). + * + * > Note: + * > Shopify creates fulfillment orders automatically when an order is created. + * > It is not possible to manually create fulfillment orders. + * > + * > [See below for more details on the lifecycle of a fulfillment order](#the-lifecycle-of-a-fulfillment-order). + * + * ## Retrieving fulfillment orders + * + * ### Fulfillment orders from an order + * + * All fulfillment orders related to a given order can be retrieved with the + * [Order.fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/objects/Order#connection-order-fulfillmentorders) + * connection. + * + * [API access scopes](#api-access-scopes) + * govern which fulfillments orders are returned to clients. + * An API client will only receive a subset of the fulfillment orders which belong to an order + * if they don't have the necessary access scopes to view all of the fulfillment orders. + * + * ### Fulfillment orders assigned to the app for fulfillment + * + * Fulfillment service apps can retrieve the fulfillment orders which have been assigned to their locations with the + * [assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders) + * connection. + * Use the `assignmentStatus` argument to control whether all assigned fulfillment orders + * should be returned or only those where a merchant has sent a + * [fulfillment request](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderMerchantRequest) + * and it has yet to be responded to. + * + * The API client must be granted the `read_assigned_fulfillment_orders` access scope to access + * the assigned fulfillment orders. + * + * ### All fulfillment orders + * + * Apps can retrieve all fulfillment orders with the + * [fulfillmentOrders](https://shopify.dev/api/admin-graphql/latest/queries/fulfillmentOrders) + * query. This query returns all assigned, merchant-managed, and third-party fulfillment orders on the shop, + * which are accessible to the app according to the + * [fulfillment order access scopes](#api-access-scopes) it was granted with. + * + * ## The lifecycle of a fulfillment order + * + * ### Fulfillment Order Creation + * + * After an order is created, a background worker performs the order routing process which determines + * which locations will be responsible for fulfilling the purchased items. + * Once the order routing process is complete, one or more fulfillment orders will be created + * and assigned to these locations. It is not possible to manually create fulfillment orders. + * + * Once a fulfillment order has been created, it will have one of two different lifecycles depending on + * the type of location which the fulfillment order is assigned to. + * + * ### The lifecycle of a fulfillment order at a merchant managed location + * + * Fulfillment orders are completed by creating + * [fulfillments](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment). + * Fulfillments represents the work done. + * + * For digital products a merchant or an order management app would create a fulfilment once the digital asset + * has been provisioned. + * For example, in the case of a digital gift card, a merchant would to do this once + * the gift card has been activated - before the email has been shipped. + * + * On the other hand, for a traditional shipped order, + * a merchant or an order management app would create a fulfillment after picking and packing the items relating + * to a fulfillment order, but before the courier has collected the goods. + * + * [Learn about managing fulfillment orders as an order management app](https://shopify.dev/apps/fulfillment/order-management-apps/manage-fulfillments). + * + * ### The lifecycle of a fulfillment order at a location which is managed by a fulfillment service + * + * For fulfillment orders which are assigned to a location that is managed by a fulfillment service, + * a merchant or an Order Management App can + * [send a fulfillment request](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitFulfillmentRequest) + * to the fulfillment service which operates the location to request that they fulfill the associated items. + * A fulfillment service has the option to + * [accept](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderAcceptFulfillmentRequest) + * or [reject](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderRejectFulfillmentRequest) + * this fulfillment request. + * + * Once the fulfillment service has accepted the request, the request can no longer be cancelled by the merchant + * or order management app and instead a + * [cancellation request must be submitted](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderSubmitCancellationRequest) + * to the fulfillment service. + * + * Once a fulfillment service accepts a fulfillment request, + * then after they are ready to pack items and send them for delivery, they create fulfillments with the + * [fulfillmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentCreate) + * mutation. + * They can provide tracking information right away or create fulfillments without it and then + * update the tracking information for fulfillments with the + * [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) + * mutation. + * + * [Learn about managing fulfillment orders as a fulfillment service](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments). + * + * ## API access scopes + * + * Fulfillment orders are governed by the following API access scopes: + * + * * The `read_merchant_managed_fulfillment_orders` and + * `write_merchant_managed_fulfillment_orders` access scopes + * grant access to fulfillment orders assigned to merchant-managed locations. + * * The `read_assigned_fulfillment_orders` and `write_assigned_fulfillment_orders` + * access scopes are intended for fulfillment services. + * These scopes grant access to fulfillment orders assigned to locations that are being managed + * by fulfillment services. + * * The `read_third_party_fulfillment_orders` and `write_third_party_fulfillment_orders` + * access scopes grant access to fulfillment orders + * assigned to locations managed by other fulfillment services. + * + * ### Fulfillment service app access scopes + * + * Usually, **fulfillment services** have the `write_assigned_fulfillment_orders` access scope + * and don't have the `*_third_party_fulfillment_orders` + * or `*_merchant_managed_fulfillment_orders` access scopes. + * The app will only have access to the fulfillment orders assigned to their location + * (or multiple locations if the app registers multiple fulfillment services on the shop). + * The app will not have access to fulfillment orders assigned to merchant-managed locations + * or locations owned by other fulfillment service apps. + * + * ### Order management app access scopes + * + * **Order management apps** will usually request `write_merchant_managed_fulfillment_orders` and + * `write_third_party_fulfillment_orders` access scopes. This will allow them to manage all fulfillment orders + * on behalf of a merchant. + * + * If an app combines the functions of an order management app and a fulfillment service, + * then the app should request all + * access scopes to manage all assigned and all unassigned fulfillment orders. + * + * ## Notifications about fulfillment orders + * + * Fulfillment services are required to + * [register](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * a self-hosted callback URL which has a number of uses. One of these uses is that this callback URL will be notified + * whenever a merchant submits a fulfillment or cancellation request. + * + * Both merchants and apps can + * [subscribe](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks) + * to the + * [fulfillment order webhooks](https://shopify.dev/api/admin-graphql/latest/enums/WebhookSubscriptionTopic#value-fulfillmentorderscancellationrequestaccepted) + * to be notified whenever fulfillment order related domain events occur. + * + * [Learn about fulfillment workflows](https://shopify.dev/apps/fulfillment). + */ +export type FulfillmentOrderMerchantRequestsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + kind?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `fulfillmentOrderAcceptCancellationRequest` mutation. */ +export type FulfillmentOrderAcceptCancellationRequestPayload = { + __typename?: 'FulfillmentOrderAcceptCancellationRequestPayload'; + /** The fulfillment order whose cancellation request was accepted. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentOrderAcceptFulfillmentRequest` mutation. */ +export type FulfillmentOrderAcceptFulfillmentRequestPayload = { + __typename?: 'FulfillmentOrderAcceptFulfillmentRequestPayload'; + /** The fulfillment order whose fulfillment request was accepted. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The actions that can be taken on a fulfillment order. */ +export enum FulfillmentOrderAction { + /** Cancels a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderCancel`. */ + CancelFulfillmentOrder = 'CANCEL_FULFILLMENT_ORDER', + /** Creates a fulfillment for selected line items in the fulfillment order. The corresponding mutation for this action is `fulfillmentCreateV2`. */ + CreateFulfillment = 'CREATE_FULFILLMENT', + /** Opens an external URL to initiate the fulfillment process outside Shopify. This action should be paired with `FulfillmentOrderSupportedAction.externalUrl`. */ + External = 'EXTERNAL', + /** Applies a fulfillment hold on the fulfillment order. The corresponding mutation for this action is `fulfillmentOrderHold`. */ + Hold = 'HOLD', + /** Marks the fulfillment order as open. The corresponding mutation for this action is `fulfillmentOrderOpen`. */ + MarkAsOpen = 'MARK_AS_OPEN', + /** Merges a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderMerge`. */ + Merge = 'MERGE', + /** Moves a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderMove`. */ + Move = 'MOVE', + /** Releases the fulfillment hold on the fulfillment order. The corresponding mutation for this action is `fulfillmentOrderReleaseHold`. */ + ReleaseHold = 'RELEASE_HOLD', + /** Sends a cancellation request to the fulfillment service of a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderSubmitCancellationRequest`. */ + RequestCancellation = 'REQUEST_CANCELLATION', + /** Sends a request for fulfilling selected line items in a fulfillment order to a fulfillment service. The corresponding mutation for this action is `fulfillmentOrderSubmitFulfillmentRequest`. */ + RequestFulfillment = 'REQUEST_FULFILLMENT', + /** Splits a fulfillment order. The corresponding mutation for this action is `fulfillmentOrderSplit`. */ + Split = 'SPLIT' +} + +/** + * The fulfillment order's assigned location. This is the location where the fulfillment is expected to happen. + * + * The fulfillment order's assigned location might change in the following cases: + * + * - The fulfillment order has been entirely moved to a new location. For example, the [fulfillmentOrderMove]( + * https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove + * ) mutation has been called, and you see the original fulfillment order in the [movedFulfillmentOrder]( + * https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove#field-fulfillmentordermovepayload-movedfulfillmentorder + * ) field within the mutation's response. + * + * - Work on the fulfillment order has not yet begun, which means that the fulfillment order has the + * [OPEN](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-open), + * [SCHEDULED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-scheduled), or + * [ON_HOLD](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-onhold) + * status, and the shop's location properties might be undergoing edits (for example, in the Shopify admin). + * + * If the [fulfillmentOrderMove]( + * https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentOrderMove + * ) mutation has moved the fulfillment order's line items to a new location, + * but hasn't moved the fulfillment order instance itself, then the original fulfillment order's assigned location + * doesn't change. + * This happens if the fulfillment order is being split during the move, or if all line items can be moved + * to an existing fulfillment order at a new location. + * + * Once the fulfillment order has been taken into work or canceled, + * which means that the fulfillment order has the + * [IN_PROGRESS](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-inprogress), + * [CLOSED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-closed), + * [CANCELLED](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-cancelled), or + * [INCOMPLETE](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderStatus#value-incomplete) + * status, `FulfillmentOrderAssignedLocation` acts as a snapshot of the shop's location content. + * Up-to-date shop's location data may be queried through [location]( + * https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderAssignedLocation#field-fulfillmentorderassignedlocation-location + * ) connection. + */ +export type FulfillmentOrderAssignedLocation = { + __typename?: 'FulfillmentOrderAssignedLocation'; + /** The first line of the address for the location. */ + address1?: Maybe; + /** The second line of the address for the location. */ + address2?: Maybe; + /** The city of the location. */ + city?: Maybe; + /** The two-letter country code of the location. */ + countryCode: CountryCode; + /** + * The location where the fulfillment is expected to happen. This value might be different from + * `FulfillmentOrderAssignedLocation` if the location's attributes were updated + * after the fulfillment order was taken into work of canceled. + */ + location?: Maybe; + /** The name of the location. */ + name: Scalars['String']['output']; + /** The phone number of the location. */ + phone?: Maybe; + /** The province of the location. */ + province?: Maybe; + /** The ZIP code of the location. */ + zip?: Maybe; +}; + +/** The assigment status to be used to filter fulfillment orders. */ +export enum FulfillmentOrderAssignmentStatus { + /** + * Fulfillment orders for which the merchant has requested cancellation of + * the previously accepted fulfillment request. + */ + CancellationRequested = 'CANCELLATION_REQUESTED', + /** + * Fulfillment orders for which the merchant's fulfillment request has been accepted. + * Any number of fulfillments can be created on these fulfillment orders + * to completely fulfill the requested items. + */ + FulfillmentAccepted = 'FULFILLMENT_ACCEPTED', + /** Fulfillment orders for which the merchant has requested fulfillment. */ + FulfillmentRequested = 'FULFILLMENT_REQUESTED', + /** Fulfillment orders for which the merchant hasn't yet requested fulfillment. */ + FulfillmentUnsubmitted = 'FULFILLMENT_UNSUBMITTED' +} + +/** Return type for `fulfillmentOrderCancel` mutation. */ +export type FulfillmentOrderCancelPayload = { + __typename?: 'FulfillmentOrderCancelPayload'; + /** The fulfillment order that was marked as canceled. */ + fulfillmentOrder?: Maybe; + /** The fulfillment order that was created to replace the canceled fulfillment order. */ + replacementFulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentOrderClose` mutation. */ +export type FulfillmentOrderClosePayload = { + __typename?: 'FulfillmentOrderClosePayload'; + /** The fulfillment order that was marked as incomplete. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple FulfillmentOrders. */ +export type FulfillmentOrderConnection = { + __typename?: 'FulfillmentOrderConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FulfillmentOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Represents the destination where the items should be sent upon fulfillment. */ +export type FulfillmentOrderDestination = Node & { + __typename?: 'FulfillmentOrderDestination'; + /** The first line of the address of the destination. */ + address1?: Maybe; + /** The second line of the address of the destination. */ + address2?: Maybe; + /** The city of the destination. */ + city?: Maybe; + /** The company of the destination. */ + company?: Maybe; + /** The two-letter country code of the destination. */ + countryCode?: Maybe; + /** The email of the customer at the destination. */ + email?: Maybe; + /** The first name of the customer at the destination. */ + firstName?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The last name of the customer at the destination. */ + lastName?: Maybe; + /** The location designated for the pick-up of the fulfillment order. */ + location?: Maybe; + /** The phone number of the customer at the destination. */ + phone?: Maybe; + /** The province of the destination. */ + province?: Maybe; + /** The ZIP code of the destination. */ + zip?: Maybe; +}; + +/** An auto-generated type which holds one FulfillmentOrder and a cursor during pagination. */ +export type FulfillmentOrderEdge = { + __typename?: 'FulfillmentOrderEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FulfillmentOrderEdge. */ + node: FulfillmentOrder; +}; + +/** The input fields for the fulfillment hold applied on the fulfillment order. */ +export type FulfillmentOrderHoldInput = { + /** A configurable ID used to track the automation system releasing these holds. */ + externalId?: InputMaybe; + /** + * The fulfillment order line items to be placed on hold. + * If left blank, all line items of the fulfillment order are placed on hold. + */ + fulfillmentOrderLineItems?: InputMaybe>; + /** Whether the merchant receives a notification about the fulfillment hold. The default value is `false`. */ + notifyMerchant?: InputMaybe; + /** The reason for the fulfillment hold. */ + reason: FulfillmentHoldReason; + /** Additional information about the fulfillment hold reason. */ + reasonNotes?: InputMaybe; +}; + +/** Return type for `fulfillmentOrderHold` mutation. */ +export type FulfillmentOrderHoldPayload = { + __typename?: 'FulfillmentOrderHoldPayload'; + /** The fulfillment hold created for the fulfillment order. Null if no hold was created. */ + fulfillmentHold?: Maybe; + /** The fulfillment order on which a fulfillment hold was applied. */ + fulfillmentOrder?: Maybe; + /** + * The remaining fulfillment order containing the line items to which the hold wasn't applied, + * if specific line items were specified to be placed on hold. + */ + remainingFulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentOrderHold`. */ +export type FulfillmentOrderHoldUserError = DisplayableError & { + __typename?: 'FulfillmentOrderHoldUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentOrderHoldUserError`. */ +export enum FulfillmentOrderHoldUserErrorCode { + /** The fulfillment order could not be found. */ + FulfillmentOrderNotFound = 'FULFILLMENT_ORDER_NOT_FOUND', + /** The fulfillment order line item quantity must be greater than 0. */ + GreaterThanZero = 'GREATER_THAN_ZERO', + /** The fulfillment order line item quantity is invalid. */ + InvalidLineItemQuantity = 'INVALID_LINE_ITEM_QUANTITY', + /** The input value is already taken. */ + Taken = 'TAKEN' +} + +/** The international duties relevant to a fulfillment order. */ +export type FulfillmentOrderInternationalDuties = { + __typename?: 'FulfillmentOrderInternationalDuties'; + /** The method of duties payment. Example values: `DDP`, `DAP`. */ + incoterm: Scalars['String']['output']; +}; + +/** Associates an order line item with quantities requiring fulfillment from the respective fulfillment order. */ +export type FulfillmentOrderLineItem = Node & { + __typename?: 'FulfillmentOrderLineItem'; + /** The financial summary for the Fulfillment Order's Line Items. */ + financialSummaries: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image associated to the line item's variant. */ + image?: Maybe; + /** The ID of the inventory item. */ + inventoryItemId?: Maybe; + /** The associated order line item. */ + lineItem: LineItem; + /** + * The variant unit price without discounts applied, in shop and presentment currencies. + * @deprecated Use `financialSummaries` instead. + */ + originalUnitPriceSet: MoneyBag; + /** The title of the product. */ + productTitle: Scalars['String']['output']; + /** The number of units remaining to be fulfilled. */ + remainingQuantity: Scalars['Int']['output']; + /** Whether physical shipping is required for the variant. */ + requiresShipping: Scalars['Boolean']['output']; + /** The variant SKU number. */ + sku?: Maybe; + /** The total number of units to be fulfilled. */ + totalQuantity: Scalars['Int']['output']; + /** The product variant associated to the fulfillment order line item. */ + variant?: Maybe; + /** The name of the variant. */ + variantTitle?: Maybe; + /** The name of the vendor who made the variant. */ + vendor?: Maybe; + /** Warning messages for a fulfillment order line item. */ + warnings: Array; + /** The weight of a line item unit. */ + weight?: Maybe; +}; + +/** An auto-generated type for paginating through multiple FulfillmentOrderLineItems. */ +export type FulfillmentOrderLineItemConnection = { + __typename?: 'FulfillmentOrderLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FulfillmentOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one FulfillmentOrderLineItem and a cursor during pagination. */ +export type FulfillmentOrderLineItemEdge = { + __typename?: 'FulfillmentOrderLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FulfillmentOrderLineItemEdge. */ + node: FulfillmentOrderLineItem; +}; + +/** The financial details of a fulfillment order line item. */ +export type FulfillmentOrderLineItemFinancialSummary = { + __typename?: 'FulfillmentOrderLineItemFinancialSummary'; + /** The approximate split price of a line item unit, in shop and presentment currencies. This value doesn't include discounts applied to the entire order.For the full picture of applied discounts, see discountAllocations. */ + approximateDiscountedUnitPriceSet: MoneyBag; + /** The discounts that have been allocated onto the line item by discount applications, not including order edits and refunds. */ + discountAllocations: Array; + /** The variant unit price without discounts applied, in shop and presentment currencies. */ + originalUnitPriceSet: MoneyBag; + /** Number of line items that this financial summary applies to. */ + quantity: Scalars['Int']['output']; +}; + +/** The input fields used to include the quantity of the fulfillment order line item that should be fulfilled. */ +export type FulfillmentOrderLineItemInput = { + /** The ID of the fulfillment order line item. */ + id: Scalars['ID']['input']; + /** The quantity of the fulfillment order line item. */ + quantity: Scalars['Int']['input']; +}; + +/** A fulfillment order line item warning. For example, a warning about why a fulfillment request was rejected. */ +export type FulfillmentOrderLineItemWarning = { + __typename?: 'FulfillmentOrderLineItemWarning'; + /** The description of warning. */ + description?: Maybe; + /** The title of warning. */ + title?: Maybe; +}; + +/** The input fields used to include the line items of a specified fulfillment order that should be fulfilled. */ +export type FulfillmentOrderLineItemsInput = { + /** The ID of the fulfillment order. */ + fulfillmentOrderId: Scalars['ID']['input']; + /** + * The fulfillment order line items to be fulfilled. + * If left blank, all line items of the fulfillment order will be fulfilled. + */ + fulfillmentOrderLineItems?: InputMaybe>; +}; + +/** The input fields for marking fulfillment order line items as ready for pickup. */ +export type FulfillmentOrderLineItemsPreparedForPickupInput = { + /** The fulfillment orders associated with the line items which are ready to be picked up by a customer. */ + lineItemsByFulfillmentOrder: Array; +}; + +/** Return type for `fulfillmentOrderLineItemsPreparedForPickup` mutation. */ +export type FulfillmentOrderLineItemsPreparedForPickupPayload = { + __typename?: 'FulfillmentOrderLineItemsPreparedForPickupPayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentOrderLineItemsPreparedForPickup`. */ +export type FulfillmentOrderLineItemsPreparedForPickupUserError = DisplayableError & { + __typename?: 'FulfillmentOrderLineItemsPreparedForPickupUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentOrderLineItemsPreparedForPickupUserError`. */ +export enum FulfillmentOrderLineItemsPreparedForPickupUserErrorCode { + /** Invalid fulfillment order ID provided. */ + FulfillmentOrderInvalid = 'FULFILLMENT_ORDER_INVALID', + /** The fulfillment order does not have any line items that can be prepared. */ + NoLineItemsToPrepareForFulfillmentOrder = 'NO_LINE_ITEMS_TO_PREPARE_FOR_FULFILLMENT_ORDER', + /** Unable to prepare quantity. */ + UnableToPrepareQuantity = 'UNABLE_TO_PREPARE_QUANTITY' +} + +/** A location that a fulfillment order can potentially move to. */ +export type FulfillmentOrderLocationForMove = { + __typename?: 'FulfillmentOrderLocationForMove'; + /** Fulfillment order line items that can be moved from their current location to the given location. */ + availableLineItems: FulfillmentOrderLineItemConnection; + /** + * Total number of fulfillment order line items that can be moved from their current assigned location to the + * given location. + */ + availableLineItemsCount?: Maybe; + /** The location being considered as the fulfillment order's new assigned location. */ + location: Location; + /** + * A human-readable string with the reason why the fulfillment order, or some of its line items, can't be + * moved to the location. + */ + message?: Maybe; + /** Whether the fulfillment order can be moved to the location. */ + movable: Scalars['Boolean']['output']; + /** Fulfillment order line items that cannot be moved from their current location to the given location. */ + unavailableLineItems: FulfillmentOrderLineItemConnection; + /** + * Total number of fulfillment order line items that can't be moved from their current assigned location to the + * given location. + */ + unavailableLineItemsCount?: Maybe; +}; + + +/** A location that a fulfillment order can potentially move to. */ +export type FulfillmentOrderLocationForMoveAvailableLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A location that a fulfillment order can potentially move to. */ +export type FulfillmentOrderLocationForMoveUnavailableLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple FulfillmentOrderLocationForMoves. */ +export type FulfillmentOrderLocationForMoveConnection = { + __typename?: 'FulfillmentOrderLocationForMoveConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FulfillmentOrderLocationForMoveEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one FulfillmentOrderLocationForMove and a cursor during pagination. */ +export type FulfillmentOrderLocationForMoveEdge = { + __typename?: 'FulfillmentOrderLocationForMoveEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FulfillmentOrderLocationForMoveEdge. */ + node: FulfillmentOrderLocationForMove; +}; + +/** + * A request made by the merchant or an order management app to a fulfillment service + * for a fulfillment order. + */ +export type FulfillmentOrderMerchantRequest = Node & { + __typename?: 'FulfillmentOrderMerchantRequest'; + /** The fulfillment order associated with the merchant request. */ + fulfillmentOrder: FulfillmentOrder; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The kind of request made. */ + kind: FulfillmentOrderMerchantRequestKind; + /** The optional message that the merchant included in the request. */ + message?: Maybe; + /** + * Additional options requested by the merchant. These depend on the `kind` of the request. + * For example, for a `FULFILLMENT_REQUEST`, one option is `notify_customer`, which indicates whether the + * merchant intends to notify the customer upon fulfillment. The fulfillment service can then set + * `notifyCustomer` when making calls to `FulfillmentCreate`. + */ + requestOptions?: Maybe; + /** The response from the fulfillment service. */ + responseData?: Maybe; + /** The timestamp when the request was made. */ + sentAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple FulfillmentOrderMerchantRequests. */ +export type FulfillmentOrderMerchantRequestConnection = { + __typename?: 'FulfillmentOrderMerchantRequestConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in FulfillmentOrderMerchantRequestEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one FulfillmentOrderMerchantRequest and a cursor during pagination. */ +export type FulfillmentOrderMerchantRequestEdge = { + __typename?: 'FulfillmentOrderMerchantRequestEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of FulfillmentOrderMerchantRequestEdge. */ + node: FulfillmentOrderMerchantRequest; +}; + +/** The kinds of request merchants can make to a fulfillment service. */ +export enum FulfillmentOrderMerchantRequestKind { + /** The merchant requests cancellation of an `IN_PROGRESS` fulfillment order. */ + CancellationRequest = 'CANCELLATION_REQUEST', + /** The merchant requests fulfillment for an `OPEN` fulfillment order. */ + FulfillmentRequest = 'FULFILLMENT_REQUEST' +} + +/** The input fields for merging fulfillment orders. */ +export type FulfillmentOrderMergeInput = { + /** The details of the fulfillment orders to be merged. */ + mergeIntents: Array; +}; + +/** The input fields for merging fulfillment orders into a single merged fulfillment order. */ +export type FulfillmentOrderMergeInputMergeIntent = { + /** The ID of the fulfillment order to be merged. */ + fulfillmentOrderId: Scalars['ID']['input']; + /** The fulfillment order line items to be merged. */ + fulfillmentOrderLineItems?: InputMaybe>; +}; + +/** Return type for `fulfillmentOrderMerge` mutation. */ +export type FulfillmentOrderMergePayload = { + __typename?: 'FulfillmentOrderMergePayload'; + /** The result of the fulfillment order merges. */ + fulfillmentOrderMerges?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The result of merging a set of fulfillment orders. */ +export type FulfillmentOrderMergeResult = { + __typename?: 'FulfillmentOrderMergeResult'; + /** The new fulfillment order as a result of the merge. */ + fulfillmentOrder: FulfillmentOrder; +}; + +/** An error that occurs during the execution of `FulfillmentOrderMerge`. */ +export type FulfillmentOrderMergeUserError = DisplayableError & { + __typename?: 'FulfillmentOrderMergeUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentOrderMergeUserError`. */ +export enum FulfillmentOrderMergeUserErrorCode { + /** The fulfillment order could not be found. */ + FulfillmentOrderNotFound = 'FULFILLMENT_ORDER_NOT_FOUND', + /** The fulfillment order line item quantity must be greater than 0. */ + GreaterThan = 'GREATER_THAN', + /** The fulfillment order line item quantity is invalid. */ + InvalidLineItemQuantity = 'INVALID_LINE_ITEM_QUANTITY' +} + +/** Return type for `fulfillmentOrderMove` mutation. */ +export type FulfillmentOrderMovePayload = { + __typename?: 'FulfillmentOrderMovePayload'; + /** + * The fulfillment order which now contains the moved line items and is assigned to the destination location. + * + * If the original fulfillment order doesn't have any line items which are fully or partially fulfilled, the original fulfillment order will be moved to the new location. + * However if this isn't the case, the moved fulfillment order will differ from the original one. + */ + movedFulfillmentOrder?: Maybe; + /** + * The final state of the original fulfillment order. + * + * As a result of the move operation, the original fulfillment order might be moved to the new location + * or remain in the original location. The original fulfillment order might have the same status or be closed. + */ + originalFulfillmentOrder?: Maybe; + /** This field is deprecated. */ + remainingFulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentOrderOpen` mutation. */ +export type FulfillmentOrderOpenPayload = { + __typename?: 'FulfillmentOrderOpenPayload'; + /** The fulfillment order that was transitioned to open and is fulfillable. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentOrderRejectCancellationRequest` mutation. */ +export type FulfillmentOrderRejectCancellationRequestPayload = { + __typename?: 'FulfillmentOrderRejectCancellationRequestPayload'; + /** The fulfillment order whose cancellation request was rejected. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentOrderRejectFulfillmentRequest` mutation. */ +export type FulfillmentOrderRejectFulfillmentRequestPayload = { + __typename?: 'FulfillmentOrderRejectFulfillmentRequestPayload'; + /** The fulfillment order whose fulfillment request was rejected. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The reason for a fulfillment order rejection. */ +export enum FulfillmentOrderRejectionReason { + /** The fulfillment order was rejected because of an incorrect address. */ + IncorrectAddress = 'INCORRECT_ADDRESS', + /** The fulfillment order was rejected because of an ineligible product. */ + IneligibleProduct = 'INELIGIBLE_PRODUCT', + /** The fulfillment order was rejected because inventory is out of stock. */ + InventoryOutOfStock = 'INVENTORY_OUT_OF_STOCK', + /** The fulfillment order was rejected for another reason. */ + Other = 'OTHER', + /** The fulfillment order was rejected because of an undeliverable destination. */ + UndeliverableDestination = 'UNDELIVERABLE_DESTINATION' +} + +/** Return type for `fulfillmentOrderReleaseHold` mutation. */ +export type FulfillmentOrderReleaseHoldPayload = { + __typename?: 'FulfillmentOrderReleaseHoldPayload'; + /** The fulfillment order on which the hold was released. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentOrderReleaseHold`. */ +export type FulfillmentOrderReleaseHoldUserError = DisplayableError & { + __typename?: 'FulfillmentOrderReleaseHoldUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentOrderReleaseHoldUserError`. */ +export enum FulfillmentOrderReleaseHoldUserErrorCode { + /** The fulfillment order wasn't found. */ + FulfillmentOrderNotFound = 'FULFILLMENT_ORDER_NOT_FOUND', + /** The app doesn't have access to release the fulfillment hold. */ + InvalidAccess = 'INVALID_ACCESS' +} + +/** The request status of a fulfillment order. */ +export enum FulfillmentOrderRequestStatus { + /** The fulfillment service accepted the merchant's fulfillment request. */ + Accepted = 'ACCEPTED', + /** The fulfillment service accepted the merchant's fulfillment cancellation request. */ + CancellationAccepted = 'CANCELLATION_ACCEPTED', + /** The fulfillment service rejected the merchant's fulfillment cancellation request. */ + CancellationRejected = 'CANCELLATION_REJECTED', + /** The merchant requested a cancellation of the fulfillment request for this fulfillment order. */ + CancellationRequested = 'CANCELLATION_REQUESTED', + /** The fulfillment service closed the fulfillment order without completing it. */ + Closed = 'CLOSED', + /** The fulfillment service rejected the merchant's fulfillment request. */ + Rejected = 'REJECTED', + /** The merchant requested fulfillment for this fulfillment order. */ + Submitted = 'SUBMITTED', + /** + * The initial request status for the newly-created fulfillment orders. This is the only valid + * request status for fulfillment orders that aren't assigned to a fulfillment service. + */ + Unsubmitted = 'UNSUBMITTED' +} + +/** Return type for `fulfillmentOrderReschedule` mutation. */ +export type FulfillmentOrderReschedulePayload = { + __typename?: 'FulfillmentOrderReschedulePayload'; + /** + * A fulfillment order with the rescheduled line items. + * + * Fulfillment orders may be merged if they have the same `fulfillAt` datetime. + * + * If the fulfillment order is merged then the resulting fulfillment order will be returned. + * Otherwise the original fulfillment order will be returned with an updated `fulfillAt` datetime. + */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentOrderReschedule`. */ +export type FulfillmentOrderRescheduleUserError = DisplayableError & { + __typename?: 'FulfillmentOrderRescheduleUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentOrderRescheduleUserError`. */ +export enum FulfillmentOrderRescheduleUserErrorCode { + /** Fulfillment order could not be found. */ + FulfillmentOrderNotFound = 'FULFILLMENT_ORDER_NOT_FOUND' +} + +/** The set of valid sort keys for the FulfillmentOrder query. */ +export enum FulfillmentOrderSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** The input fields for the split applied to the fulfillment order. */ +export type FulfillmentOrderSplitInput = { + /** The ID of the fulfillment order to be split. */ + fulfillmentOrderId: Scalars['ID']['input']; + /** The fulfillment order line items to be split out. */ + fulfillmentOrderLineItems: Array; +}; + +/** Return type for `fulfillmentOrderSplit` mutation. */ +export type FulfillmentOrderSplitPayload = { + __typename?: 'FulfillmentOrderSplitPayload'; + /** The result of the fulfillment order splits. */ + fulfillmentOrderSplits?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The result of splitting a fulfillment order. */ +export type FulfillmentOrderSplitResult = { + __typename?: 'FulfillmentOrderSplitResult'; + /** The original fulfillment order as a result of the split. */ + fulfillmentOrder: FulfillmentOrder; + /** The remaining fulfillment order as a result of the split. */ + remainingFulfillmentOrder: FulfillmentOrder; + /** The replacement fulfillment order if the original fulfillment order wasn't in a state to be split. */ + replacementFulfillmentOrder?: Maybe; +}; + +/** An error that occurs during the execution of `FulfillmentOrderSplit`. */ +export type FulfillmentOrderSplitUserError = DisplayableError & { + __typename?: 'FulfillmentOrderSplitUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentOrderSplitUserError`. */ +export enum FulfillmentOrderSplitUserErrorCode { + /** The fulfillment order could not be found. */ + FulfillmentOrderNotFound = 'FULFILLMENT_ORDER_NOT_FOUND', + /** The fulfillment order line item quantity must be greater than 0. */ + GreaterThan = 'GREATER_THAN', + /** The fulfillment order line item quantity is invalid. */ + InvalidLineItemQuantity = 'INVALID_LINE_ITEM_QUANTITY', + /** The fulfillment order must have at least one line item input to split. */ + NoLineItemsProvidedToSplit = 'NO_LINE_ITEMS_PROVIDED_TO_SPLIT' +} + +/** The status of a fulfillment order. */ +export enum FulfillmentOrderStatus { + /** The fulfillment order has been cancelled by the merchant. */ + Cancelled = 'CANCELLED', + /** The fulfillment order has been completed and closed. */ + Closed = 'CLOSED', + /** The fulfillment order cannot be completed as requested. */ + Incomplete = 'INCOMPLETE', + /** The fulfillment order is being processed. */ + InProgress = 'IN_PROGRESS', + /** The fulfillment order is on hold. The fulfillment process can't be initiated until the hold on the fulfillment order is released. */ + OnHold = 'ON_HOLD', + /** The fulfillment order is ready for fulfillment. */ + Open = 'OPEN', + /** The fulfillment order is deferred and will be ready for fulfillment after the date and time specified in `fulfill_at`. */ + Scheduled = 'SCHEDULED' +} + +/** Return type for `fulfillmentOrderSubmitCancellationRequest` mutation. */ +export type FulfillmentOrderSubmitCancellationRequestPayload = { + __typename?: 'FulfillmentOrderSubmitCancellationRequestPayload'; + /** The fulfillment order specified in the cancelation request. */ + fulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentOrderSubmitFulfillmentRequest` mutation. */ +export type FulfillmentOrderSubmitFulfillmentRequestPayload = { + __typename?: 'FulfillmentOrderSubmitFulfillmentRequestPayload'; + /** The original fulfillment order intended to request fulfillment for. */ + originalFulfillmentOrder?: Maybe; + /** + * The fulfillment order that was submitted to the fulfillment service. This will be the same as + * the original fulfillment order field. The exception to this is partial fulfillment requests or + * fulfillment request for cancelled or incomplete fulfillment orders. + */ + submittedFulfillmentOrder?: Maybe; + /** + * This field will only be present for partial fulfillment requests. This will represent the new + * fulfillment order with the remaining line items not submitted to the fulfillment service. + */ + unsubmittedFulfillmentOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** One of the actions that the fulfillment order supports in its current state. */ +export type FulfillmentOrderSupportedAction = { + __typename?: 'FulfillmentOrderSupportedAction'; + /** The action value. */ + action: FulfillmentOrderAction; + /** + * The external URL to be used to initiate the fulfillment process outside Shopify. + * Applicable only when the `action` value is `EXTERNAL`. + */ + externalUrl?: Maybe; +}; + +/** Return type for `fulfillmentOrdersSetFulfillmentDeadline` mutation. */ +export type FulfillmentOrdersSetFulfillmentDeadlinePayload = { + __typename?: 'FulfillmentOrdersSetFulfillmentDeadlinePayload'; + /** Whether the fulfillment deadline was successfully set. */ + success?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `FulfillmentOrdersSetFulfillmentDeadline`. */ +export type FulfillmentOrdersSetFulfillmentDeadlineUserError = DisplayableError & { + __typename?: 'FulfillmentOrdersSetFulfillmentDeadlineUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `FulfillmentOrdersSetFulfillmentDeadlineUserError`. */ +export enum FulfillmentOrdersSetFulfillmentDeadlineUserErrorCode { + /** The fulfillment orders could not be found. */ + FulfillmentOrdersNotFound = 'FULFILLMENT_ORDERS_NOT_FOUND' +} + +/** The address at which the fulfillment occurred. This object is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead. */ +export type FulfillmentOriginAddress = { + __typename?: 'FulfillmentOriginAddress'; + /** The street address of the fulfillment location. */ + address1?: Maybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: Maybe; + /** The city in which the fulfillment location is located. */ + city?: Maybe; + /** The country code of the fulfillment location. */ + countryCode: Scalars['String']['output']; + /** The province code of the fulfillment location. */ + provinceCode?: Maybe; + /** The zip code of the fulfillment location. */ + zip?: Maybe; +}; + +/** The input fields used to include the address at which the fulfillment occurred. This input object is intended for tax purposes, as a full address is required for tax providers to accurately calculate taxes. Typically this is the address of the warehouse or fulfillment center. To retrieve a fulfillment location's address, use the `assignedLocation` field on the [`FulfillmentOrder`](/docs/api/admin-graphql/latest/objects/FulfillmentOrder) object instead. */ +export type FulfillmentOriginAddressInput = { + /** The street address of the fulfillment location. */ + address1?: InputMaybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: InputMaybe; + /** The city in which the fulfillment location is located. */ + city?: InputMaybe; + /** The country of the fulfillment location. */ + countryCode: Scalars['String']['input']; + /** The province of the fulfillment location. */ + provinceCode?: InputMaybe; + /** The zip code of the fulfillment location. */ + zip?: InputMaybe; +}; + +/** + * A **Fulfillment Service** is a third party warehouse that prepares and ships orders + * on behalf of the store owner. Fulfillment services charge a fee to package and ship items + * and update product inventory levels. Some well known fulfillment services with Shopify integrations + * include: Amazon, Shipwire, and Rakuten. When an app registers a new `FulfillmentService` on a store, + * Shopify automatically creates a `Location` that's associated to the fulfillment service. + * To learn more about fulfillment services, refer to + * [Manage fulfillments as a fulfillment service app](https://shopify.dev/apps/fulfillment/fulfillment-service-apps) + * guide. + * + * ## Mutations + * + * You can work with the `FulfillmentService` object with the + * [fulfillmentServiceCreate](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceCreate), + * [fulfillmentServiceUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceUpdate), + * and [fulfillmentServiceDelete](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceDelete) + * mutations. + * + * ## Hosted endpoints + * + * Fulfillment service providers integrate with Shopify by providing Shopify with a set of hosted endpoints that + * Shopify can query on certain conditions. + * These endpoints must have a common prefix, and this prefix should be supplied in the `callbackUrl` parameter + * in the + * [fulfillmentServiceCreate](https://shopify.dev/api/admin-graphql/latest/mutations/fulfillmentServiceCreate) + * mutation. + * + * - Shopify sends POST requests to the `/fulfillment_order_notification` endpoint + * to notify the fulfillment service about fulfillment requests and fulfillment cancellation requests. + * + * For more information, refer to + * [Receive fulfillment requests and cancellations](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-2-receive-fulfillment-requests-and-cancellations). + * - Shopify sends GET requests to the `/fetch_tracking_numbers` endpoint to retrieve tracking numbers for orders, + * if `trackingSupport` is set to `true`. + * + * For more information, refer to + * [Enable tracking support](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-8-enable-tracking-support-optional). + * + * Fulfillment services can also update tracking information with the + * [fulfillmentTrackingInfoUpdate](https://shopify.dev/api/admin-graphql/unstable/mutations/fulfillmentTrackingInfoUpdate) mutation, + * rather than waiting for Shopify to ask for tracking numbers. + * - Shopify sends GET requests to the `/fetch_stock` endpoint to retrieve inventory levels, + * if `inventoryManagement` is set to `true`. + * + * For more information, refer to + * [Sharing inventory levels with Shopify](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-9-share-inventory-levels-with-shopify-optional). + * + * To make sure you have everything set up correctly, you can test the `callbackUrl`-prefixed endpoints + * in your development store. + * + * ## Resources and webhooks + * + * There are a variety of objects and webhooks that enable a fulfillment service to work. + * To exchange fulfillment information with Shopify, fulfillment services use the + * [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder), + * [Fulfillment](https://shopify.dev/api/admin-graphql/latest/objects/Fulfillment) and + * [Order](https://shopify.dev/api/admin-graphql/latest/objects/Order) objects and related mutations. + * To act on fulfillment process events that happen on the Shopify side, + * besides awaiting calls to `callbackUrl`-prefixed endpoints, + * fulfillment services can subscribe to the + * [fulfillment order](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#webhooks) + * and [order](https://shopify.dev/api/admin-rest/latest/resources/webhook) + * webhooks. + */ +export type FulfillmentService = { + __typename?: 'FulfillmentService'; + /** + * The callback URL that the fulfillment service has registered for requests. The following considerations apply: + * + * - Shopify queries the `/fetch_tracking_numbers` endpoint to retrieve tracking numbers + * for orders, if `trackingSupport` is set to `true`. + * - Shopify queries the `/fetch_stock` endpoint to retrieve inventory levels, + * if `inventoryManagement` is set to `true`. + * - Shopify uses the `/fulfillment_order_notification` endpoint to send + * [fulfillment and cancellation requests](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments#step-2-receive-fulfillment-requests-and-cancellations), + * if the fulfillment service has opted in to the fulfillment order based workflow for managing fulfillments + * (`fulfillmentOrdersOptIn` is set to `true`). + */ + callbackUrl?: Maybe; + /** + * Whether the fulfillment service uses the [fulfillment order based workflow](https://shopify.dev/apps/fulfillment/fulfillment-service-apps/manage-fulfillments) for managing fulfillments. + * + * As the migration is now finished, the `fulfillmentOrdersOptIn` property is [deprecated]( + * https://shopify.dev/changelog/deprecation-of-the-fulfillmentservice-fulfillmentordersoptin-field) + * and is always set to `true` on correctly functioning fulfillment services. + * @deprecated Migration period ended. All correctly functioning fulfillment services have `fulfillmentOrdersOptIn` set to `true`. + */ + fulfillmentOrdersOptIn: Scalars['Boolean']['output']; + /** Human-readable unique identifier for this fulfillment service. */ + handle: Scalars['String']['output']; + /** The ID of the fulfillment service. */ + id: Scalars['ID']['output']; + /** Whether the fulfillment service tracks product inventory and provides updates to Shopify. */ + inventoryManagement: Scalars['Boolean']['output']; + /** Location associated with the fulfillment service. */ + location?: Maybe; + /** Whether the fulfillment service can stock inventory alongside other locations. */ + permitsSkuSharing: Scalars['Boolean']['output']; + /** The name of the fulfillment service as seen by merchants. */ + serviceName: Scalars['String']['output']; + /** Whether the fulfillment service implemented the /fetch_tracking_numbers endpoint. */ + trackingSupport: Scalars['Boolean']['output']; + /** Type associated with the fulfillment service. */ + type: FulfillmentServiceType; +}; + +/** Return type for `fulfillmentServiceCreate` mutation. */ +export type FulfillmentServiceCreatePayload = { + __typename?: 'FulfillmentServiceCreatePayload'; + /** The created fulfillment service. */ + fulfillmentService?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Actions that can be taken at the location when a client requests the deletion of the fulfillment service. */ +export enum FulfillmentServiceDeleteInventoryAction { + /** Deactivate and delete the inventory and location. */ + Delete = 'DELETE', + /** Keep the inventory in place and convert the Fulfillment Service's location to be merchant managed. */ + Keep = 'KEEP', + /** Transfer the inventory and other dependencies to the provided location. */ + Transfer = 'TRANSFER' +} + +/** Return type for `fulfillmentServiceDelete` mutation. */ +export type FulfillmentServiceDeletePayload = { + __typename?: 'FulfillmentServiceDeletePayload'; + /** The ID of the deleted fulfillment service. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The type of a fulfillment service. */ +export enum FulfillmentServiceType { + /** Fulfillment by gift card. */ + GiftCard = 'GIFT_CARD', + /** Manual fulfillment by the merchant. */ + Manual = 'MANUAL', + /** Fullfillment by a third-party fulfillment service. */ + ThirdParty = 'THIRD_PARTY' +} + +/** Return type for `fulfillmentServiceUpdate` mutation. */ +export type FulfillmentServiceUpdatePayload = { + __typename?: 'FulfillmentServiceUpdatePayload'; + /** The updated fulfillment service. */ + fulfillmentService?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The status of a fulfillment. */ +export enum FulfillmentStatus { + /** The fulfillment was canceled. */ + Cancelled = 'CANCELLED', + /** There was an error with the fulfillment request. */ + Error = 'ERROR', + /** The fulfillment request failed. */ + Failure = 'FAILURE', + /** + * The third-party fulfillment service has acknowledged the fulfillment and is processing it. + * @deprecated This is a legacy status and is due to be deprecated. + */ + Open = 'OPEN', + /** + * Shopify has created the fulfillment and is waiting for the third-party fulfillment service to transition it to `open` or `success`. + * @deprecated This is a legacy status and is due to be deprecated. + */ + Pending = 'PENDING', + /** The fulfillment was completed successfully. */ + Success = 'SUCCESS' +} + +/** Represents the tracking information for a fulfillment. */ +export type FulfillmentTrackingInfo = { + __typename?: 'FulfillmentTrackingInfo'; + /** + * The name of the tracking company. + * + * For tracking company names from the list below + * Shopify will automatically build tracking URLs for all provided tracking numbers, + * which will make the tracking numbers clickable in the interface. + * + * Additionally, for the tracking companies listed on the + * [Shipping Carriers help page](https://help.shopify.com/manual/shipping/understanding-shipping/shipping-carriers#integrated-shipping-carriers) + * Shopify will automatically update the fulfillment's `shipment_status` field during the fulfillment process. + * + * ### Supported tracking companies + * + * The following tracking companies display for shops located in any country: + * + * * 4PX + * * AGS + * * Amazon + * * Amazon Logistics UK + * * An Post + * * Anjun Logistics + * * APC + * * Asendia USA + * * Australia Post + * * Bonshaw + * * BPost + * * BPost International + * * Canada Post + * * Canpar + * * CDL Last Mile + * * China Post + * * Chronopost + * * Chukou1 + * * Colissimo + * * Comingle + * * Coordinadora + * * Correios + * * Correos + * * CTT + * * CTT Express + * * Cyprus Post + * * Delnext + * * Deutsche Post + * * DHL eCommerce + * * DHL eCommerce Asia + * * DHL Express + * * DPD + * * DPD Local + * * DPD UK + * * DTD Express + * * DX + * * Eagle + * * Estes + * * Evri + * * FedEx + * * First Global Logistics + * * First Line + * * FSC + * * Fulfilla + * * GLS + * * Guangdong Weisuyi Information Technology (WSE) + * * Heppner Internationale Spedition GmbH & Co. + * * Iceland Post + * * IDEX + * * Israel Post + * * Japan Post (EN) + * * Japan Post (JA) + * * La Poste + * * Lasership + * * Latvia Post + * * Lietuvos Paštas + * * Logisters + * * Lone Star Overnight + * * M3 Logistics + * * Meteor Space + * * Mondial Relay + * * New Zealand Post + * * NinjaVan + * * North Russia Supply Chain (Shenzhen) Co. + * * OnTrac + * * Packeta + * * Pago Logistics + * * Ping An Da Tengfei Express + * * Pitney Bowes + * * Portal PostNord + * * Poste Italiane + * * PostNL + * * PostNord DK + * * PostNord NO + * * PostNord SE + * * Purolator + * * Qxpress + * * Qyun Express + * * Royal Mail + * * Royal Shipments + * * Sagawa (EN) + * * Sagawa (JA) + * * Sendle + * * SF Express + * * SFC Fulfillment + * * SHREE NANDAN COURIER + * * Singapore Post + * * Southwest Air Cargo + * * StarTrack + * * Step Forward Freight + * * Swiss Post + * * TForce Final Mile + * * Tinghao + * * TNT + * * Toll IPEC + * * United Delivery Service + * * UPS + * * USPS + * * Venipak + * * We Post + * * Whistl + * * Wizmo + * * WMYC + * * Xpedigo + * * XPO Logistics + * * Yamato (EN) + * * Yamato (JA) + * * YiFan Express + * * YunExpress + * + * The following tracking companies are displayed for shops located in specific countries: + * + * * **Australia**: Australia Post, Sendle, Aramex Australia, TNT Australia, Hunter Express, Couriers Please, Bonds, Allied Express, Direct Couriers, Northline, GO Logistics + * * **Austria**: Österreichische Post + * * **Bulgaria**: Speedy + * * **Canada**: Intelcom, BoxKnight, Loomis, GLS + * * **China**: China Post, DHL eCommerce Asia, WanbExpress, YunExpress, Anjun Logistics, SFC Fulfillment, FSC + * * **Czechia**: Zásilkovna + * * **Germany**: Deutsche Post (DE), Deutsche Post (EN), DHL, DHL Express, Swiship, Hermes, GLS + * * **Spain**: SEUR + * * **France**: Colissimo, Mondial Relay, Colis Privé, GLS + * * **United Kingdom**: Evri, DPD UK, Parcelforce, Yodel, DHL Parcel, Tuffnells + * * **Greece**: ACS Courier + * * **Hong Kong SAR**: SF Express + * * **Ireland**: Fastway, DPD Ireland + * * **India**: DTDC, India Post, Delhivery, Gati KWE, Professional Couriers, XpressBees, Ecom Express, Ekart, Shadowfax, Bluedart + * * **Italy**: BRT, GLS Italy + * * **Japan**: エコ配, 西濃運輸, 西濃スーパーエキスプレス, 福山通運, 日本通運, 名鉄運輸, 第一貨物 + * * **Netherlands**: DHL Parcel, DPD + * * **Norway**: Bring + * * **Poland**: Inpost + * * **Turkey**: PTT, Yurtiçi Kargo, Aras Kargo, Sürat Kargo + * * **United States**: GLS, Alliance Air Freight, Pilot Freight, LSO, Old Dominion, Pandion, R+L Carriers, Southwest Air Cargo + * * **South Africa**: Fastway, Skynet. + */ + company?: Maybe; + /** + * The tracking number of the fulfillment. + * + * The tracking number is clickable in the interface if one of the following applies + * (the highest in the list has the highest priority): + * + * * Tracking url provided in the `url` field. + * * [Shopify-known tracking company name](#supported-tracking-companies) specified in the `company` field. + * Shopify will build the tracking URL automatically based on the tracking number specified. + * * The tracking number has a Shopify-known format. + * Shopify will guess the tracking provider and build the tracking url based on the tracking number format. + * Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers. + * This can result in an invalid tracking URL. + * It is highly recommended that you send the tracking company and the tracking URL. + */ + number?: Maybe; + /** + * The URLs to track the fulfillment. + * + * The tracking URL is displayed in the merchant's admin on the order page. + * The tracking URL is displayed in the shipping confirmation email, which can optionally be sent to the customer. + * When accounts are enabled, it's also displayed in the customer's order history. + */ + url?: Maybe; +}; + +/** Return type for `fulfillmentTrackingInfoUpdate` mutation. */ +export type FulfillmentTrackingInfoUpdatePayload = { + __typename?: 'FulfillmentTrackingInfoUpdatePayload'; + /** The updated fulfillment with tracking information. */ + fulfillment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `fulfillmentTrackingInfoUpdateV2` mutation. */ +export type FulfillmentTrackingInfoUpdateV2Payload = { + __typename?: 'FulfillmentTrackingInfoUpdateV2Payload'; + /** The updated fulfillment with tracking information. */ + fulfillment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * The input fields that specify all possible fields for tracking information. + * + * > Note: + * > If you provide the `url` field, you should not provide the `urls` field. + * > + * > If you provide the `number` field, you should not provide the `numbers` field. + * > + * > If you provide the `url` field, you should provide the `number` field. + * > + * > If you provide the `urls` field, you should provide the `numbers` field. + */ +export type FulfillmentTrackingInput = { + /** + * The name of the tracking company. + * + * If you specify a tracking company name from + * [the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies), + * Shopify will automatically build tracking URLs for all provided tracking numbers, + * which will make the tracking numbers clickable in the interface. + * The same tracking company will be applied to all tracking numbers specified. + * + * Additionally, for the tracking companies listed on the + * [Shipping Carriers help page](https://help.shopify.com/manual/shipping/understanding-shipping/shipping-carriers#integrated-shipping-carriers) + * Shopify will automatically update the fulfillment's `shipment_status` field during the fulfillment process. + * + * > Note: + * > Send the tracking company name exactly as written in + * > [the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies) + * > (capitalization matters). + */ + company?: InputMaybe; + /** + * The tracking number of the fulfillment. + * + * The tracking number will be clickable in the interface if one of the following applies + * (the highest in the list has the highest priority): + * + * * Tracking url provided in the `url` field. + * * [Shopify-known tracking company name](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies) + * specified in the `company` field. + * Shopify will build the tracking URL automatically based on the tracking number specified. + * * The tracking number has a Shopify-known format. + * Shopify will guess the tracking provider and build the tracking url based on the tracking number format. + * Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers. + * This can result in an invalid tracking URL. + * It is highly recommended that you send the tracking company and the tracking URL. + */ + number?: InputMaybe; + /** + * The tracking numbers of the fulfillment, one or many. + * + * With multiple tracking numbers, you can provide tracking information + * for all shipments associated with the fulfillment, if there are more than one. + * For example, if you're shipping assembly parts of one furniture item in several boxes. + * + * Tracking numbers will be clickable in the interface if one of the following applies + * (the highest in the list has the highest priority): + * + * * Tracking URLs provided in the `urls` field. + * The tracking URLs will be matched to the tracking numbers based on their positions in the arrays. + * * [Shopify-known tracking company name](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies) + * specified in the `company` field. + * Shopify will build tracking URLs automatically for all tracking numbers specified. + * The same tracking company will be applied to all tracking numbers. + * * Tracking numbers have a Shopify-known format. + * Shopify will guess tracking providers and build tracking URLs based on the tracking number formats. + * Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers. + * This can result in an invalid tracking URL. + * It is highly recommended that you send the tracking company and the tracking URLs. + */ + numbers?: InputMaybe>; + /** + * The URL to track the fulfillment. + * + * The tracking URL is displayed in the merchant's admin on the order page. + * The tracking URL is displayed in the shipping confirmation email, which can optionally be sent to the customer. + * When accounts are enabled, it's also displayed in the customer's order history. + * + * The URL must be an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and + * [RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string. + * For example, `"https://www.myshipping.com/track/?tracknumbers=TRACKING_NUMBER"` is a valid URL. + * It includes a scheme (`https`) and a host (`myshipping.com`). + */ + url?: InputMaybe; + /** + * The URLs to track the fulfillment, one or many. + * + * The tracking URLs are displayed in the merchant's admin on the order page. + * The tracking URLs are displayed in the shipping confirmation email, which can optionally be sent to the customer. + * When accounts are enabled, the tracking URLs are also displayed in the customer's order history. + * + * If you're not specifying a + * [Shopify-known](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies) + * tracking company name in the `company` field, + * then provide tracking URLs for all tracking numbers from the `numbers` field. + * + * Tracking URLs from the `urls` array field are being matched with the tracking numbers from the `numbers` array + * field correspondingly their positions in the arrays. + * + * Each URL must be an [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) and + * [RFC 3987](https://datatracker.ietf.org/doc/html/rfc3987)-compliant URI string. + * For example, `"https://www.myshipping.com/track/?tracknumbers=TRACKING_NUMBER"` is a valid URL. + * It includes a scheme (`https`) and a host (`myshipping.com`). + */ + urls?: InputMaybe>; +}; + +/** The input fields used to create a fulfillment from fulfillment orders. */ +export type FulfillmentV2Input = { + /** + * Pairs of `fulfillment_order_id` and `fulfillment_order_line_items` that represent the fulfillment + * order line items that have to be fulfilled for each fulfillment order. For any given pair, if the + * fulfillment order line items are left blank then all the fulfillment order line items of the + * associated fulfillment order ID will be fulfilled. + */ + lineItemsByFulfillmentOrder: Array; + /** + * Whether the customer is notified. + * If `true`, then a notification is sent when the fulfillment is created. The default value is `false`. + */ + notifyCustomer?: InputMaybe; + /** Address information about the location from which the order was fulfilled. */ + originAddress?: InputMaybe; + /** + * The fulfillment's tracking information, including a tracking URL, a tracking number, + * and the company associated with the fulfillment. + */ + trackingInfo?: InputMaybe; +}; + +/** The App Bridge information for a Shopify Function. */ +export type FunctionsAppBridge = { + __typename?: 'FunctionsAppBridge'; + /** The relative path for creating a customization. */ + createPath: Scalars['String']['output']; + /** The relative path for viewing a customization. */ + detailsPath: Scalars['String']['output']; +}; + +/** The error history from running a Shopify Function. */ +export type FunctionsErrorHistory = { + __typename?: 'FunctionsErrorHistory'; + /** The date and time that the first error occurred. */ + errorsFirstOccurredAt: Scalars['DateTime']['output']; + /** The date and time that the first error occurred. */ + firstOccurredAt: Scalars['DateTime']['output']; + /** Whether the merchant has shared all the recent errors with the developer. */ + hasBeenSharedSinceLastError: Scalars['Boolean']['output']; + /** Whether the merchant has shared all the recent errors with the developer. */ + hasSharedRecentErrors: Scalars['Boolean']['output']; +}; + +/** Represents any file other than HTML. */ +export type GenericFile = File & Node & { + __typename?: 'GenericFile'; + /** A word or phrase to describe the contents or the function of a file. */ + alt?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created. */ + createdAt: Scalars['DateTime']['output']; + /** Any errors that have occurred on the file. */ + fileErrors: Array; + /** The status of the file. */ + fileStatus: FileStatus; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The generic file's MIME type. */ + mimeType?: Maybe; + /** The generic file's size in bytes. */ + originalFileSize?: Maybe; + /** The preview image for the media. */ + preview?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The generic file's URL. */ + url?: Maybe; +}; + +/** Represents an issued gift card. */ +export type GiftCard = Node & { + __typename?: 'GiftCard'; + /** The gift card's remaining balance. */ + balance: MoneyV2; + /** The date and time at which the gift card was created. */ + createdAt: Scalars['DateTime']['output']; + /** The customer who will receive the gift card. */ + customer?: Maybe; + /** The date and time at which the gift card was deactivated. */ + deactivatedAt?: Maybe; + /** Whether the gift card is enabled. */ + enabled: Scalars['Boolean']['output']; + /** The date at which the gift card will expire. */ + expiresOn?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The initial value of the gift card. */ + initialValue: MoneyV2; + /** The final four characters of the gift card code. */ + lastCharacters: Scalars['String']['output']; + /** The gift card code. Everything but the final four characters is masked. */ + maskedCode: Scalars['String']['output']; + /** The note associated with the gift card, which isn't visible to the customer. */ + note?: Maybe; + /** The order associated with the gift card. This value is `null` if the gift card was issued manually. */ + order?: Maybe; + /** The recipient who will receive the gift card. */ + recipientAttributes?: Maybe; + /** The theme template used to render the gift card online. */ + templateSuffix?: Maybe; + /** The transaction history of the gift card. */ + transactions?: Maybe; + /** The date and time at which the gift card was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** Represents an issued gift card. */ +export type GiftCardTransactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple GiftCards. */ +export type GiftCardConnection = { + __typename?: 'GiftCardConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in GiftCardEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields to issue a gift card. */ +export type GiftCardCreateInput = { + /** + * The gift card's code. It must be 8-20 characters long and contain only letters(a-z) and numbers(0-9). + * It isn't case sensitive. If not provided, then a random code will be generated. + */ + code?: InputMaybe; + /** The ID of the customer who will receive the gift card. Requires `write_customers` access_scope. */ + customerId?: InputMaybe; + /** The date at which the gift card will expire. If not provided, then the gift card will never expire. */ + expiresOn?: InputMaybe; + /** The initial value of the gift card. */ + initialValue: Scalars['Decimal']['input']; + /** The note associated with the gift card, which isn't visible to the customer. */ + note?: InputMaybe; + /** The recipient attributes of the gift card. */ + recipientAttributes?: InputMaybe; + /** + * The suffix of the Liquid template that's used to render the gift card online. + * For example, if the value is `birthday`, then the gift card is rendered using the template `gift_card.birthday.liquid`. + * If not provided, then the default `gift_card.liquid` template is used. + */ + templateSuffix?: InputMaybe; +}; + +/** Return type for `giftCardCreate` mutation. */ +export type GiftCardCreatePayload = { + __typename?: 'GiftCardCreatePayload'; + /** The created gift card. */ + giftCard?: Maybe; + /** The created gift card's code. */ + giftCardCode?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for a gift card credit transaction. */ +export type GiftCardCreditInput = { + /** The amount to credit the gift card. */ + creditAmount: MoneyInput; + /** A note about the credit. */ + note?: InputMaybe; + /** The date and time the credit was processed. Defaults to current date and time. */ + processedAt?: InputMaybe; +}; + +/** Return type for `giftCardCredit` mutation. */ +export type GiftCardCreditPayload = { + __typename?: 'GiftCardCreditPayload'; + /** The gift card credit transaction that was created. */ + giftCardCreditTransaction?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A credit transaction which increases the gift card balance. */ +export type GiftCardCreditTransaction = GiftCardTransaction & HasMetafields & Node & { + __typename?: 'GiftCardCreditTransaction'; + /** The amount of the transaction. */ + amount: MoneyV2; + /** The gift card that the transaction belongs to. */ + giftCard: GiftCard; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** A note about the transaction. */ + note?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The date and time when the transaction was processed. */ + processedAt: Scalars['DateTime']['output']; +}; + + +/** A credit transaction which increases the gift card balance. */ +export type GiftCardCreditTransactionMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A credit transaction which increases the gift card balance. */ +export type GiftCardCreditTransactionMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A credit transaction which increases the gift card balance. */ +export type GiftCardCreditTransactionPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A credit transaction which increases the gift card balance. */ +export type GiftCardCreditTransactionPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `giftCardDeactivate` mutation. */ +export type GiftCardDeactivatePayload = { + __typename?: 'GiftCardDeactivatePayload'; + /** The deactivated gift card. */ + giftCard?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `GiftCardDeactivate`. */ +export type GiftCardDeactivateUserError = DisplayableError & { + __typename?: 'GiftCardDeactivateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `GiftCardDeactivateUserError`. */ +export enum GiftCardDeactivateUserErrorCode { + /** The gift card could not be found. */ + GiftCardNotFound = 'GIFT_CARD_NOT_FOUND' +} + +/** The input fields for a gift card debit transaction. */ +export type GiftCardDebitInput = { + /** The amount to debit the gift card. */ + debitAmount: MoneyInput; + /** A note about the debit. */ + note?: InputMaybe; + /** The date and time the debit was processed. Defaults to current date and time. */ + processedAt?: InputMaybe; +}; + +/** Return type for `giftCardDebit` mutation. */ +export type GiftCardDebitPayload = { + __typename?: 'GiftCardDebitPayload'; + /** The gift card debit transaction that was created. */ + giftCardDebitTransaction?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A debit transaction which decreases the gift card balance. */ +export type GiftCardDebitTransaction = GiftCardTransaction & HasMetafields & Node & { + __typename?: 'GiftCardDebitTransaction'; + /** The amount of the transaction. */ + amount: MoneyV2; + /** The gift card that the transaction belongs to. */ + giftCard: GiftCard; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** A note about the transaction. */ + note?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The date and time when the transaction was processed. */ + processedAt: Scalars['DateTime']['output']; +}; + + +/** A debit transaction which decreases the gift card balance. */ +export type GiftCardDebitTransactionMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A debit transaction which decreases the gift card balance. */ +export type GiftCardDebitTransactionMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A debit transaction which decreases the gift card balance. */ +export type GiftCardDebitTransactionPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A debit transaction which decreases the gift card balance. */ +export type GiftCardDebitTransactionPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type which holds one GiftCard and a cursor during pagination. */ +export type GiftCardEdge = { + __typename?: 'GiftCardEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of GiftCardEdge. */ + node: GiftCard; +}; + +/** Possible error codes that can be returned by `GiftCardUserError`. */ +export enum GiftCardErrorCode { + /** The customer could not be found. */ + CustomerNotFound = 'CUSTOMER_NOT_FOUND', + /** The input value should be greater than the minimum allowed value. */ + GreaterThan = 'GREATER_THAN', + /** Unexpected internal error happened. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Missing a required argument. */ + MissingArgument = 'MISSING_ARGUMENT', + /** The recipient could not be found. */ + RecipientNotFound = 'RECIPIENT_NOT_FOUND', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT' +} + +/** Represents a recipient who will receive the issued gift card. */ +export type GiftCardRecipient = { + __typename?: 'GiftCardRecipient'; + /** The message sent with the gift card. */ + message?: Maybe; + /** The preferred name of the recipient who will receive the gift card. */ + preferredName?: Maybe; + /** The recipient who will receive the gift card. */ + recipient: Customer; + /** The scheduled datetime on which the gift card will be sent to the recipient. The gift card will be sent within an hour of the specified datetime. */ + sendNotificationAt?: Maybe; +}; + +/** The input fields to add a recipient to a gift card. */ +export type GiftCardRecipientInput = { + /** The ID of the customer who will be the recipient of the gift card. Requires `write_customers` access_scope. */ + id: Scalars['ID']['input']; + /** The personalized message intended for the recipient. */ + message?: InputMaybe; + /** The preferred name of the recipient. */ + preferredName?: InputMaybe; + /** The scheduled datetime on which the gift card will be sent to the recipient. The gift card will be sent within an hour of the specified datetime. */ + sendNotificationAt?: InputMaybe; +}; + +/** A sale associated with a gift card. */ +export type GiftCardSale = Sale & { + __typename?: 'GiftCardSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line item for the associated sale. */ + lineItem: LineItem; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** Return type for `giftCardSendNotificationToCustomer` mutation. */ +export type GiftCardSendNotificationToCustomerPayload = { + __typename?: 'GiftCardSendNotificationToCustomerPayload'; + /** The gift card that was sent. */ + giftCard?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `GiftCardSendNotificationToCustomer`. */ +export type GiftCardSendNotificationToCustomerUserError = DisplayableError & { + __typename?: 'GiftCardSendNotificationToCustomerUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `GiftCardSendNotificationToCustomerUserError`. */ +export enum GiftCardSendNotificationToCustomerUserErrorCode { + /** The customer could not be found. */ + CustomerNotFound = 'CUSTOMER_NOT_FOUND', + /** The gift card could not be found. */ + GiftCardNotFound = 'GIFT_CARD_NOT_FOUND', + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Return type for `giftCardSendNotificationToRecipient` mutation. */ +export type GiftCardSendNotificationToRecipientPayload = { + __typename?: 'GiftCardSendNotificationToRecipientPayload'; + /** The gift card that was sent. */ + giftCard?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `GiftCardSendNotificationToRecipient`. */ +export type GiftCardSendNotificationToRecipientUserError = DisplayableError & { + __typename?: 'GiftCardSendNotificationToRecipientUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `GiftCardSendNotificationToRecipientUserError`. */ +export enum GiftCardSendNotificationToRecipientUserErrorCode { + /** The gift card could not be found. */ + GiftCardNotFound = 'GIFT_CARD_NOT_FOUND', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The recipient could not be found. */ + RecipientNotFound = 'RECIPIENT_NOT_FOUND' +} + +/** The set of valid sort keys for the GiftCard query. */ +export enum GiftCardSortKeys { + /** Sort by the `amount_spent` value. */ + AmountSpent = 'AMOUNT_SPENT', + /** Sort by the `balance` value. */ + Balance = 'BALANCE', + /** Sort by the `code` value. */ + Code = 'CODE', + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `customer_name` value. */ + CustomerName = 'CUSTOMER_NAME', + /** Sort by the `disabled_at` value. */ + DisabledAt = 'DISABLED_AT', + /** Sort by the `expires_on` value. */ + ExpiresOn = 'EXPIRES_ON', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `initial_value` value. */ + InitialValue = 'INITIAL_VALUE', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Represents information about the metafields associated to the specified resource. */ +export type GiftCardTransaction = { + /** The amount of the transaction. */ + amount: MoneyV2; + /** The gift card that the transaction belongs to. */ + giftCard: GiftCard; + /** The unique ID for the transaction. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** A note about the transaction. */ + note?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The date and time when the transaction was processed. */ + processedAt: Scalars['DateTime']['output']; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type GiftCardTransactionMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type GiftCardTransactionMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type GiftCardTransactionPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type GiftCardTransactionPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple GiftCardTransactions. */ +export type GiftCardTransactionConnection = { + __typename?: 'GiftCardTransactionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in GiftCardTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one GiftCardTransaction and a cursor during pagination. */ +export type GiftCardTransactionEdge = { + __typename?: 'GiftCardTransactionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of GiftCardTransactionEdge. */ + node: GiftCardTransaction; +}; + +/** Represents an error that happens during the execution of a gift card transaction mutation. */ +export type GiftCardTransactionUserError = DisplayableError & { + __typename?: 'GiftCardTransactionUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `GiftCardTransactionUserError`. */ +export enum GiftCardTransactionUserErrorCode { + /** The gift card's value exceeds the allowed limits. */ + GiftCardLimitExceeded = 'GIFT_CARD_LIMIT_EXCEEDED', + /** The gift card could not be found. */ + GiftCardNotFound = 'GIFT_CARD_NOT_FOUND', + /** The gift card does not have sufficient funds to satisfy the request. */ + InsufficientFunds = 'INSUFFICIENT_FUNDS', + /** Unexpected internal error happened. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The currency provided does not match the currency of the gift card. */ + MismatchingCurrency = 'MISMATCHING_CURRENCY', + /** A positive amount must be used. */ + NegativeOrZeroAmount = 'NEGATIVE_OR_ZERO_AMOUNT' +} + +/** The input fields to update a gift card. */ +export type GiftCardUpdateInput = { + /** The ID of the customer who will receive the gift card. The ID can't be changed if the gift card already has an assigned customer ID. */ + customerId?: InputMaybe; + /** The date at which the gift card will expire. If set to `null`, then the gift card will never expire. */ + expiresOn?: InputMaybe; + /** The note associated with the gift card, which isn't visible to the customer. */ + note?: InputMaybe; + /** The recipient attributes of the gift card. */ + recipientAttributes?: InputMaybe; + /** + * The suffix of the Liquid template that's used to render the gift card online. + * For example, if the value is `birthday`, then the gift card is rendered using the template `gift_card.birthday.liquid`. + */ + templateSuffix?: InputMaybe; +}; + +/** Return type for `giftCardUpdate` mutation. */ +export type GiftCardUpdatePayload = { + __typename?: 'GiftCardUpdatePayload'; + /** The updated gift card. */ + giftCard?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents an error that happens during the execution of a gift card mutation. */ +export type GiftCardUserError = DisplayableError & { + __typename?: 'GiftCardUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** + * Represents a summary of the current version of data in a resource. + * + * The `compare_digest` field can be used as input for mutations that implement a compare-and-swap mechanism. + */ +export type HasCompareDigest = { + /** The data stored in the resource, represented as a digest. */ + compareDigest: Scalars['String']['output']; +}; + +/** Represents an object that has a list of events. */ +export type HasEvents = { + /** The paginated list of events associated with the host subject. */ + events: EventConnection; +}; + + +/** Represents an object that has a list of events. */ +export type HasEventsEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Localization extensions associated with the specified resource. For example, the tax id for government invoice. */ +export type HasLocalizationExtensions = { + /** List of localization extensions for the resource. */ + localizationExtensions: LocalizationExtensionConnection; +}; + + +/** Localization extensions associated with the specified resource. For example, the tax id for government invoice. */ +export type HasLocalizationExtensionsLocalizationExtensionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + countryCodes?: InputMaybe>; + first?: InputMaybe; + last?: InputMaybe; + purposes?: InputMaybe>; + reverse?: InputMaybe; +}; + +/** Resources that metafield definitions can be applied to. */ +export type HasMetafieldDefinitions = { + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; +}; + + +/** Resources that metafield definitions can be applied to. */ +export type HasMetafieldDefinitionsMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** Represents information about the metafields associated to the specified resource. */ +export type HasMetafields = { + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type HasMetafieldsMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type HasMetafieldsMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type HasMetafieldsPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** Represents information about the metafields associated to the specified resource. */ +export type HasMetafieldsPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Published translations associated with the resource. */ +export type HasPublishedTranslations = { + /** The published translations associated with the resource. */ + translations: Array; +}; + + +/** Published translations associated with the resource. */ +export type HasPublishedTranslationsTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** Represents information about the store credit accounts associated to the specified owner. */ +export type HasStoreCreditAccounts = { + /** Returns a list of store credit accounts that belong to the owner resource. */ + storeCreditAccounts: StoreCreditAccountConnection; +}; + + +/** Represents information about the store credit accounts associated to the specified owner. */ +export type HasStoreCreditAccountsStoreCreditAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; +}; + +/** Represents an image resource. */ +export type Image = HasMetafields & { + __typename?: 'Image'; + /** A word or phrase to share the nature or contents of an image. */ + altText?: Maybe; + /** The original height of the image in pixels. Returns `null` if the image isn't hosted by Shopify. */ + height?: Maybe; + /** A unique ID for the image. */ + id?: Maybe; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * The location of the original image as a URL. + * + * If there are any existing transformations in the original source URL, they will remain and not be stripped. + * @deprecated Use `url` instead. + */ + originalSrc: Scalars['URL']['output']; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** + * The location of the image as a URL. + * @deprecated Use `url` instead. + */ + src: Scalars['URL']['output']; + /** + * The location of the transformed image as a URL. + * + * All transformation arguments are considered "best-effort". If they can be applied to an image, they will be. + * Otherwise any transformations which an image type doesn't support will be ignored. + * @deprecated Use `url(transform:)` instead + */ + transformedSrc: Scalars['URL']['output']; + /** + * The location of the image as a URL. + * + * If no transform options are specified, then the original image will be preserved including any pre-applied transforms. + * + * All transformation options are considered "best-effort". Any transformation that the original image type doesn't support will be ignored. + * + * If you need multiple variations of the same image, then you can use [GraphQL aliases](https://graphql.org/learn/queries/#aliases). + */ + url: Scalars['URL']['output']; + /** The original width of the image in pixels. Returns `null` if the image isn't hosted by Shopify. */ + width?: Maybe; +}; + + +/** Represents an image resource. */ +export type ImageMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** Represents an image resource. */ +export type ImageMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents an image resource. */ +export type ImagePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** Represents an image resource. */ +export type ImagePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents an image resource. */ +export type ImageTransformedSrcArgs = { + crop?: InputMaybe; + maxHeight?: InputMaybe; + maxWidth?: InputMaybe; + preferredContentType?: InputMaybe; + scale?: InputMaybe; +}; + + +/** Represents an image resource. */ +export type ImageUrlArgs = { + transform?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Images. */ +export type ImageConnection = { + __typename?: 'ImageConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ImageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** List of supported image content types. */ +export enum ImageContentType { + /** A JPG image. */ + Jpg = 'JPG', + /** A PNG image. */ + Png = 'PNG', + /** A WEBP image. */ + Webp = 'WEBP' +} + +/** An auto-generated type which holds one Image and a cursor during pagination. */ +export type ImageEdge = { + __typename?: 'ImageEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ImageEdge. */ + node: Image; +}; + +/** The input fields for an image. */ +export type ImageInput = { + /** A word or phrase to share the nature or contents of an image. */ + altText?: InputMaybe; + /** A globally-unique ID. */ + id?: InputMaybe; + /** The URL of the image. May be a staged upload URL. */ + src?: InputMaybe; +}; + +/** + * The available options for transforming an image. + * + * All transformation options are considered best effort. Any transformation that the original image type doesn't support will be ignored. + */ +export type ImageTransformInput = { + /** + * The region of the image to remain after cropping. + * Must be used in conjunction with the `maxWidth` and/or `maxHeight` fields, where the `maxWidth` and `maxHeight` aren't equal. + * The `crop` argument should coincide with the smaller value. A smaller `maxWidth` indicates a `LEFT` or `RIGHT` crop, while + * a smaller `maxHeight` indicates a `TOP` or `BOTTOM` crop. For example, `{ maxWidth: 5, maxHeight: 10, crop: LEFT }` will result + * in an image with a width of 5 and height of 10, where the right side of the image is removed. + */ + crop?: InputMaybe; + /** Image height in pixels between 1 and 5760. */ + maxHeight?: InputMaybe; + /** Image width in pixels between 1 and 5760. */ + maxWidth?: InputMaybe; + /** + * Convert the source image into the preferred content type. + * Supported conversions: `.svg` to `.png`, any file type to `.jpg`, and any file type to `.webp`. + */ + preferredContentType?: InputMaybe; + /** Image size multiplier for high-resolution retina displays. Must be within 1..3. */ + scale?: InputMaybe; +}; + +/** + * A parameter to upload an image. + * + * Deprecated in favor of + * [StagedUploadParameter](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadParameter), + * which is used in + * [StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget) + * and returned by the + * [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate). + */ +export type ImageUploadParameter = { + __typename?: 'ImageUploadParameter'; + /** The parameter name. */ + name: Scalars['String']['output']; + /** The parameter value. */ + value: Scalars['String']['output']; +}; + +/** The input fields for the incoming line item. */ +export type IncomingRequestLineItemInput = { + /** The ID of the rejected line item. */ + fulfillmentOrderLineItemId: Scalars['ID']['input']; + /** The rejection message of the line item. */ + message?: InputMaybe; +}; + +/** Return type for `inventoryActivate` mutation. */ +export type InventoryActivatePayload = { + __typename?: 'InventoryActivatePayload'; + /** The inventory level that was activated. */ + inventoryLevel?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields required to adjust inventory quantities. */ +export type InventoryAdjustQuantitiesInput = { + /** The quantity changes of items at locations to be made. */ + changes: Array; + /** + * The quantity [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states) + * to be adjusted. + */ + name: Scalars['String']['input']; + /** + * The reason for the quantity changes. The value must be one of the [possible + * reasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand). + */ + reason: Scalars['String']['input']; + /** + * A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory + * quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a + * draft order might have been previously reserved, and a merchant later creates an order from the draft order. + * In this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID. + */ + referenceDocumentUri?: InputMaybe; +}; + +/** Return type for `inventoryAdjustQuantities` mutation. */ +export type InventoryAdjustQuantitiesPayload = { + __typename?: 'InventoryAdjustQuantitiesPayload'; + /** The group of changes made by the operation. */ + inventoryAdjustmentGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `InventoryAdjustQuantities`. */ +export type InventoryAdjustQuantitiesUserError = DisplayableError & { + __typename?: 'InventoryAdjustQuantitiesUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `InventoryAdjustQuantitiesUserError`. */ +export enum InventoryAdjustQuantitiesUserErrorCode { + /** The quantities couldn't be adjusted. Try again. */ + AdjustQuantitiesFailed = 'ADJUST_QUANTITIES_FAILED', + /** Internal (gid://shopify/) ledger documents are not allowed to be adjusted via API. */ + InternalLedgerDocument = 'INTERNAL_LEDGER_DOCUMENT', + /** A ledger document URI is not allowed when adjusting available. */ + InvalidAvailableDocument = 'INVALID_AVAILABLE_DOCUMENT', + /** The specified inventory item could not be found. */ + InvalidInventoryItem = 'INVALID_INVENTORY_ITEM', + /** The specified ledger document is invalid. */ + InvalidLedgerDocument = 'INVALID_LEDGER_DOCUMENT', + /** The specified location could not be found. */ + InvalidLocation = 'INVALID_LOCATION', + /** A ledger document URI is required except when adjusting available. */ + InvalidQuantityDocument = 'INVALID_QUANTITY_DOCUMENT', + /** The specified quantity name is invalid. */ + InvalidQuantityName = 'INVALID_QUANTITY_NAME', + /** The quantity can't be higher than 2,000,000,000. */ + InvalidQuantityTooHigh = 'INVALID_QUANTITY_TOO_HIGH', + /** The quantity can't be lower than -2,000,000,000. */ + InvalidQuantityTooLow = 'INVALID_QUANTITY_TOO_LOW', + /** The specified reason is invalid. */ + InvalidReason = 'INVALID_REASON', + /** The specified reference document is invalid. */ + InvalidReferenceDocument = 'INVALID_REFERENCE_DOCUMENT', + /** The inventory item is not stocked at the location. */ + ItemNotStockedAtLocation = 'ITEM_NOT_STOCKED_AT_LOCATION', + /** All changes must have the same ledger document URI or, in the case of adjusting available, no ledger document URI. */ + MaxOneLedgerDocument = 'MAX_ONE_LEDGER_DOCUMENT', + /** The specified inventory item is not allowed to be adjusted via API. Example: if the inventory item is a parent bundle. */ + NonMutableInventoryItem = 'NON_MUTABLE_INVENTORY_ITEM' +} + +/** Represents a group of adjustments made as part of the same operation. */ +export type InventoryAdjustmentGroup = Node & { + __typename?: 'InventoryAdjustmentGroup'; + /** The app that triggered the inventory event, if one exists. */ + app?: Maybe; + /** The set of inventory quantity changes that occurred in the inventory event. */ + changes: Array; + /** The date and time the inventory adjustment group was created. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The reason for the group of adjustments. */ + reason: Scalars['String']['output']; + /** + * A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory + * quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a + * draft order might have been previously reserved, and a merchant later creates an order from the draft order. + * In this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID. + */ + referenceDocumentUri?: Maybe; + /** The staff member associated with the inventory event. */ + staffMember?: Maybe; +}; + + +/** Represents a group of adjustments made as part of the same operation. */ +export type InventoryAdjustmentGroupChangesArgs = { + inventoryItemIds?: InputMaybe>; + locationIds?: InputMaybe>; + quantityNames?: InputMaybe>; +}; + +/** The input fields to specify whether the inventory item should be activated or not at the specified location. */ +export type InventoryBulkToggleActivationInput = { + /** Whether the inventory item can be stocked at the specified location. To deactivate, set the value to false which removes an inventory item's quantities from that location, and turns off inventory at that location. */ + activate: Scalars['Boolean']['input']; + /** The ID of the location to modify the inventory item's stocked status. */ + locationId: Scalars['ID']['input']; +}; + +/** Return type for `inventoryBulkToggleActivation` mutation. */ +export type InventoryBulkToggleActivationPayload = { + __typename?: 'InventoryBulkToggleActivationPayload'; + /** The inventory item that was updated. */ + inventoryItem?: Maybe; + /** The activated inventory levels. */ + inventoryLevels?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurred while setting the activation status of an inventory item. */ +export type InventoryBulkToggleActivationUserError = DisplayableError & { + __typename?: 'InventoryBulkToggleActivationUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `InventoryBulkToggleActivationUserError`. */ +export enum InventoryBulkToggleActivationUserErrorCode { + /** Cannot unstock an inventory item from the only location at which it is stocked. */ + CannotDeactivateFromOnlyLocation = 'CANNOT_DEACTIVATE_FROM_ONLY_LOCATION', + /** + * Cannot unstock this inventory item from this location because it has committed and incoming quantities. + * @deprecated This error code is deprecated. Both INCOMING_INVENTORY_AT_LOCATION and COMMITTED_INVENTORY_AT_LOCATION codes will be returned as individual errors instead. + */ + CommittedAndIncomingInventoryAtLocation = 'COMMITTED_AND_INCOMING_INVENTORY_AT_LOCATION', + /** Cannot unstock this inventory item from this location because it has committed quantities. */ + CommittedInventoryAtLocation = 'COMMITTED_INVENTORY_AT_LOCATION', + /** Failed to stock this inventory item at this location. */ + FailedToStockAtLocation = 'FAILED_TO_STOCK_AT_LOCATION', + /** Failed to unstock this inventory item from this location. */ + FailedToUnstockFromLocation = 'FAILED_TO_UNSTOCK_FROM_LOCATION', + /** An error occurred while setting the activation status. */ + GenericError = 'GENERIC_ERROR', + /** Cannot unstock this inventory item from this location because it has incoming quantities. */ + IncomingInventoryAtLocation = 'INCOMING_INVENTORY_AT_LOCATION', + /** The inventory item was not found. */ + InventoryItemNotFound = 'INVENTORY_ITEM_NOT_FOUND', + /** Cannot stock this inventory item at this location because it is managed by a third-party fulfillment service. */ + InventoryManagedBy_3RdParty = 'INVENTORY_MANAGED_BY_3RD_PARTY', + /** Cannot stock this inventory item at this location because it is managed by Shopify. */ + InventoryManagedByShopify = 'INVENTORY_MANAGED_BY_SHOPIFY', + /** The location was not found. */ + LocationNotFound = 'LOCATION_NOT_FOUND', + /** Cannot stock this inventory item at this location because the variant is missing a SKU. */ + MissingSku = 'MISSING_SKU', + /** Cannot unstock this inventory item from this location because it has unavailable quantities. */ + ReservedInventoryAtLocation = 'RESERVED_INVENTORY_AT_LOCATION' +} + +/** Represents a change in an inventory quantity of an inventory item at a location. */ +export type InventoryChange = { + __typename?: 'InventoryChange'; + /** The amount by which the inventory quantity was changed. */ + delta: Scalars['Int']['output']; + /** The inventory item associated with this inventory change. */ + item?: Maybe; + /** A URI that represents what the inventory quantity change was applied to. */ + ledgerDocumentUri?: Maybe; + /** The location associated with this inventory change. */ + location?: Maybe; + /** + * The [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states) + * of the inventory quantity that was changed. + */ + name: Scalars['String']['output']; + /** The quantity of named inventory after the change. */ + quantityAfterChange?: Maybe; +}; + +/** The input fields for the change to be made to an inventory item at a location. */ +export type InventoryChangeInput = { + /** The amount by which the inventory quantity will be changed. */ + delta: Scalars['Int']['input']; + /** Specifies the inventory item to which the change will be applied. */ + inventoryItemId: Scalars['ID']['input']; + /** + * A freeform URI that represents what changed the inventory quantities. A Shopify global ID isn't an accepted + * value. For example, specifying "gid://shopify/Order/123" would return an error. This field is required for all + * quantity names except `available`. The field `ledgerDocumentUri` isn't supported for use with an `available` + * quantity name. + */ + ledgerDocumentUri?: InputMaybe; + /** Specifies the location at which the change will be applied. */ + locationId: Scalars['ID']['input']; +}; + +/** Return type for `inventoryDeactivate` mutation. */ +export type InventoryDeactivatePayload = { + __typename?: 'InventoryDeactivatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * Represents the goods available to be shipped to a customer. + * It holds essential information about the goods, including SKU and whether it is tracked. + * Learn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships). + */ +export type InventoryItem = LegacyInteroperability & Node & { + __typename?: 'InventoryItem'; + /** The ISO 3166-1 alpha-2 country code of where the item originated from. */ + countryCodeOfOrigin?: Maybe; + /** A list of country specific harmonized system codes. */ + countryHarmonizedSystemCodes: CountryHarmonizedSystemCodeConnection; + /** The date and time when the inventory item was created. */ + createdAt: Scalars['DateTime']['output']; + /** The number of inventory items that share the same SKU with this item. */ + duplicateSkuCount: Scalars['Int']['output']; + /** The harmonized system code of the item. */ + harmonizedSystemCode?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The URL that points to the inventory history for the item. */ + inventoryHistoryUrl?: Maybe; + /** The inventory item's quantities at the specified location. */ + inventoryLevel?: Maybe; + /** A list of the inventory item's quantities for each location that the inventory item can be stocked at. */ + inventoryLevels: InventoryLevelConnection; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The number of locations where this inventory item is stocked. */ + locationsCount?: Maybe; + /** The packaging dimensions of the inventory item. */ + measurement: InventoryItemMeasurement; + /** The ISO 3166-2 alpha-2 province code of where the item originated from. */ + provinceCodeOfOrigin?: Maybe; + /** Whether the inventory item requires shipping. */ + requiresShipping: Scalars['Boolean']['output']; + /** Inventory item SKU. Case-sensitive string. */ + sku?: Maybe; + /** Whether inventory levels are tracked for the item. */ + tracked: Scalars['Boolean']['output']; + /** Whether the value of the `tracked` field for the inventory item can be changed. */ + trackedEditable: EditableProperty; + /** Unit cost associated with the inventory item. Note: the user must have "View product costs" permission granted in order to access this field once product granular permissions are enabled. */ + unitCost?: Maybe; + /** The date and time when the inventory item was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The variant that owns this inventory item. */ + variant: ProductVariant; +}; + + +/** + * Represents the goods available to be shipped to a customer. + * It holds essential information about the goods, including SKU and whether it is tracked. + * Learn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships). + */ +export type InventoryItemCountryHarmonizedSystemCodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents the goods available to be shipped to a customer. + * It holds essential information about the goods, including SKU and whether it is tracked. + * Learn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships). + */ +export type InventoryItemInventoryLevelArgs = { + locationId: Scalars['ID']['input']; +}; + + +/** + * Represents the goods available to be shipped to a customer. + * It holds essential information about the goods, including SKU and whether it is tracked. + * Learn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships). + */ +export type InventoryItemInventoryLevelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple InventoryItems. */ +export type InventoryItemConnection = { + __typename?: 'InventoryItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in InventoryItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one InventoryItem and a cursor during pagination. */ +export type InventoryItemEdge = { + __typename?: 'InventoryItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of InventoryItemEdge. */ + node: InventoryItem; +}; + +/** The input fields for an inventory item. */ +export type InventoryItemInput = { + /** Unit cost associated with the inventory item, the currency is the shop's default currency. */ + cost?: InputMaybe; + /** The ISO 3166-1 alpha-2 country code of where the item originated from. */ + countryCodeOfOrigin?: InputMaybe; + /** List of country-specific harmonized system codes. */ + countryHarmonizedSystemCodes?: InputMaybe>; + /** The harmonized system code of the inventory item. */ + harmonizedSystemCode?: InputMaybe; + /** The measurements of an inventory item. */ + measurement?: InputMaybe; + /** The ISO 3166-2 alpha-2 province code of where the item originated from. */ + provinceCodeOfOrigin?: InputMaybe; + requiresShipping?: InputMaybe; + /** The SKU (stock keeping unit) of the inventory item. */ + sku?: InputMaybe; + /** Whether the inventory item is tracked. */ + tracked?: InputMaybe; +}; + +/** Represents the packaged dimension for an inventory item. */ +export type InventoryItemMeasurement = Node & { + __typename?: 'InventoryItemMeasurement'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The weight of the inventory item. */ + weight?: Maybe; +}; + +/** The input fields for an inventory item measurement. */ +export type InventoryItemMeasurementInput = { + /** The weight of the inventory item. */ + weight?: InputMaybe; +}; + +/** Return type for `inventoryItemUpdate` mutation. */ +export type InventoryItemUpdatePayload = { + __typename?: 'InventoryItemUpdatePayload'; + /** The inventory item that was updated. */ + inventoryItem?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * The quantities of an inventory item that are related to a specific location. + * Learn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships). + */ +export type InventoryLevel = Node & { + __typename?: 'InventoryLevel'; + /** Whether the inventory items associated with the inventory level can be deactivated. */ + canDeactivate: Scalars['Boolean']['output']; + /** The date and time when the inventory level was created. */ + createdAt: Scalars['DateTime']['output']; + /** Describes either the impact of deactivating the inventory level, or why the inventory level can't be deactivated. */ + deactivationAlert?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Inventory item associated with the inventory level. */ + item: InventoryItem; + /** The location associated with the inventory level. */ + location: Location; + /** Quantities for the requested names. */ + quantities: Array; + /** Scheduled changes for the requested quantity names. */ + scheduledChanges: InventoryScheduledChangeConnection; + /** The date and time when the inventory level was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** + * The quantities of an inventory item that are related to a specific location. + * Learn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships). + */ +export type InventoryLevelQuantitiesArgs = { + names: Array; +}; + + +/** + * The quantities of an inventory item that are related to a specific location. + * Learn [more about the relationships between inventory objects](https://shopify.dev/docs/apps/build/orders-fulfillment/inventory-management-apps/manage-quantities-states#inventory-object-relationships). + */ +export type InventoryLevelScheduledChangesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple InventoryLevels. */ +export type InventoryLevelConnection = { + __typename?: 'InventoryLevelConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in InventoryLevelEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one InventoryLevel and a cursor during pagination. */ +export type InventoryLevelEdge = { + __typename?: 'InventoryLevelEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of InventoryLevelEdge. */ + node: InventoryLevel; +}; + +/** The input fields for an inventory level. */ +export type InventoryLevelInput = { + /** The available quantity of an inventory item at a location. */ + availableQuantity: Scalars['Int']['input']; + /** The ID of a location associated with the inventory level. */ + locationId: Scalars['ID']['input']; +}; + +/** The input fields required to move inventory quantities. */ +export type InventoryMoveQuantitiesInput = { + /** The quantity changes of items at locations to be made. */ + changes: Array; + /** + * The reason for the quantity changes. The value must be one of the [possible + * reasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand). + */ + reason: Scalars['String']['input']; + /** + * A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory + * quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a + * draft order might have been previously reserved, and a merchant later creates an order from the draft order. + * In this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID. + */ + referenceDocumentUri: Scalars['String']['input']; +}; + +/** Return type for `inventoryMoveQuantities` mutation. */ +export type InventoryMoveQuantitiesPayload = { + __typename?: 'InventoryMoveQuantitiesPayload'; + /** The group of changes made by the operation. */ + inventoryAdjustmentGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `InventoryMoveQuantities`. */ +export type InventoryMoveQuantitiesUserError = DisplayableError & { + __typename?: 'InventoryMoveQuantitiesUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `InventoryMoveQuantitiesUserError`. */ +export enum InventoryMoveQuantitiesUserErrorCode { + /** The quantities can't be moved between different locations. */ + DifferentLocations = 'DIFFERENT_LOCATIONS', + /** Internal (gid://shopify/) ledger documents are not allowed to be adjusted via API. */ + InternalLedgerDocument = 'INTERNAL_LEDGER_DOCUMENT', + /** A ledger document URI is not allowed when adjusting available. */ + InvalidAvailableDocument = 'INVALID_AVAILABLE_DOCUMENT', + /** The specified inventory item could not be found. */ + InvalidInventoryItem = 'INVALID_INVENTORY_ITEM', + /** The specified ledger document is invalid. */ + InvalidLedgerDocument = 'INVALID_LEDGER_DOCUMENT', + /** The specified location could not be found. */ + InvalidLocation = 'INVALID_LOCATION', + /** A ledger document URI is required except when adjusting available. */ + InvalidQuantityDocument = 'INVALID_QUANTITY_DOCUMENT', + /** The specified quantity name is invalid. */ + InvalidQuantityName = 'INVALID_QUANTITY_NAME', + /** The quantity can't be negative. */ + InvalidQuantityNegative = 'INVALID_QUANTITY_NEGATIVE', + /** The quantity can't be higher than 2,000,000,000. */ + InvalidQuantityTooHigh = 'INVALID_QUANTITY_TOO_HIGH', + /** The specified reason is invalid. */ + InvalidReason = 'INVALID_REASON', + /** The specified reference document is invalid. */ + InvalidReferenceDocument = 'INVALID_REFERENCE_DOCUMENT', + /** The inventory item is not stocked at the location. */ + ItemNotStockedAtLocation = 'ITEM_NOT_STOCKED_AT_LOCATION', + /** Only a maximum of 2 ledger document URIs across all changes is allowed. */ + MaximumLedgerDocumentUris = 'MAXIMUM_LEDGER_DOCUMENT_URIS', + /** The quantities couldn't be moved. Try again. */ + MoveQuantitiesFailed = 'MOVE_QUANTITIES_FAILED', + /** The specified inventory item is not allowed to be adjusted via API. Example: if the inventory item is a parent bundle. */ + NonMutableInventoryItem = 'NON_MUTABLE_INVENTORY_ITEM', + /** The quantity names for each change can't be the same. */ + SameQuantityName = 'SAME_QUANTITY_NAME' +} + +/** + * Represents the change to be made to an inventory item at a location. + * The change can either involve the same quantity name between different locations, + * or involve different quantity names between the same location. + */ +export type InventoryMoveQuantityChange = { + /** Details about where the move will be made from. */ + from: InventoryMoveQuantityTerminalInput; + /** Specifies the inventory item to which the change will be applied. */ + inventoryItemId: Scalars['ID']['input']; + /** The amount by which the inventory quantity will be changed. */ + quantity: Scalars['Int']['input']; + /** Details about where the move will be made to. */ + to: InventoryMoveQuantityTerminalInput; +}; + +/** The input fields representing the change to be made to an inventory item at a location. */ +export type InventoryMoveQuantityTerminalInput = { + /** + * A freeform URI that represents what changed the inventory quantities. A Shopify global ID isn't an accepted + * value. For example, specifying "gid://shopify/Order/123" would return an error. This field is required for a move of + * all quantity names except `available`. The field `ledgerDocumentUri` isn't supported for use with an + * `available` quantity name. + */ + ledgerDocumentUri?: InputMaybe; + /** Specifies the location at which the change will be applied. */ + locationId: Scalars['ID']['input']; + /** + * The quantity + * [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states) to be + * moved. + */ + name: Scalars['String']['input']; +}; + +/** General inventory properties for the shop. */ +export type InventoryProperties = { + __typename?: 'InventoryProperties'; + /** All the quantity names. */ + quantityNames: Array; +}; + +/** Represents a quantity of an inventory item at a specific location, for a specific name. */ +export type InventoryQuantity = Node & { + __typename?: 'InventoryQuantity'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states) + * that identifies the inventory quantity. + */ + name: Scalars['String']['output']; + /** The quantity for the quantity name. */ + quantity: Scalars['Int']['output']; + /** When the quantity was last updated. */ + updatedAt?: Maybe; +}; + +/** The input fields for the quantity to be set for an inventory item at a location. */ +export type InventoryQuantityInput = { + /** The current quantity to be compared against the persisted quantity. */ + compareQuantity?: InputMaybe; + /** Specifies the inventory item to which the quantity will be set. */ + inventoryItemId: Scalars['ID']['input']; + /** Specifies the location at which the quantity will be set. */ + locationId: Scalars['ID']['input']; + /** The quantity to which the inventory quantity will be set. */ + quantity: Scalars['Int']['input']; +}; + +/** Details about an individual quantity name. */ +export type InventoryQuantityName = { + __typename?: 'InventoryQuantityName'; + /** List of quantity names that this quantity name belongs to. */ + belongsTo: Array; + /** List of quantity names that comprise this quantity name. */ + comprises: Array; + /** The display name for quantity names translated into applicable language. */ + displayName?: Maybe; + /** Whether the quantity name has been used by the merchant. */ + isInUse: Scalars['Boolean']['output']; + /** + * The [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#inventory-states) of + * the inventory quantity. Used by + * [inventory queries and mutations](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps#graphql-queries-and-mutations). + */ + name: Scalars['String']['output']; +}; + +/** Returns the scheduled changes to inventory states related to the ledger document. */ +export type InventoryScheduledChange = { + __typename?: 'InventoryScheduledChange'; + /** The date and time that the scheduled change is expected to happen. */ + expectedAt: Scalars['DateTime']['output']; + /** + * The quantity + * [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states) + * to transition from. + */ + fromName: Scalars['String']['output']; + /** The quantities of an inventory item that are related to a specific location. */ + inventoryLevel: InventoryLevel; + /** A freeform URI that represents what changed the inventory quantities. */ + ledgerDocumentUri: Scalars['URL']['output']; + /** The quantity of the scheduled change associated with the ledger document in the `fromName` state. */ + quantity: Scalars['Int']['output']; + /** + * The quantity + * [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states) + * to transition to. + */ + toName: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple InventoryScheduledChanges. */ +export type InventoryScheduledChangeConnection = { + __typename?: 'InventoryScheduledChangeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in InventoryScheduledChangeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one InventoryScheduledChange and a cursor during pagination. */ +export type InventoryScheduledChangeEdge = { + __typename?: 'InventoryScheduledChangeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of InventoryScheduledChangeEdge. */ + node: InventoryScheduledChange; +}; + +/** The input fields for a scheduled change of an inventory item. */ +export type InventoryScheduledChangeInput = { + /** The date and time that the scheduled change is expected to happen. */ + expectedAt: Scalars['DateTime']['input']; + /** + * The quantity + * [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states) + * to transition from. + */ + fromName: Scalars['String']['input']; + /** + * The quantity + * [name](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#move-inventory-quantities-between-states) + * to transition to. + */ + toName: Scalars['String']['input']; +}; + +/** The input fields for the inventory item associated with the scheduled changes that need to be applied. */ +export type InventoryScheduledChangeItemInput = { + /** The ID of the inventory item. */ + inventoryItemId: Scalars['ID']['input']; + /** A freeform URI that represents what changed the inventory quantities. */ + ledgerDocumentUri: Scalars['URL']['input']; + /** The ID of the location. */ + locationId: Scalars['ID']['input']; + /** An array of all the scheduled changes for the item. */ + scheduledChanges: Array; +}; + +/** The input fields required to set inventory on hand quantities. */ +export type InventorySetOnHandQuantitiesInput = { + /** + * The reason for the quantity changes. The value must be one of the [possible + * reasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand). + */ + reason: Scalars['String']['input']; + /** + * A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory + * quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a + * draft order might have been previously reserved, and a merchant later creates an order from the draft order. + * In this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID. + */ + referenceDocumentUri?: InputMaybe; + /** The value to which the on hand quantity will be set. */ + setQuantities: Array; +}; + +/** Return type for `inventorySetOnHandQuantities` mutation. */ +export type InventorySetOnHandQuantitiesPayload = { + __typename?: 'InventorySetOnHandQuantitiesPayload'; + /** The group of changes made by the operation. */ + inventoryAdjustmentGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `InventorySetOnHandQuantities`. */ +export type InventorySetOnHandQuantitiesUserError = DisplayableError & { + __typename?: 'InventorySetOnHandQuantitiesUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `InventorySetOnHandQuantitiesUserError`. */ +export enum InventorySetOnHandQuantitiesUserErrorCode { + /** The specified inventory item could not be found. */ + InvalidInventoryItem = 'INVALID_INVENTORY_ITEM', + /** The specified location could not be found. */ + InvalidLocation = 'INVALID_LOCATION', + /** The quantity can't be negative. */ + InvalidQuantityNegative = 'INVALID_QUANTITY_NEGATIVE', + /** The total quantity can't be higher than 1,000,000,000. */ + InvalidQuantityTooHigh = 'INVALID_QUANTITY_TOO_HIGH', + /** The specified reason is invalid. */ + InvalidReason = 'INVALID_REASON', + /** The specified reference document is invalid. */ + InvalidReferenceDocument = 'INVALID_REFERENCE_DOCUMENT', + /** The inventory item is not stocked at the location. */ + ItemNotStockedAtLocation = 'ITEM_NOT_STOCKED_AT_LOCATION', + /** The specified inventory item is not allowed to be adjusted via API. Example: if the inventory item is a parent bundle. */ + NonMutableInventoryItem = 'NON_MUTABLE_INVENTORY_ITEM', + /** The on-hand quantities couldn't be set. Try again. */ + SetOnHandQuantitiesFailed = 'SET_ON_HAND_QUANTITIES_FAILED' +} + +/** The input fields required to set inventory quantities. */ +export type InventorySetQuantitiesInput = { + /** Skip the compare quantity check in the quantities field. */ + ignoreCompareQuantity?: InputMaybe; + /** The name of quantities to be changed. The only accepted values are: `available` or `on_hand`. */ + name: Scalars['String']['input']; + /** The values to which each quantities will be set. */ + quantities: Array; + /** + * The reason for the quantity changes. The value must be one of the [possible + * reasons](https://shopify.dev/docs/apps/fulfillment/inventory-management-apps/quantities-states#set-inventory-quantities-on-hand). + */ + reason: Scalars['String']['input']; + /** + * A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory + * quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a + * draft order might have been previously reserved, and a merchant later creates an order from the draft order. + * In this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID. + */ + referenceDocumentUri?: InputMaybe; +}; + +/** Return type for `inventorySetQuantities` mutation. */ +export type InventorySetQuantitiesPayload = { + __typename?: 'InventorySetQuantitiesPayload'; + /** The group of changes made by the operation. */ + inventoryAdjustmentGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `InventorySetQuantities`. */ +export type InventorySetQuantitiesUserError = DisplayableError & { + __typename?: 'InventorySetQuantitiesUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `InventorySetQuantitiesUserError`. */ +export enum InventorySetQuantitiesUserErrorCode { + /** The compareQuantity argument must be given to each quantity or ignored using ignoreCompareQuantity. */ + CompareQuantityRequired = 'COMPARE_QUANTITY_REQUIRED', + /** The compareQuantity value does not match persisted value. */ + CompareQuantityStale = 'COMPARE_QUANTITY_STALE', + /** The specified inventory item could not be found. */ + InvalidInventoryItem = 'INVALID_INVENTORY_ITEM', + /** The specified location could not be found. */ + InvalidLocation = 'INVALID_LOCATION', + /** The quantity name must be either 'available' or 'on_hand'. */ + InvalidName = 'INVALID_NAME', + /** The quantity can't be negative. */ + InvalidQuantityNegative = 'INVALID_QUANTITY_NEGATIVE', + /** The total quantity can't be higher than 1,000,000,000. */ + InvalidQuantityTooHigh = 'INVALID_QUANTITY_TOO_HIGH', + /** The total quantity can't be lower than -1,000,000,000. */ + InvalidQuantityTooLow = 'INVALID_QUANTITY_TOO_LOW', + /** The specified reason is invalid. */ + InvalidReason = 'INVALID_REASON', + /** The specified reference document is invalid. */ + InvalidReferenceDocument = 'INVALID_REFERENCE_DOCUMENT', + /** The specified inventory item is not stocked at the location. */ + ItemNotStockedAtLocation = 'ITEM_NOT_STOCKED_AT_LOCATION', + /** The combination of inventoryItemId and locationId must be unique. */ + NoDuplicateInventoryItemIdGroupIdPair = 'NO_DUPLICATE_INVENTORY_ITEM_ID_GROUP_ID_PAIR' +} + +/** The input fields for the quantity to be set for an inventory item at a location. */ +export type InventorySetQuantityInput = { + /** Specifies the inventory item to which the quantity will be set. */ + inventoryItemId: Scalars['ID']['input']; + /** Specifies the location at which the quantity will be set. */ + locationId: Scalars['ID']['input']; + /** The quantity to which the inventory quantity will be set. */ + quantity: Scalars['Int']['input']; +}; + +/** The input fields for setting up scheduled changes of inventory items. */ +export type InventorySetScheduledChangesInput = { + /** The list of all the items on which the scheduled changes need to be applied. */ + items: Array; + /** The reason for setting up the scheduled changes. */ + reason: Scalars['String']['input']; + /** + * A freeform URI that represents why the inventory change happened. This can be the entity adjusting inventory + * quantities or the Shopify resource that's associated with the inventory adjustment. For example, a unit in a + * draft order might have been previously reserved, and a merchant later creates an order from the draft order. + * In this case, the `referenceDocumentUri` for the inventory adjustment is a URI referencing the order ID. + */ + referenceDocumentUri: Scalars['URL']['input']; +}; + +/** Return type for `inventorySetScheduledChanges` mutation. */ +export type InventorySetScheduledChangesPayload = { + __typename?: 'InventorySetScheduledChangesPayload'; + /** The scheduled changes that were created. */ + scheduledChanges?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `InventorySetScheduledChanges`. */ +export type InventorySetScheduledChangesUserError = DisplayableError & { + __typename?: 'InventorySetScheduledChangesUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `InventorySetScheduledChangesUserError`. */ +export enum InventorySetScheduledChangesUserErrorCode { + /** The item can only have one scheduled change for quantity name as the fromName. */ + DuplicateFromName = 'DUPLICATE_FROM_NAME', + /** The item can only have one scheduled change for quantity name as the toName. */ + DuplicateToName = 'DUPLICATE_TO_NAME', + /** There was an error updating the scheduled changes. */ + ErrorUpdatingScheduled = 'ERROR_UPDATING_SCHEDULED', + /** The specified field is invalid. */ + Inclusion = 'INCLUSION', + /** The specified fromName is invalid. */ + InvalidFromName = 'INVALID_FROM_NAME', + /** The specified reason is invalid. */ + InvalidReason = 'INVALID_REASON', + /** The specified toName is invalid. */ + InvalidToName = 'INVALID_TO_NAME', + /** The inventory item was not found. */ + InventoryItemNotFound = 'INVENTORY_ITEM_NOT_FOUND', + /** The inventory item was not found at the location specified. */ + InventoryStateNotFound = 'INVENTORY_STATE_NOT_FOUND', + /** At least 1 item must be provided. */ + ItemsEmpty = 'ITEMS_EMPTY', + /** The ledger document URI is invalid. */ + LedgerDocumentInvalid = 'LEDGER_DOCUMENT_INVALID', + /** The location couldn't be found. */ + LocationNotFound = 'LOCATION_NOT_FOUND', + /** The from_name and to_name can't be the same. */ + SameFromToNames = 'SAME_FROM_TO_NAMES' +} + +/** A job corresponds to some long running task that the client should poll for status. */ +export type Job = { + __typename?: 'Job'; + /** This indicates if the job is still queued or has been run. */ + done: Scalars['Boolean']['output']; + /** A globally-unique ID that's returned when running an asynchronous mutation. */ + id: Scalars['ID']['output']; + /** This field will only resolve once the job is done. Can be used to ask for object(s) that have been changed by the job. */ + query?: Maybe; +}; + +/** A job corresponds to some long running task that the client should poll for status. */ +export type JobResult = { + /** This indicates if the job is still queued or has been run. */ + done: Scalars['Boolean']['output']; + /** A globally-unique ID that's returned when running an asynchronous mutation. */ + id: Scalars['ID']['output']; +}; + +/** Language codes supported by Shopify. */ +export enum LanguageCode { + /** Afrikaans. */ + Af = 'AF', + /** Akan. */ + Ak = 'AK', + /** Amharic. */ + Am = 'AM', + /** Arabic. */ + Ar = 'AR', + /** Assamese. */ + As = 'AS', + /** Azerbaijani. */ + Az = 'AZ', + /** Belarusian. */ + Be = 'BE', + /** Bulgarian. */ + Bg = 'BG', + /** Bambara. */ + Bm = 'BM', + /** Bangla. */ + Bn = 'BN', + /** Tibetan. */ + Bo = 'BO', + /** Breton. */ + Br = 'BR', + /** Bosnian. */ + Bs = 'BS', + /** Catalan. */ + Ca = 'CA', + /** Chechen. */ + Ce = 'CE', + /** Central Kurdish. */ + Ckb = 'CKB', + /** Czech. */ + Cs = 'CS', + /** Church Slavic. */ + Cu = 'CU', + /** Welsh. */ + Cy = 'CY', + /** Danish. */ + Da = 'DA', + /** German. */ + De = 'DE', + /** Dzongkha. */ + Dz = 'DZ', + /** Ewe. */ + Ee = 'EE', + /** Greek. */ + El = 'EL', + /** English. */ + En = 'EN', + /** Esperanto. */ + Eo = 'EO', + /** Spanish. */ + Es = 'ES', + /** Estonian. */ + Et = 'ET', + /** Basque. */ + Eu = 'EU', + /** Persian. */ + Fa = 'FA', + /** Fulah. */ + Ff = 'FF', + /** Finnish. */ + Fi = 'FI', + /** Filipino. */ + Fil = 'FIL', + /** Faroese. */ + Fo = 'FO', + /** French. */ + Fr = 'FR', + /** Western Frisian. */ + Fy = 'FY', + /** Irish. */ + Ga = 'GA', + /** Scottish Gaelic. */ + Gd = 'GD', + /** Galician. */ + Gl = 'GL', + /** Gujarati. */ + Gu = 'GU', + /** Manx. */ + Gv = 'GV', + /** Hausa. */ + Ha = 'HA', + /** Hebrew. */ + He = 'HE', + /** Hindi. */ + Hi = 'HI', + /** Croatian. */ + Hr = 'HR', + /** Hungarian. */ + Hu = 'HU', + /** Armenian. */ + Hy = 'HY', + /** Interlingua. */ + Ia = 'IA', + /** Indonesian. */ + Id = 'ID', + /** Igbo. */ + Ig = 'IG', + /** Sichuan Yi. */ + Ii = 'II', + /** Icelandic. */ + Is = 'IS', + /** Italian. */ + It = 'IT', + /** Japanese. */ + Ja = 'JA', + /** Javanese. */ + Jv = 'JV', + /** Georgian. */ + Ka = 'KA', + /** Kikuyu. */ + Ki = 'KI', + /** Kazakh. */ + Kk = 'KK', + /** Kalaallisut. */ + Kl = 'KL', + /** Khmer. */ + Km = 'KM', + /** Kannada. */ + Kn = 'KN', + /** Korean. */ + Ko = 'KO', + /** Kashmiri. */ + Ks = 'KS', + /** Kurdish. */ + Ku = 'KU', + /** Cornish. */ + Kw = 'KW', + /** Kyrgyz. */ + Ky = 'KY', + /** Luxembourgish. */ + Lb = 'LB', + /** Ganda. */ + Lg = 'LG', + /** Lingala. */ + Ln = 'LN', + /** Lao. */ + Lo = 'LO', + /** Lithuanian. */ + Lt = 'LT', + /** Luba-Katanga. */ + Lu = 'LU', + /** Latvian. */ + Lv = 'LV', + /** Malagasy. */ + Mg = 'MG', + /** Māori. */ + Mi = 'MI', + /** Macedonian. */ + Mk = 'MK', + /** Malayalam. */ + Ml = 'ML', + /** Mongolian. */ + Mn = 'MN', + /** Marathi. */ + Mr = 'MR', + /** Malay. */ + Ms = 'MS', + /** Maltese. */ + Mt = 'MT', + /** Burmese. */ + My = 'MY', + /** Norwegian (Bokmål). */ + Nb = 'NB', + /** North Ndebele. */ + Nd = 'ND', + /** Nepali. */ + Ne = 'NE', + /** Dutch. */ + Nl = 'NL', + /** Norwegian Nynorsk. */ + Nn = 'NN', + /** Norwegian. */ + No = 'NO', + /** Oromo. */ + Om = 'OM', + /** Odia. */ + Or = 'OR', + /** Ossetic. */ + Os = 'OS', + /** Punjabi. */ + Pa = 'PA', + /** Polish. */ + Pl = 'PL', + /** Pashto. */ + Ps = 'PS', + /** Portuguese. */ + Pt = 'PT', + /** Portuguese (Brazil). */ + PtBr = 'PT_BR', + /** Portuguese (Portugal). */ + PtPt = 'PT_PT', + /** Quechua. */ + Qu = 'QU', + /** Romansh. */ + Rm = 'RM', + /** Rundi. */ + Rn = 'RN', + /** Romanian. */ + Ro = 'RO', + /** Russian. */ + Ru = 'RU', + /** Kinyarwanda. */ + Rw = 'RW', + /** Sanskrit. */ + Sa = 'SA', + /** Sardinian. */ + Sc = 'SC', + /** Sindhi. */ + Sd = 'SD', + /** Northern Sami. */ + Se = 'SE', + /** Sango. */ + Sg = 'SG', + /** Sinhala. */ + Si = 'SI', + /** Slovak. */ + Sk = 'SK', + /** Slovenian. */ + Sl = 'SL', + /** Shona. */ + Sn = 'SN', + /** Somali. */ + So = 'SO', + /** Albanian. */ + Sq = 'SQ', + /** Serbian. */ + Sr = 'SR', + /** Sundanese. */ + Su = 'SU', + /** Swedish. */ + Sv = 'SV', + /** Swahili. */ + Sw = 'SW', + /** Tamil. */ + Ta = 'TA', + /** Telugu. */ + Te = 'TE', + /** Tajik. */ + Tg = 'TG', + /** Thai. */ + Th = 'TH', + /** Tigrinya. */ + Ti = 'TI', + /** Turkmen. */ + Tk = 'TK', + /** Tongan. */ + To = 'TO', + /** Turkish. */ + Tr = 'TR', + /** Tatar. */ + Tt = 'TT', + /** Uyghur. */ + Ug = 'UG', + /** Ukrainian. */ + Uk = 'UK', + /** Urdu. */ + Ur = 'UR', + /** Uzbek. */ + Uz = 'UZ', + /** Vietnamese. */ + Vi = 'VI', + /** Volapük. */ + Vo = 'VO', + /** Wolof. */ + Wo = 'WO', + /** Xhosa. */ + Xh = 'XH', + /** Yiddish. */ + Yi = 'YI', + /** Yoruba. */ + Yo = 'YO', + /** Chinese. */ + Zh = 'ZH', + /** Chinese (Simplified). */ + ZhCn = 'ZH_CN', + /** Chinese (Traditional). */ + ZhTw = 'ZH_TW', + /** Zulu. */ + Zu = 'ZU' +} + +/** + * Interoperability metadata for types that directly correspond to a REST Admin API resource. + * For example, on the Product type, LegacyInteroperability returns metadata for the corresponding [Product object](https://shopify.dev/api/admin-graphql/latest/objects/product) in the REST Admin API. + */ +export type LegacyInteroperability = { + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; +}; + +/** Units of measurement for length. */ +export enum LengthUnit { + /** 100 centimeters equals 1 meter. */ + Centimeters = 'CENTIMETERS', + /** Imperial system unit of length. */ + Feet = 'FEET', + /** 12 inches equals 1 foot. */ + Inches = 'INCHES', + /** Metric system unit of length. */ + Meters = 'METERS', + /** 1000 millimeters equals 1 meter. */ + Millimeters = 'MILLIMETERS', + /** 1 yard equals 3 feet. */ + Yards = 'YARDS' +} + +/** + * The total number of pending orders on a shop if less then a maximum, or that maximum. + * The atMax field indicates when this maximum has been reached. + */ +export type LimitedPendingOrderCount = { + __typename?: 'LimitedPendingOrderCount'; + /** This is set when the number of pending orders has reached the maximum. */ + atMax: Scalars['Boolean']['output']; + /** + * The number of pendings orders on the shop. + * Limited to a maximum of 10000. + */ + count: Scalars['Int']['output']; +}; + +/** Represents individual products and quantities purchased in the associated order. */ +export type LineItem = Node & { + __typename?: 'LineItem'; + /** + * Whether the line item can be restocked. + * @deprecated Use `restockable` instead. + */ + canRestock: Scalars['Boolean']['output']; + /** The subscription contract associated with this line item. */ + contract?: Maybe; + /** The number of units ordered, excluding refunded and removed units. */ + currentQuantity: Scalars['Int']['output']; + /** A list of attributes that represent custom features or special requests. */ + customAttributes: Array; + /** The discounts that have been allocated to the line item by discount applications, including discounts allocated to refunded and removed quantities. */ + discountAllocations: Array; + /** + * The total discounted price of the line item in shop currency, including refunded and removed quantities. This value doesn't include order-level discounts. + * @deprecated Use `discountedTotalSet` instead. + */ + discountedTotal: Scalars['Money']['output']; + /** The total discounted price of the line item in shop and presentment currencies, including refunded and removed quantities. This value doesn't include order-level discounts. Code-based discounts aren't included by default. */ + discountedTotalSet: MoneyBag; + /** + * The approximate unit price of the line item in shop currency. This value includes line-level discounts and discounts applied to refunded and removed quantities. It doesn't include order-level or code-based discounts. + * @deprecated Use `discountedUnitPriceSet` instead. + */ + discountedUnitPrice: Scalars['Money']['output']; + /** The approximate unit price of the line item in shop and presentment currencies. This value includes discounts applied to refunded and removed quantities. */ + discountedUnitPriceAfterAllDiscountsSet: MoneyBag; + /** The approximate unit price of the line item in shop and presentment currencies. This value includes line-level discounts and discounts applied to refunded and removed quantities. It doesn't include order-level or code-based discounts. */ + discountedUnitPriceSet: MoneyBag; + /** The duties associated with the line item. */ + duties: Array; + /** + * The total number of units to fulfill. + * @deprecated Use [FulfillmentOrderLineItem#remainingQuantity](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderLineItem#field-fulfillmentorderlineitem-remainingquantity) instead. + */ + fulfillableQuantity: Scalars['Int']['output']; + /** + * The fulfillment service that stocks the product variant belonging to a line item. + * + * This is a third-party fulfillment service in the following scenarios: + * + * **Scenario 1** + * - The product variant is stocked by a single fulfillment service. + * - The [FulfillmentService](/api/admin-graphql/latest/objects/FulfillmentService) is a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`. + * + * **Scenario 2** + * - Multiple fulfillment services stock the product variant. + * - The last time that the line item was unfulfilled, it was awaiting fulfillment by a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`. + * + * If none of the above conditions are met, then the fulfillment service has the `manual` handle. + * @deprecated + * The [relationship between a product variant and a fulfillment service was changed in the `2022-07` API version](/changelog/fulfillment-service-sku-sharing). A [ProductVariant](/api/admin-graphql/latest/objects/ProductVariant) can be stocked by multiple fulfillment services. As a result, we recommend that you use the [inventoryItem field](/api/admin-graphql/latest/objects/ProductVariant#field-productvariant-inventoryitem) if you need to determine where a product variant is stocked. + * + * If you need to determine whether a product is a gift card, then you should continue to use this field until an alternative is available. + * + * Altering the locations which stock a product variant won't change the value of this field for existing orders. + * + * Learn about [managing inventory quantities and states](/apps/fulfillment/inventory-management-apps/quantities-states). + * + */ + fulfillmentService?: Maybe; + /** + * The line item's fulfillment status. Returns 'fulfilled' if fulfillableQuantity >= quantity, + * 'partial' if fulfillableQuantity > 0, and 'unfulfilled' otherwise. + * @deprecated Use [FulfillmentOrderLineItem#remainingQuantity](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrderLineItem#field-fulfillmentorderlineitem-remainingquantity) instead + */ + fulfillmentStatus: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image associated to the line item's variant. */ + image?: Maybe; + /** Whether the line item represents the purchase of a gift card. */ + isGiftCard: Scalars['Boolean']['output']; + /** The line item group associated to the line item. */ + lineItemGroup?: Maybe; + /** Whether the line item can be edited or not. */ + merchantEditable: Scalars['Boolean']['output']; + /** The title of the product, optionally appended with the title of the variant (if applicable). */ + name: Scalars['String']['output']; + /** The total number of units that can't be fulfilled. For example, if items have been refunded, or the item is not something that can be fulfilled, like a tip. Please see the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object for more fulfillment details. */ + nonFulfillableQuantity: Scalars['Int']['output']; + /** + * In shop currency, the total price of the line item when the order was created. + * This value doesn't include discounts. + * @deprecated Use `originalTotalSet` instead. + */ + originalTotal: Scalars['Money']['output']; + /** + * In shop and presentment currencies, the total price of the line item when the order was created. + * This value doesn't include discounts. + */ + originalTotalSet: MoneyBag; + /** + * In shop currency, the unit price of the line item when the order was created. This value doesn't include discounts. + * @deprecated Use `originalUnitPriceSet` instead. + */ + originalUnitPrice: Scalars['Money']['output']; + /** In shop and presentment currencies, the unit price of the line item when the order was created. This value doesn't include discounts. */ + originalUnitPriceSet: MoneyBag; + /** The Product object associated with this line item's variant. */ + product?: Maybe; + /** The number of units ordered, including refunded and removed units. */ + quantity: Scalars['Int']['output']; + /** The number of units ordered, excluding refunded units. */ + refundableQuantity: Scalars['Int']['output']; + /** Whether physical shipping is required for the variant. */ + requiresShipping: Scalars['Boolean']['output']; + /** Whether the line item can be restocked. */ + restockable: Scalars['Boolean']['output']; + /** The selling plan details associated with the line item. */ + sellingPlan?: Maybe; + /** The variant SKU number. */ + sku?: Maybe; + /** Staff attributed to the line item. */ + staffMember?: Maybe; + /** The taxes charged for the line item, including taxes charged for refunded and removed quantities. */ + taxLines: Array; + /** Whether the variant is taxable. */ + taxable: Scalars['Boolean']['output']; + /** The title of the product at time of order creation. */ + title: Scalars['String']['output']; + /** + * The total discount allocated to the line item in shop currency, including the total allocated to refunded and removed quantities. This value doesn't include order-level discounts. + * @deprecated Use `totalDiscountSet` instead. + */ + totalDiscount: Scalars['Money']['output']; + /** The total discount allocated to the line item in shop and presentment currencies, including the total allocated to refunded and removed quantities. This value doesn't include order-level discounts. */ + totalDiscountSet: MoneyBag; + /** + * In shop currency, the total discounted price of the unfulfilled quantity for the line item. + * @deprecated Use `unfulfilledDiscountedTotalSet` instead. + */ + unfulfilledDiscountedTotal: Scalars['Money']['output']; + /** In shop and presentment currencies, the total discounted price of the unfulfilled quantity for the line item. */ + unfulfilledDiscountedTotalSet: MoneyBag; + /** + * In shop currency, the total price of the unfulfilled quantity for the line item. This value doesn't include discounts. + * @deprecated Use `unfulfilledOriginalTotalSet` instead. + */ + unfulfilledOriginalTotal: Scalars['Money']['output']; + /** In shop and presentment currencies, the total price of the unfulfilled quantity for the line item. This value doesn't include discounts. */ + unfulfilledOriginalTotalSet: MoneyBag; + /** The number of units not yet fulfilled. */ + unfulfilledQuantity: Scalars['Int']['output']; + /** The Variant object associated with this line item. */ + variant?: Maybe; + /** The title of the variant at time of order creation. */ + variantTitle?: Maybe; + /** The name of the vendor who made the variant. */ + vendor?: Maybe; +}; + + +/** Represents individual products and quantities purchased in the associated order. */ +export type LineItemDiscountedTotalSetArgs = { + withCodeDiscounts?: InputMaybe; +}; + + +/** Represents individual products and quantities purchased in the associated order. */ +export type LineItemTaxLinesArgs = { + first?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple LineItems. */ +export type LineItemConnection = { + __typename?: 'LineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in LineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one LineItem and a cursor during pagination. */ +export type LineItemEdge = { + __typename?: 'LineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of LineItemEdge. */ + node: LineItem; +}; + +/** A line item group (bundle) to which a line item belongs to. */ +export type LineItemGroup = Node & { + __typename?: 'LineItemGroup'; + /** A list of attributes that represent custom features or special requests. */ + customAttributes: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Quantity of the line item group on the order. */ + quantity: Scalars['Int']['output']; + /** Title of the line item group. */ + title: Scalars['String']['output']; + /** ID of the variant of the line item group. */ + variantId?: Maybe; + /** SKU of the variant of the line item group. */ + variantSku?: Maybe; +}; + +/** Represents the selling plan for a line item. */ +export type LineItemSellingPlan = { + __typename?: 'LineItemSellingPlan'; + /** The name of the selling plan for display purposes. */ + name: Scalars['String']['output']; + /** The ID of the selling plan associated with the line item. */ + sellingPlanId?: Maybe; +}; + +/** A link to direct users to. */ +export type Link = HasPublishedTranslations & { + __typename?: 'Link'; + /** A context-sensitive label for the link. */ + label: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The URL that the link visits. */ + url: Scalars['URL']['output']; +}; + + +/** A link to direct users to. */ +export type LinkTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** + * The identifier for the metafield linked to this option. + * + * This API is currently in early access. See [Metafield-linked product options](https://shopify.dev/docs/api/admin/migrate/new-product-model/metafield-linked) for more details. + */ +export type LinkedMetafield = { + __typename?: 'LinkedMetafield'; + /** Key of the metafield the option is linked to. */ + key?: Maybe; + /** Namespace of the metafield the option is linked to. */ + namespace?: Maybe; +}; + +/** The input fields required to link a product option to a metafield. */ +export type LinkedMetafieldCreateInput = { + /** The key of the metafield this option is linked to. */ + key: Scalars['String']['input']; + /** The namespace of the metafield this option is linked to. */ + namespace: Scalars['String']['input']; + /** Values associated with the option. */ + values?: InputMaybe>; +}; + +/** The input fields for linking a combined listing option to a metafield. */ +export type LinkedMetafieldInput = { + /** The key of the linked metafield. */ + key: Scalars['String']['input']; + /** The namespace of the linked metafield. */ + namespace: Scalars['String']['input']; + /** The values of the linked metafield. */ + values: Array; +}; + +/** + * The input fields required to link a product option to a metafield. + * + * This API is currently in early access. See [Metafield-linked product options](https://shopify.dev/docs/api/admin/migrate/new-product-model/metafield-linked) for more details. + */ +export type LinkedMetafieldUpdateInput = { + /** The key of the metafield this option is linked to. */ + key: Scalars['String']['input']; + /** The namespace of the metafield this option is linked to. */ + namespace: Scalars['String']['input']; +}; + +/** Local payment methods payment details related to a transaction. */ +export type LocalPaymentMethodsPaymentDetails = BasePaymentDetails & { + __typename?: 'LocalPaymentMethodsPaymentDetails'; + /** The descriptor by the payment provider. Only available for Amazon Pay and Buy with Prime. */ + paymentDescriptor?: Maybe; + /** The name of payment method used by the buyer. */ + paymentMethodName?: Maybe; +}; + +/** A locale. */ +export type Locale = { + __typename?: 'Locale'; + /** Locale ISO code. */ + isoCode: Scalars['String']['output']; + /** Human-readable locale name. */ + name: Scalars['String']['output']; +}; + +/** Specifies the type of the underlying localizable content. This can be used to conditionally render different UI elements such as input fields. */ +export enum LocalizableContentType { + /** A file reference. */ + FileReference = 'FILE_REFERENCE', + /** An HTML. */ + Html = 'HTML', + /** An inline rich text. */ + InlineRichText = 'INLINE_RICH_TEXT', + /** A JSON. */ + Json = 'JSON', + /** A JSON string. */ + JsonString = 'JSON_STRING', + /** A link. */ + Link = 'LINK', + /** A list of file references. */ + ListFileReference = 'LIST_FILE_REFERENCE', + /** A list of links. */ + ListLink = 'LIST_LINK', + /** A list of multi-line texts. */ + ListMultiLineTextField = 'LIST_MULTI_LINE_TEXT_FIELD', + /** A list of single-line texts. */ + ListSingleLineTextField = 'LIST_SINGLE_LINE_TEXT_FIELD', + /** A list of URLs. */ + ListUrl = 'LIST_URL', + /** A multi-line text. */ + MultiLineTextField = 'MULTI_LINE_TEXT_FIELD', + /** A rich text. */ + RichTextField = 'RICH_TEXT_FIELD', + /** A single-line text. */ + SingleLineTextField = 'SINGLE_LINE_TEXT_FIELD', + /** A string. */ + String = 'STRING', + /** A URI. */ + Uri = 'URI', + /** A URL. */ + Url = 'URL' +} + +/** Represents the value captured by a localization extension. Localization extensions are additional fields required by certain countries on international orders. For example, some countries require additional fields for customs information or tax identification numbers. */ +export type LocalizationExtension = { + __typename?: 'LocalizationExtension'; + /** Country ISO 3166-1 alpha-2 code. */ + countryCode: CountryCode; + /** The localized extension keys that are allowed. */ + key: LocalizationExtensionKey; + /** The purpose of this localization extension. */ + purpose: LocalizationExtensionPurpose; + /** The localized extension title. */ + title: Scalars['String']['output']; + /** The value of the field. */ + value: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple LocalizationExtensions. */ +export type LocalizationExtensionConnection = { + __typename?: 'LocalizationExtensionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in LocalizationExtensionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one LocalizationExtension and a cursor during pagination. */ +export type LocalizationExtensionEdge = { + __typename?: 'LocalizationExtensionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of LocalizationExtensionEdge. */ + node: LocalizationExtension; +}; + +/** The input fields for a LocalizationExtensionInput. */ +export type LocalizationExtensionInput = { + /** The key for the localization extension. */ + key: LocalizationExtensionKey; + /** The localization extension value. */ + value: Scalars['String']['input']; +}; + +/** The key of a localization extension. */ +export enum LocalizationExtensionKey { + /** Extension key 'shipping_credential_br' for country BR. */ + ShippingCredentialBr = 'SHIPPING_CREDENTIAL_BR', + /** Extension key 'shipping_credential_cl' for country CL. */ + ShippingCredentialCl = 'SHIPPING_CREDENTIAL_CL', + /** Extension key 'shipping_credential_cn' for country CN. */ + ShippingCredentialCn = 'SHIPPING_CREDENTIAL_CN', + /** Extension key 'shipping_credential_co' for country CO. */ + ShippingCredentialCo = 'SHIPPING_CREDENTIAL_CO', + /** Extension key 'shipping_credential_cr' for country CR. */ + ShippingCredentialCr = 'SHIPPING_CREDENTIAL_CR', + /** Extension key 'shipping_credential_ec' for country EC. */ + ShippingCredentialEc = 'SHIPPING_CREDENTIAL_EC', + /** Extension key 'shipping_credential_es' for country ES. */ + ShippingCredentialEs = 'SHIPPING_CREDENTIAL_ES', + /** Extension key 'shipping_credential_gt' for country GT. */ + ShippingCredentialGt = 'SHIPPING_CREDENTIAL_GT', + /** Extension key 'shipping_credential_id' for country ID. */ + ShippingCredentialId = 'SHIPPING_CREDENTIAL_ID', + /** Extension key 'shipping_credential_kr' for country KR. */ + ShippingCredentialKr = 'SHIPPING_CREDENTIAL_KR', + /** Extension key 'shipping_credential_my' for country MY. */ + ShippingCredentialMy = 'SHIPPING_CREDENTIAL_MY', + /** Extension key 'shipping_credential_pe' for country PE. */ + ShippingCredentialPe = 'SHIPPING_CREDENTIAL_PE', + /** Extension key 'shipping_credential_pt' for country PT. */ + ShippingCredentialPt = 'SHIPPING_CREDENTIAL_PT', + /** Extension key 'shipping_credential_py' for country PY. */ + ShippingCredentialPy = 'SHIPPING_CREDENTIAL_PY', + /** Extension key 'shipping_credential_tr' for country TR. */ + ShippingCredentialTr = 'SHIPPING_CREDENTIAL_TR', + /** Extension key 'shipping_credential_tw' for country TW. */ + ShippingCredentialTw = 'SHIPPING_CREDENTIAL_TW', + /** Extension key 'shipping_credential_type_co' for country CO. */ + ShippingCredentialTypeCo = 'SHIPPING_CREDENTIAL_TYPE_CO', + /** Extension key 'tax_credential_br' for country BR. */ + TaxCredentialBr = 'TAX_CREDENTIAL_BR', + /** Extension key 'tax_credential_cl' for country CL. */ + TaxCredentialCl = 'TAX_CREDENTIAL_CL', + /** Extension key 'tax_credential_co' for country CO. */ + TaxCredentialCo = 'TAX_CREDENTIAL_CO', + /** Extension key 'tax_credential_cr' for country CR. */ + TaxCredentialCr = 'TAX_CREDENTIAL_CR', + /** Extension key 'tax_credential_ec' for country EC. */ + TaxCredentialEc = 'TAX_CREDENTIAL_EC', + /** Extension key 'tax_credential_es' for country ES. */ + TaxCredentialEs = 'TAX_CREDENTIAL_ES', + /** Extension key 'tax_credential_gt' for country GT. */ + TaxCredentialGt = 'TAX_CREDENTIAL_GT', + /** Extension key 'tax_credential_id' for country ID. */ + TaxCredentialId = 'TAX_CREDENTIAL_ID', + /** Extension key 'tax_credential_it' for country IT. */ + TaxCredentialIt = 'TAX_CREDENTIAL_IT', + /** Extension key 'tax_credential_mx' for country MX. */ + TaxCredentialMx = 'TAX_CREDENTIAL_MX', + /** Extension key 'tax_credential_my' for country MY. */ + TaxCredentialMy = 'TAX_CREDENTIAL_MY', + /** Extension key 'tax_credential_pe' for country PE. */ + TaxCredentialPe = 'TAX_CREDENTIAL_PE', + /** Extension key 'tax_credential_pt' for country PT. */ + TaxCredentialPt = 'TAX_CREDENTIAL_PT', + /** Extension key 'tax_credential_py' for country PY. */ + TaxCredentialPy = 'TAX_CREDENTIAL_PY', + /** Extension key 'tax_credential_tr' for country TR. */ + TaxCredentialTr = 'TAX_CREDENTIAL_TR', + /** Extension key 'tax_credential_type_co' for country CO. */ + TaxCredentialTypeCo = 'TAX_CREDENTIAL_TYPE_CO', + /** Extension key 'tax_credential_type_mx' for country MX. */ + TaxCredentialTypeMx = 'TAX_CREDENTIAL_TYPE_MX', + /** Extension key 'tax_credential_use_mx' for country MX. */ + TaxCredentialUseMx = 'TAX_CREDENTIAL_USE_MX', + /** Extension key 'tax_email_it' for country IT. */ + TaxEmailIt = 'TAX_EMAIL_IT' +} + +/** The purpose of a localization extension. */ +export enum LocalizationExtensionPurpose { + /** Extensions that are used for shipping purposes, for example, customs clearance. */ + Shipping = 'SHIPPING', + /** Extensions that are used for taxes purposes, for example, invoicing. */ + Tax = 'TAX' +} + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type Location = HasMetafieldDefinitions & HasMetafields & LegacyInteroperability & Node & { + __typename?: 'Location'; + /** + * Whether the location can be reactivated. If `false`, then trying to activate the location with the + * [`LocationActivate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/locationActivate) + * mutation will return an error that describes why the location can't be activated. + */ + activatable: Scalars['Boolean']['output']; + /** The address of this location. */ + address: LocationAddress; + /** Whether the location address has been verified. */ + addressVerified: Scalars['Boolean']['output']; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) that the location was added to a shop. */ + createdAt: Scalars['DateTime']['output']; + /** + * Whether this location can be deactivated. If `true`, then the location can be deactivated by calling the + * [`LocationDeactivate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/locationDeactivate) + * mutation. If `false`, then calling the mutation to deactivate it will return an error that describes why the + * location can't be deactivated. + */ + deactivatable: Scalars['Boolean']['output']; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) that the location was deactivated at. For example, 3:30 pm on September 7, 2019 in the time zone of UTC (Universal Time Coordinated) is represented as `"2019-09-07T15:50:00Z`". */ + deactivatedAt?: Maybe; + /** Whether this location can be deleted. */ + deletable: Scalars['Boolean']['output']; + /** Name of the service provider that fulfills from this location. */ + fulfillmentService?: Maybe; + /** Whether this location can fulfill online orders. */ + fulfillsOnlineOrders: Scalars['Boolean']['output']; + /** Whether this location has active inventory. */ + hasActiveInventory: Scalars['Boolean']['output']; + /** Whether this location has orders that need to be fulfilled. */ + hasUnfulfilledOrders: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The quantities of an inventory item at this location. */ + inventoryLevel?: Maybe; + /** A list of the quantities of the inventory items that can be stocked at this location. */ + inventoryLevels: InventoryLevelConnection; + /** + * Whether the location is active. A deactivated location can be activated (change `isActive: true`) if it has + * `activatable` set to `true` by calling the + * [`locationActivate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/locationActivate) + * mutation. + */ + isActive: Scalars['Boolean']['output']; + /** Whether this location is a fulfillment service. */ + isFulfillmentService: Scalars['Boolean']['output']; + /** + * Whether the location is your primary location for shipping inventory. + * @deprecated The concept of a primary location is deprecated, shipsInventory can be used to get a fallback location + */ + isPrimary: Scalars['Boolean']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** Local pickup settings for the location. */ + localPickupSettingsV2?: Maybe; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The name of the location. */ + name: Scalars['String']['output']; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** Whether this location is used for calculating shipping rates. In multi-origin shipping mode, this flag is ignored. */ + shipsInventory: Scalars['Boolean']['output']; + /** List of suggested addresses for this location (empty if none). */ + suggestedAddresses: Array; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the location was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type LocationInventoryLevelArgs = { + inventoryItemId: Scalars['ID']['input']; +}; + + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type LocationInventoryLevelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type LocationMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type LocationMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type LocationMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type LocationPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * Represents the location where the physical good resides. You can stock inventory at active locations. Active + * locations that have `fulfills_online_orders: true` and are configured with a shipping rate, pickup enabled or + * local delivery will be able to sell from their storefront. + */ +export type LocationPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `locationActivate` mutation. */ +export type LocationActivatePayload = { + __typename?: 'LocationActivatePayload'; + /** The location that was activated. */ + location?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + locationActivateUserErrors: Array; +}; + +/** An error that occurs while activating a location. */ +export type LocationActivateUserError = DisplayableError & { + __typename?: 'LocationActivateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `LocationActivateUserError`. */ +export enum LocationActivateUserErrorCode { + /** An error occurred while activating the location. */ + GenericError = 'GENERIC_ERROR', + /** There is already an active location with this name. */ + HasNonUniqueName = 'HAS_NON_UNIQUE_NAME', + /** This location currently cannot be activated as inventory, pending orders or transfers are being relocated from this location. */ + HasOngoingRelocation = 'HAS_ONGOING_RELOCATION', + /** Shop has reached its location limit. */ + LocationLimit = 'LOCATION_LIMIT', + /** Location not found. */ + LocationNotFound = 'LOCATION_NOT_FOUND' +} + +/** The input fields to use to specify the address while adding a location. */ +export type LocationAddAddressInput = { + /** The first line of the address. */ + address1?: InputMaybe; + /** The second line of the address. */ + address2?: InputMaybe; + /** The name of the city, district, village, or town. */ + city?: InputMaybe; + /** The two-letter code of country for the address. */ + countryCode: CountryCode; + /** The phone number of the location. */ + phone?: InputMaybe; + /** + * The code for the region of the address, such as the state, province, or district. + * For example CA for California, United States. + */ + provinceCode?: InputMaybe; + /** The ZIP code or postal code of the address. */ + zip?: InputMaybe; +}; + +/** The input fields to use to add a location. */ +export type LocationAddInput = { + /** The address of the location. */ + address: LocationAddAddressInput; + /** Whether inventory at this location is available for sale online. */ + fulfillsOnlineOrders?: InputMaybe; + /** Additional customizable information to associate with the location. */ + metafields?: InputMaybe>; + /** The name of the location. */ + name: Scalars['String']['input']; +}; + +/** Return type for `locationAdd` mutation. */ +export type LocationAddPayload = { + __typename?: 'LocationAddPayload'; + /** The location that was added. */ + location?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs while adding a location. */ +export type LocationAddUserError = DisplayableError & { + __typename?: 'LocationAddUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `LocationAddUserError`. */ +export enum LocationAddUserErrorCode { + /** ApiPermission metafields can only be created or updated by the app owner. */ + AppNotAuthorized = 'APP_NOT_AUTHORIZED', + /** The input value is blank. */ + Blank = 'BLANK', + /** The metafield violates a capability restriction. */ + CapabilityViolation = 'CAPABILITY_VIOLATION', + /** Owner type can't be used in this mutation. */ + DisallowedOwnerType = 'DISALLOWED_OWNER_TYPE', + /** An error occurred while adding the location. */ + GenericError = 'GENERIC_ERROR', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The ZIP code is not a valid US ZIP code. */ + InvalidUsZipcode = 'INVALID_US_ZIPCODE', + /** The value is invalid for the metafield type or for the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** Unstructured reserved namespace. */ + UnstructuredReservedNamespace = 'UNSTRUCTURED_RESERVED_NAMESPACE' +} + +/** Represents the address of a location. */ +export type LocationAddress = { + __typename?: 'LocationAddress'; + /** The first line of the address for the location. */ + address1?: Maybe; + /** The second line of the address for the location. */ + address2?: Maybe; + /** The city of the location. */ + city?: Maybe; + /** The country of the location. */ + country?: Maybe; + /** The country code of the location. */ + countryCode?: Maybe; + /** A formatted version of the address for the location. */ + formatted: Array; + /** The approximate latitude coordinates of the location. */ + latitude?: Maybe; + /** The approximate longitude coordinates of the location. */ + longitude?: Maybe; + /** The phone number of the location. */ + phone?: Maybe; + /** The province of the location. */ + province?: Maybe; + /** The code for the province, state, or district of the address of the location. */ + provinceCode?: Maybe; + /** The ZIP code of the location. */ + zip?: Maybe; +}; + +/** An auto-generated type for paginating through multiple Locations. */ +export type LocationConnection = { + __typename?: 'LocationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in LocationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `locationDeactivate` mutation. */ +export type LocationDeactivatePayload = { + __typename?: 'LocationDeactivatePayload'; + /** The location that was deactivated. */ + location?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + locationDeactivateUserErrors: Array; +}; + +/** The possible errors that can be returned when executing the `locationDeactivate` mutation. */ +export type LocationDeactivateUserError = DisplayableError & { + __typename?: 'LocationDeactivateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `LocationDeactivateUserError`. */ +export enum LocationDeactivateUserErrorCode { + /** At least one location must fulfill online orders. */ + CannotDisableOnlineOrderFulfillment = 'CANNOT_DISABLE_ONLINE_ORDER_FULFILLMENT', + /** Destination location is the same as the location to be deactivated. */ + DestinationLocationIsTheSameLocation = 'DESTINATION_LOCATION_IS_THE_SAME_LOCATION', + /** Destination location is not found or inactive. */ + DestinationLocationNotFoundOrInactive = 'DESTINATION_LOCATION_NOT_FOUND_OR_INACTIVE', + /** Failed to relocate active inventories to the destination location. */ + FailedToRelocateActiveInventories = 'FAILED_TO_RELOCATE_ACTIVE_INVENTORIES', + /** Failed to relocate incoming movements to the destination location. */ + FailedToRelocateIncomingMovements = 'FAILED_TO_RELOCATE_INCOMING_MOVEMENTS', + /** Failed to relocate open purchase orders to the destination location. */ + FailedToRelocateOpenPurchaseOrders = 'FAILED_TO_RELOCATE_OPEN_PURCHASE_ORDERS', + /** Location could not be deactivated without specifying where to relocate inventory at the location. */ + HasActiveInventoryError = 'HAS_ACTIVE_INVENTORY_ERROR', + /** Location needs to be removed from Shopify POS for Retail subscription in Point of Sale channel. */ + HasActiveRetailSubscriptions = 'HAS_ACTIVE_RETAIL_SUBSCRIPTIONS', + /** Location could not be deactivated because it has pending orders. */ + HasFulfillmentOrdersError = 'HAS_FULFILLMENT_ORDERS_ERROR', + /** Location could not be deactivated because it has open Shopify Fulfillment Network transfers. */ + HasIncomingMovementsError = 'HAS_INCOMING_MOVEMENTS_ERROR', + /** Location could not be deactivated because it has open purchase orders. */ + HasOpenPurchaseOrdersError = 'HAS_OPEN_PURCHASE_ORDERS_ERROR', + /** Location not found. */ + LocationNotFound = 'LOCATION_NOT_FOUND', + /** Location either has a fulfillment service or is the only location with a shipping address. */ + PermanentlyBlockedFromDeactivationError = 'PERMANENTLY_BLOCKED_FROM_DEACTIVATION_ERROR', + /** Location has incoming inventory. The location can be deactivated after the inventory has been received. */ + TemporarilyBlockedFromDeactivationError = 'TEMPORARILY_BLOCKED_FROM_DEACTIVATION_ERROR' +} + +/** Return type for `locationDelete` mutation. */ +export type LocationDeletePayload = { + __typename?: 'LocationDeletePayload'; + /** The ID of the location that was deleted. */ + deletedLocationId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + locationDeleteUserErrors: Array; +}; + +/** An error that occurs while deleting a location. */ +export type LocationDeleteUserError = DisplayableError & { + __typename?: 'LocationDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `LocationDeleteUserError`. */ +export enum LocationDeleteUserErrorCode { + /** An error occurred while deleting the location. */ + GenericError = 'GENERIC_ERROR', + /** The location cannot be deleted while it has any active Retail subscriptions in the Point of Sale channel. */ + LocationHasActiveRetailSubscription = 'LOCATION_HAS_ACTIVE_RETAIL_SUBSCRIPTION', + /** The location cannot be deleted while it has inventory. */ + LocationHasInventory = 'LOCATION_HAS_INVENTORY', + /** The location cannot be deleted while it has pending orders. */ + LocationHasPendingOrders = 'LOCATION_HAS_PENDING_ORDERS', + /** The location cannot be deleted while it is active. */ + LocationIsActive = 'LOCATION_IS_ACTIVE', + /** Location not found. */ + LocationNotFound = 'LOCATION_NOT_FOUND' +} + +/** An auto-generated type which holds one Location and a cursor during pagination. */ +export type LocationEdge = { + __typename?: 'LocationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of LocationEdge. */ + node: Location; +}; + +/** The input fields to use to edit the address of a location. */ +export type LocationEditAddressInput = { + /** The first line of the address. */ + address1?: InputMaybe; + /** The second line of the address. */ + address2?: InputMaybe; + /** The name of the city, district, village, or town. */ + city?: InputMaybe; + /** The two-letter code of country for the address. */ + countryCode?: InputMaybe; + /** The phone number of the location. */ + phone?: InputMaybe; + /** + * The code for the region of the address, such as the state, province, or district. + * For example CA for California, United States. + */ + provinceCode?: InputMaybe; + /** The ZIP code or postal code of the location. */ + zip?: InputMaybe; +}; + +/** The input fields to use to edit a location. */ +export type LocationEditInput = { + /** The address of the location. */ + address?: InputMaybe; + /** + * Whether inventory at this location is available for sale online. + * + * **Note:** This can't be disabled for fulfillment service locations. + */ + fulfillsOnlineOrders?: InputMaybe; + /** Additional customizable information to associate with the location. */ + metafields?: InputMaybe>; + /** The name of the location. */ + name?: InputMaybe; +}; + +/** Return type for `locationEdit` mutation. */ +export type LocationEditPayload = { + __typename?: 'LocationEditPayload'; + /** The location that was edited. */ + location?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs while editing a location. */ +export type LocationEditUserError = DisplayableError & { + __typename?: 'LocationEditUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `LocationEditUserError`. */ +export enum LocationEditUserErrorCode { + /** ApiPermission metafields can only be created or updated by the app owner. */ + AppNotAuthorized = 'APP_NOT_AUTHORIZED', + /** The input value is blank. */ + Blank = 'BLANK', + /** At least one location must fulfill online orders. */ + CannotDisableOnlineOrderFulfillment = 'CANNOT_DISABLE_ONLINE_ORDER_FULFILLMENT', + /** Cannot modify the online order fulfillment preference for fulfillment service locations. */ + CannotModifyOnlineOrderFulfillmentForFsLocation = 'CANNOT_MODIFY_ONLINE_ORDER_FULFILLMENT_FOR_FS_LOCATION', + /** The metafield violates a capability restriction. */ + CapabilityViolation = 'CAPABILITY_VIOLATION', + /** Owner type can't be used in this mutation. */ + DisallowedOwnerType = 'DISALLOWED_OWNER_TYPE', + /** An error occurred while editing the location. */ + GenericError = 'GENERIC_ERROR', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The ZIP code is not a valid US ZIP code. */ + InvalidUsZipcode = 'INVALID_US_ZIPCODE', + /** The value is invalid for the metafield type or for the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** Unstructured reserved namespace. */ + UnstructuredReservedNamespace = 'UNSTRUCTURED_RESERVED_NAMESPACE' +} + +/** Return type for `locationLocalPickupDisable` mutation. */ +export type LocationLocalPickupDisablePayload = { + __typename?: 'LocationLocalPickupDisablePayload'; + /** The ID of the location for which local pickup was disabled. */ + locationId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `locationLocalPickupEnable` mutation. */ +export type LocationLocalPickupEnablePayload = { + __typename?: 'LocationLocalPickupEnablePayload'; + /** The local pickup settings that were enabled. */ + localPickupSettings?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The set of valid sort keys for the Location query. */ +export enum LocationSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** Represents a suggested address for a location. */ +export type LocationSuggestedAddress = { + __typename?: 'LocationSuggestedAddress'; + /** The first line of the suggested address. */ + address1?: Maybe; + /** The second line of the suggested address. */ + address2?: Maybe; + /** The city of the suggested address. */ + city?: Maybe; + /** The country of the suggested address. */ + country?: Maybe; + /** The country code of the suggested address. */ + countryCode?: Maybe; + /** A formatted version of the suggested address. */ + formatted: Array; + /** The province of the suggested address. */ + province?: Maybe; + /** The code for the province, state, or district of the suggested address. */ + provinceCode?: Maybe; + /** The ZIP code of the suggested address. */ + zip?: Maybe; +}; + +/** + * Represents a customer mailing address. + * + * For example, a customer's default address and an order's billing address are both mailling addresses. + */ +export type MailingAddress = Node & { + __typename?: 'MailingAddress'; + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: Maybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: Maybe; + /** The name of the city, district, village, or town. */ + city?: Maybe; + /** The name of the customer's company or organization. */ + company?: Maybe; + /** Whether the address coordinates are valid. */ + coordinatesValidated: Scalars['Boolean']['output']; + /** The name of the country. */ + country?: Maybe; + /** + * The two-letter code for the country of the address. + * + * For example, US. + * @deprecated Use `countryCodeV2` instead. + */ + countryCode?: Maybe; + /** + * The two-letter code for the country of the address. + * + * For example, US. + */ + countryCodeV2?: Maybe; + /** The first name of the customer. */ + firstName?: Maybe; + /** A formatted version of the address, customized by the provided arguments. */ + formatted: Array; + /** A comma-separated list of the values for city, province, and country. */ + formattedArea?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The last name of the customer. */ + lastName?: Maybe; + /** The latitude coordinate of the customer address. */ + latitude?: Maybe; + /** The longitude coordinate of the customer address. */ + longitude?: Maybe; + /** The full name of the customer, based on firstName and lastName. */ + name?: Maybe; + /** A unique phone number for the customer. */ + phone?: Maybe; + /** The region of the address, such as the province, state, or district. */ + province?: Maybe; + /** + * The alphanumeric code for the region. + * + * For example, ON. + */ + provinceCode?: Maybe; + /** The time zone of the address. */ + timeZone?: Maybe; + /** Represents the state of validation of a mailing address. For more information, refer to [Validating shipping addresses on your orders](https://help.shopify.com/manual/orders/manage-orders/shipping-address-validation). */ + validationResultSummary?: Maybe; + /** The zip or postal code of the address. */ + zip?: Maybe; +}; + + +/** + * Represents a customer mailing address. + * + * For example, a customer's default address and an order's billing address are both mailling addresses. + */ +export type MailingAddressFormattedArgs = { + withCompany?: InputMaybe; + withName?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple MailingAddresses. */ +export type MailingAddressConnection = { + __typename?: 'MailingAddressConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MailingAddressEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one MailingAddress and a cursor during pagination. */ +export type MailingAddressEdge = { + __typename?: 'MailingAddressEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MailingAddressEdge. */ + node: MailingAddress; +}; + +/** The input fields to create or update a mailing address. */ +export type MailingAddressInput = { + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: InputMaybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: InputMaybe; + /** The name of the city, district, village, or town. */ + city?: InputMaybe; + /** The name of the customer's company or organization. */ + company?: InputMaybe; + /** The two-letter code for the country of the address. */ + countryCode?: InputMaybe; + /** The first name of the customer. */ + firstName?: InputMaybe; + /** The last name of the customer. */ + lastName?: InputMaybe; + /** + * A unique phone number for the customer. + * + * Formatted using E.164 standard. For example, _+16135551111_. + */ + phone?: InputMaybe; + /** + * The code for the region of the address, such as the province, state, or district. + * For example QC for Quebec, Canada. + */ + provinceCode?: InputMaybe; + /** The zip or postal code of the address. */ + zip?: InputMaybe; +}; + +/** Highest level of validation concerns identified for the address. */ +export enum MailingAddressValidationResult { + /** Indicates that the address has been validated and is very likely to contain invalid information. */ + Error = 'ERROR', + /** Indicates that the address has been validated and no issues were found. */ + NoIssues = 'NO_ISSUES', + /** Indicates that the address has been validated and might contain invalid information. */ + Warning = 'WARNING' +} + +/** + * Manual discount applications capture the intentions of a discount that was manually created for an order. + * + * Discount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object. + */ +export type ManualDiscountApplication = DiscountApplication & { + __typename?: 'ManualDiscountApplication'; + /** The method by which the discount's value is applied to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** The description of the discount application. */ + description?: Maybe; + /** + * An ordered index that can be used to identify the discount application and indicate the precedence + * of the discount application for calculations. + */ + index: Scalars['Int']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The title of the discount application. */ + title: Scalars['String']['output']; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type Market = HasMetafieldDefinitions & HasMetafields & Node & { + __typename?: 'Market'; + /** The catalogs that belong to the market. */ + catalogs: MarketCatalogConnection; + /** The number of catalogs that belong to the market. */ + catalogsCount?: Maybe; + /** The market’s currency settings. */ + currencySettings: MarketCurrencySettings; + /** + * Whether the market is enabled to receive visitors and sales. **Note**: Regions in inactive + * markets can't be selected on the storefront or in checkout. + */ + enabled: Scalars['Boolean']['output']; + /** A short, human-readable unique identifier for the market. This is changeable by the merchant. */ + handle: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The name of the market. Not shown to customers. */ + name: Scalars['String']['output']; + /** + * The market’s price list, which specifies a percentage-based price adjustment as well as + * fixed price overrides for specific variants. + * + * Markets with multiple catalogs can have multiple price lists. To query which price lists are connected to + * a market, please query for price lists through the catalogs connection. + * @deprecated Use `catalogs` instead. + */ + priceList?: Maybe; + /** Whether the market is the shop’s primary market. */ + primary: Scalars['Boolean']['output']; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The regions that comprise the market. */ + regions: MarketRegionConnection; + /** + * The market’s web presence, which defines its SEO strategy. This can be a different domain, + * subdomain, or subfolders of the primary domain. Each web presence comprises one or more + * language variants. If a market doesn't have its own web presence, then the market is accessible on the + * primary market's domains using [country + * selectors](https://shopify.dev/themes/internationalization/multiple-currencies-languages#the-country-selector). + * If it's the primary market and it has multiple web presences, then this field will return the primary domain web presence. + */ + webPresence?: Maybe; + /** + * The market’s web presences, which defines its SEO strategy. This can be a different domain, + * subdomain, or subfolders of the primary domain. Each web presence comprises one or more + * language variants. If a market doesn't have any web presences, then the market is accessible on the + * primary market's domains using [country + * selectors](https://shopify.dev/themes/internationalization/multiple-currencies-languages#the-country-selector). + */ + webPresences: MarketWebPresenceConnection; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketCatalogsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketRegionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A market is a group of one or more regions that you want to target for international sales. + * By creating a market, you can configure a distinct, localized shopping experience for + * customers from a specific area of the world. For example, you can + * [change currency](https://shopify.dev/api/admin-graphql/current/mutations/marketCurrencySettingsUpdate), + * [configure international pricing](https://shopify.dev/apps/internationalization/product-price-lists), + * or [add market-specific domains or subfolders](https://shopify.dev/api/admin-graphql/current/objects/MarketWebPresence). + */ +export type MarketWebPresencesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** A list of products with publishing and pricing information associated with markets. */ +export type MarketCatalog = Catalog & Node & { + __typename?: 'MarketCatalog'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The markets associated with the catalog. */ + markets: MarketConnection; + /** Most recent catalog operations. */ + operations: Array; + /** The price list associated with the catalog. */ + priceList?: Maybe; + /** A group of products and collections that's published to a catalog. */ + publication?: Maybe; + /** The status of the catalog. */ + status: CatalogStatus; + /** The name of the catalog. */ + title: Scalars['String']['output']; +}; + + +/** A list of products with publishing and pricing information associated with markets. */ +export type MarketCatalogMarketsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple MarketCatalogs. */ +export type MarketCatalogConnection = { + __typename?: 'MarketCatalogConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MarketCatalogEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one MarketCatalog and a cursor during pagination. */ +export type MarketCatalogEdge = { + __typename?: 'MarketCatalogEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MarketCatalogEdge. */ + node: MarketCatalog; +}; + +/** An auto-generated type for paginating through multiple Markets. */ +export type MarketConnection = { + __typename?: 'MarketConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MarketEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields required to create a market. */ +export type MarketCreateInput = { + /** + * Whether the market is enabled to receive visitors and sales. If a + * value isn't provided, then the market is enabled by default if all + * included regions have shipping rates, and disabled if any regions don't + * have shipping rates. + * + * **Note**: Regions in inactive markets can't be selected on the + * storefront or in checkout. + */ + enabled?: InputMaybe; + /** + * A unique identifier for the market. For example `"ca"`. + * If the handle isn't provided, then the handle is auto-generated based on the country or name. + */ + handle?: InputMaybe; + /** The name of the market. Not shown to customers. */ + name: Scalars['String']['input']; + /** + * The regions to be included in the market. Each region can only be included in one market at + * a time. + */ + regions: Array; +}; + +/** Return type for `marketCreate` mutation. */ +export type MarketCreatePayload = { + __typename?: 'MarketCreatePayload'; + /** The market object. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A market's currency settings. */ +export type MarketCurrencySettings = { + __typename?: 'MarketCurrencySettings'; + /** + * The currency which this market's prices are defined in, and the + * currency which its customers must use if local currencies are disabled. + */ + baseCurrency: CurrencySetting; + /** + * Whether or not local currencies are enabled. If enabled, then prices will + * be converted to give each customer the best experience based on their + * region. If disabled, then all customers in this market will see prices + * in the market's base currency. For single country markets this will be true when + * the market's base currency is the same as the default currency for the region. + */ + localCurrencies: Scalars['Boolean']['output']; +}; + +/** The input fields used to update the currency settings of a market. */ +export type MarketCurrencySettingsUpdateInput = { + /** + * The currency which this market’s prices are defined in, and the + * currency which its customers must use if local currencies are disabled. + */ + baseCurrency?: InputMaybe; + /** + * Whether or not local currencies are enabled. If enabled, then prices will + * be converted to give each customer the best experience based on their + * region. If disabled, then all customers in this market will see prices + * in the market's base currency. + */ + localCurrencies?: InputMaybe; +}; + +/** Return type for `marketCurrencySettingsUpdate` mutation. */ +export type MarketCurrencySettingsUpdatePayload = { + __typename?: 'MarketCurrencySettingsUpdatePayload'; + /** The market object. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed market multi-currency operations. */ +export type MarketCurrencySettingsUserError = DisplayableError & { + __typename?: 'MarketCurrencySettingsUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MarketCurrencySettingsUserError`. */ +export enum MarketCurrencySettingsUserErrorCode { + /** The currency settings of the given market cannot be changed because the market manager has exclusive control of pricing. */ + ManagedMarket = 'MANAGED_MARKET', + /** The specified market wasn't found. */ + MarketNotFound = 'MARKET_NOT_FOUND', + /** The shop's payment gateway does not support enabling more than one currency. */ + MultipleCurrenciesNotSupported = 'MULTIPLE_CURRENCIES_NOT_SUPPORTED', + /** Can't enable or disable local currencies on a single country market. */ + NoLocalCurrenciesOnSingleCountryMarket = 'NO_LOCAL_CURRENCIES_ON_SINGLE_COUNTRY_MARKET', + /** The primary market must use the shop currency. */ + PrimaryMarketUsesShopCurrency = 'PRIMARY_MARKET_USES_SHOP_CURRENCY', + /** The specified currency is not supported. */ + UnsupportedCurrency = 'UNSUPPORTED_CURRENCY' +} + +/** Return type for `marketDelete` mutation. */ +export type MarketDeletePayload = { + __typename?: 'MarketDeletePayload'; + /** The ID of the deleted market. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Market and a cursor during pagination. */ +export type MarketEdge = { + __typename?: 'MarketEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MarketEdge. */ + node: Market; +}; + +/** The market localizable content of a resource's field. */ +export type MarketLocalizableContent = { + __typename?: 'MarketLocalizableContent'; + /** The hash digest representation of the content value. */ + digest?: Maybe; + /** The resource field that's being localized. */ + key: Scalars['String']['output']; + /** The content value. */ + value?: Maybe; +}; + +/** A resource that has market localizable fields. */ +export type MarketLocalizableResource = { + __typename?: 'MarketLocalizableResource'; + /** The market localizable content. */ + marketLocalizableContent: Array; + /** Market localizations for the market localizable content. */ + marketLocalizations: Array; + /** The GID of the resource. */ + resourceId: Scalars['ID']['output']; +}; + + +/** A resource that has market localizable fields. */ +export type MarketLocalizableResourceMarketLocalizationsArgs = { + marketId: Scalars['ID']['input']; +}; + +/** An auto-generated type for paginating through multiple MarketLocalizableResources. */ +export type MarketLocalizableResourceConnection = { + __typename?: 'MarketLocalizableResourceConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MarketLocalizableResourceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one MarketLocalizableResource and a cursor during pagination. */ +export type MarketLocalizableResourceEdge = { + __typename?: 'MarketLocalizableResourceEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MarketLocalizableResourceEdge. */ + node: MarketLocalizableResource; +}; + +/** The type of resources that are market localizable. */ +export enum MarketLocalizableResourceType { + /** A metafield. Market localizable fields: `value`. */ + Metafield = 'METAFIELD', + /** A Metaobject. Market Localizable fields are determined by the Metaobject type. */ + Metaobject = 'METAOBJECT' +} + +/** The market localization of a field within a resource, which is determined by the market ID. */ +export type MarketLocalization = { + __typename?: 'MarketLocalization'; + /** A reference to the value being localized on the resource that this market localization belongs to. */ + key: Scalars['String']['output']; + /** The market that the localization is specific to. */ + market: Market; + /** Whether the original content has changed since this market localization was updated. */ + outdated: Scalars['Boolean']['output']; + /** The date and time when the market localization was updated. */ + updatedAt?: Maybe; + /** The value of the market localization. */ + value?: Maybe; +}; + +/** The input fields and values for creating or updating a market localization. */ +export type MarketLocalizationRegisterInput = { + /** A reference to the value being localized on the resource that this market localization belongs to. */ + key: Scalars['String']['input']; + /** The ID of the market that the localization is specific to. */ + marketId: Scalars['ID']['input']; + /** A hash digest representation of the content being localized. */ + marketLocalizableContentDigest: Scalars['String']['input']; + /** The value of the market localization. */ + value: Scalars['String']['input']; +}; + +/** Return type for `marketLocalizationsRegister` mutation. */ +export type MarketLocalizationsRegisterPayload = { + __typename?: 'MarketLocalizationsRegisterPayload'; + /** The market localizations that were created or updated. */ + marketLocalizations?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `marketLocalizationsRemove` mutation. */ +export type MarketLocalizationsRemovePayload = { + __typename?: 'MarketLocalizationsRemovePayload'; + /** The market localizations that were deleted. */ + marketLocalizations?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A geographic region which comprises a market. */ +export type MarketRegion = { + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the region. */ + name: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple MarketRegions. */ +export type MarketRegionConnection = { + __typename?: 'MarketRegionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MarketRegionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** A country which comprises a market. */ +export type MarketRegionCountry = MarketRegion & Node & { + __typename?: 'MarketRegionCountry'; + /** The ISO code identifying the country. */ + code: CountryCode; + /** The currency which this country uses given its market settings. */ + currency: CurrencySetting; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the region. */ + name: Scalars['String']['output']; +}; + +/** The input fields for creating a market region with exactly one required option. */ +export type MarketRegionCreateInput = { + /** A country code for the region. */ + countryCode: CountryCode; +}; + +/** Return type for `marketRegionDelete` mutation. */ +export type MarketRegionDeletePayload = { + __typename?: 'MarketRegionDeletePayload'; + /** The ID of the deleted market region. */ + deletedId?: Maybe; + /** The parent market object of the deleted region. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one MarketRegion and a cursor during pagination. */ +export type MarketRegionEdge = { + __typename?: 'MarketRegionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MarketRegionEdge. */ + node: MarketRegion; +}; + +/** Return type for `marketRegionsCreate` mutation. */ +export type MarketRegionsCreatePayload = { + __typename?: 'MarketRegionsCreatePayload'; + /** The market object. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `marketRegionsDelete` mutation. */ +export type MarketRegionsDeletePayload = { + __typename?: 'MarketRegionsDeletePayload'; + /** The ID of the deleted market region. */ + deletedIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields used to update a market. */ +export type MarketUpdateInput = { + /** + * Whether the market is enabled to receive visitors and sales. **Note**: Regions in + * inactive markets cannot be selected on the storefront or in checkout. + */ + enabled?: InputMaybe; + /** A unique identifier for the market. For example `"ca"`. */ + handle?: InputMaybe; + /** The name of the market. Not shown to customers. */ + name?: InputMaybe; +}; + +/** Return type for `marketUpdate` mutation. */ +export type MarketUpdatePayload = { + __typename?: 'MarketUpdatePayload'; + /** The market object. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Defines errors encountered while managing a Market. */ +export type MarketUserError = DisplayableError & { + __typename?: 'MarketUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MarketUserError`. */ +export enum MarketUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** Can't add customer account domain to a market. */ + CannotAddCustomerDomain = 'CANNOT_ADD_CUSTOMER_DOMAIN', + /** Can't add regions to the primary market. */ + CannotAddRegionsToPrimaryMarket = 'CANNOT_ADD_REGIONS_TO_PRIMARY_MARKET', + /** Can't add the web presence to the primary market. */ + CannotAddWebPresenceToPrimaryMarket = 'CANNOT_ADD_WEB_PRESENCE_TO_PRIMARY_MARKET', + /** Can't delete the only region in a market. */ + CannotDeleteOnlyRegion = 'CANNOT_DELETE_ONLY_REGION', + /** Can't delete the primary market. */ + CannotDeletePrimaryMarket = 'CANNOT_DELETE_PRIMARY_MARKET', + /** Can't delete the primary market's web presence. */ + CannotDeletePrimaryMarketWebPresence = 'CANNOT_DELETE_PRIMARY_MARKET_WEB_PRESENCE', + /** Can't disable the primary market. */ + CannotDisablePrimaryMarket = 'CANNOT_DISABLE_PRIMARY_MARKET', + /** Can't have both subfolder and domain web presences. */ + CannotHaveBothSubfolderAndDomainWebPresences = 'CANNOT_HAVE_BOTH_SUBFOLDER_AND_DOMAIN_WEB_PRESENCES', + /** Can't have multiple subfolder web presences per market. */ + CannotHaveMultipleSubfoldersPerMarket = 'CANNOT_HAVE_MULTIPLE_SUBFOLDERS_PER_MARKET', + /** Can't pass both `subfolderSuffix` and `domainId`. */ + CannotHaveSubfolderAndDomain = 'CANNOT_HAVE_SUBFOLDER_AND_DOMAIN', + /** Can't set default locale to null. */ + CannotSetDefaultLocaleToNull = 'CANNOT_SET_DEFAULT_LOCALE_TO_NULL', + /** The language isn't enabled on the store. */ + DisabledLanguage = 'DISABLED_LANGUAGE', + /** Domain was not found. */ + DomainNotFound = 'DOMAIN_NOT_FOUND', + /** Duplicates found in languages. */ + DuplicateLanguages = 'DUPLICATE_LANGUAGES', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The market wasn't found. */ + MarketNotFound = 'MARKET_NOT_FOUND', + /** Can't add another web presence to the market. */ + MarketReachedWebPresenceLimit = 'MARKET_REACHED_WEB_PRESENCE_LIMIT', + /** No languages selected. */ + NoLanguages = 'NO_LANGUAGES', + /** The primary market must use the primary domain. */ + PrimaryMarketMustUsePrimaryDomain = 'PRIMARY_MARKET_MUST_USE_PRIMARY_DOMAIN', + /** The market region wasn't found. */ + RegionNotFound = 'REGION_NOT_FOUND', + /** Cannot add region-specific language. */ + RegionSpecificLanguage = 'REGION_SPECIFIC_LANGUAGE', + /** One of `subfolderSuffix` or `domainId` is required. */ + RequiresDomainOrSubfolder = 'REQUIRES_DOMAIN_OR_SUBFOLDER', + /** Exactly one input option is required. */ + RequiresExactlyOneOption = 'REQUIRES_EXACTLY_ONE_OPTION', + /** Can't have more than 50 markets. */ + ShopReachedMarketsLimit = 'SHOP_REACHED_MARKETS_LIMIT', + /** The subfolder suffix is invalid, please provide a different value. */ + SubfolderSuffixCannotBeScriptCode = 'SUBFOLDER_SUFFIX_CANNOT_BE_SCRIPT_CODE', + /** The subfolder suffix must contain only letters. */ + SubfolderSuffixMustContainOnlyLetters = 'SUBFOLDER_SUFFIX_MUST_CONTAIN_ONLY_LETTERS', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** The language isn't published to the store. */ + UnpublishedLanguage = 'UNPUBLISHED_LANGUAGE', + /** Can't add unsupported country or region. */ + UnsupportedCountryRegion = 'UNSUPPORTED_COUNTRY_REGION', + /** The market web presence wasn't found. */ + WebPresenceNotFound = 'WEB_PRESENCE_NOT_FOUND' +} + +/** + * The market’s web presence, which defines its SEO strategy. This can be a different domain + * (e.g. `example.ca`), subdomain (e.g. `ca.example.com`), or subfolders of the primary + * domain (e.g. `example.com/en-ca`). Each web presence comprises one or more language + * variants. If a market does not have its own web presence, it is accessible on the shop’s + * primary domain via [country + * selectors](https://shopify.dev/themes/internationalization/multiple-currencies-languages#the-country-selector). + * + * Note: while the domain/subfolders defined by a market’s web presence are not applicable to + * custom storefronts, which must manage their own domains and routing, the languages chosen + * here do govern [the languages available on the Storefront + * API](https://shopify.dev/custom-storefronts/internationalization/multiple-languages) for the countries in + * this market. + */ +export type MarketWebPresence = Node & { + __typename?: 'MarketWebPresence'; + /** + * The ShopLocale object for the alternate locales. When a domain is used, these locales will be + * available as language-specific subfolders. For example, if English is an + * alternate locale, and `example.ca` is the market’s domain, then + * `example.ca/en` will load in English. + */ + alternateLocales: Array; + /** + * The ShopLocale object for the default locale. When a domain is used, this is the locale that will + * be used when the domain root is accessed. For example, if French is the default locale, + * and `example.ca` is the market’s domain, then `example.ca` will load in French. + */ + defaultLocale: ShopLocale; + /** + * The web presence’s domain. + * This field will be null if `subfolderSuffix` isn't null. + */ + domain?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The associated market. */ + market: Market; + /** The list of root URLs for each of the web presence’s locales. As of version `2024-04` this value will no longer have a trailing slash. */ + rootUrls: Array; + /** The market-specific suffix of the subfolders defined by the web presence. Example: in `/en-us` the subfolder suffix is `us`. This field will be null if `domain` isn't null. */ + subfolderSuffix?: Maybe; +}; + +/** An auto-generated type for paginating through multiple MarketWebPresences. */ +export type MarketWebPresenceConnection = { + __typename?: 'MarketWebPresenceConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MarketWebPresenceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields used to create a web presence for a market. */ +export type MarketWebPresenceCreateInput = { + /** The alternate locales for the market’s web presence. */ + alternateLocales?: InputMaybe>; + /** The default locale for the market’s web presence. */ + defaultLocale: Scalars['String']['input']; + /** The web presence's domain ID. This field must be `null` if the `subfolderSuffix` isn't `null`. */ + domainId?: InputMaybe; + /** + * The market-specific suffix of the subfolders defined by the web presence. + * For example: in `/en-us`, the subfolder suffix is `us`. + * Only ASCII characters are allowed. This field must be `null` if the `domainId` isn't `null`. + */ + subfolderSuffix?: InputMaybe; +}; + +/** Return type for `marketWebPresenceCreate` mutation. */ +export type MarketWebPresenceCreatePayload = { + __typename?: 'MarketWebPresenceCreatePayload'; + /** The market object. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `marketWebPresenceDelete` mutation. */ +export type MarketWebPresenceDeletePayload = { + __typename?: 'MarketWebPresenceDeletePayload'; + /** The ID of the deleted web presence. */ + deletedId?: Maybe; + /** The market for which the web presence was deleted. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one MarketWebPresence and a cursor during pagination. */ +export type MarketWebPresenceEdge = { + __typename?: 'MarketWebPresenceEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MarketWebPresenceEdge. */ + node: MarketWebPresence; +}; + +/** + * The URL for the homepage of the online store in the context of a particular market and a + * particular locale. + */ +export type MarketWebPresenceRootUrl = { + __typename?: 'MarketWebPresenceRootUrl'; + /** The locale that the storefront loads in. */ + locale: Scalars['String']['output']; + /** The URL. */ + url: Scalars['URL']['output']; +}; + +/** The input fields used to update a web presence for a market. */ +export type MarketWebPresenceUpdateInput = { + /** The alternate locales for the market’s web presence. */ + alternateLocales?: InputMaybe>; + /** The default locale for the market’s web presence. */ + defaultLocale?: InputMaybe; + /** The web presence's domain ID. This field must be null if `subfolderSuffix` is not null. */ + domainId?: InputMaybe; + /** + * The market-specific suffix of the subfolders defined by the web presence. + * Example: in `/en-us` the subfolder suffix is `us`. + * Only ASCII characters are allowed. This field must be null if `domainId` is not null. + */ + subfolderSuffix?: InputMaybe; +}; + +/** Return type for `marketWebPresenceUpdate` mutation. */ +export type MarketWebPresenceUpdatePayload = { + __typename?: 'MarketWebPresenceUpdatePayload'; + /** The market object. */ + market?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `marketingActivitiesDeleteAllExternal` mutation. */ +export type MarketingActivitiesDeleteAllExternalPayload = { + __typename?: 'MarketingActivitiesDeleteAllExternalPayload'; + /** The asynchronous job that performs the deletion. The status of the job may be used to determine when it's safe again to create new activities. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * The marketing activity resource represents marketing that a + * merchant created through an app. + */ +export type MarketingActivity = Node & { + __typename?: 'MarketingActivity'; + /** The URL of the marketing activity listing page in the marketing section. */ + activityListUrl?: Maybe; + /** The amount spent on the marketing activity. */ + adSpend?: Maybe; + /** The app which created this marketing activity. */ + app: App; + /** The errors generated when an app publishes the marketing activity. */ + appErrors?: Maybe; + /** The allocated budget for the marketing activity. */ + budget?: Maybe; + /** The date and time when the marketing activity was created. */ + createdAt: Scalars['DateTime']['output']; + /** The completed content in the marketing activity creation form. */ + formData?: Maybe; + /** The hierarchy level of the marketing activity. */ + hierarchyLevel?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the marketing activity is in the main workflow version of the marketing automation. */ + inMainWorkflowVersion: Scalars['Boolean']['output']; + /** The marketing activity represents an external marketing activity. */ + isExternal: Scalars['Boolean']['output']; + /** + * The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. + * @deprecated Use `marketingChannelType` instead. + */ + marketingChannel: MarketingChannel; + /** The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. */ + marketingChannelType: MarketingChannel; + /** Associated marketing event of this marketing activity. */ + marketingEvent?: Maybe; + /** ID of the parent activity of this marketing activity. */ + parentActivityId?: Maybe; + /** ID of the parent activity of this marketing activity. */ + parentRemoteId?: Maybe; + /** A contextual description of the marketing activity based on the platform and tactic used. */ + sourceAndMedium: Scalars['String']['output']; + /** The current state of the marketing activity. */ + status: MarketingActivityStatus; + /** + * The severity of the marketing activity's status. + * @deprecated Use `statusBadgeTypeV2` instead. + */ + statusBadgeType?: Maybe; + /** The severity of the marketing activity's status. */ + statusBadgeTypeV2?: Maybe; + /** The rendered status of the marketing activity. */ + statusLabel: Scalars['String']['output']; + /** + * The [date and time]( + * https://help.shopify.com/https://en.wikipedia.org/wiki/ISO_8601 + * ) when the activity's status last changed. + */ + statusTransitionedAt?: Maybe; + /** The method of marketing used for this marketing activity. */ + tactic: MarketingTactic; + /** The status to which the marketing activity is currently transitioning. */ + targetStatus?: Maybe; + /** The marketing activity's title, which is rendered on the marketing listing page. */ + title: Scalars['String']['output']; + /** The date and time when the marketing activity was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The value portion of the URL query parameter used in attributing sessions to this activity. */ + urlParameterValue?: Maybe; + /** + * The set of [Urchin Tracking Module]( + * https://help.shopify.com/https://en.wikipedia.org/wiki/UTM_parameters + * ) used in the URL for tracking this marketing activity. + */ + utmParameters?: Maybe; +}; + +/** The input fields combining budget amount and its marketing budget type. */ +export type MarketingActivityBudgetInput = { + /** Budget type for marketing activity. */ + budgetType?: InputMaybe; + /** Amount of budget for the marketing activity. */ + total?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple MarketingActivities. */ +export type MarketingActivityConnection = { + __typename?: 'MarketingActivityConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MarketingActivityEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for creating an externally-managed marketing activity. */ +export type MarketingActivityCreateExternalInput = { + /** The amount spent on the marketing activity. */ + adSpend?: InputMaybe; + /** The budget for this marketing activity. */ + budget?: InputMaybe; + /** The unique string identifier of the channel to which this activity belongs. For the correct handle for your channel, contact your partner manager. */ + channelHandle?: InputMaybe; + /** The date and time at which the activity ended. If omitted or set to `null`, the current time will be used if the status is set to `INACTIVE` or `DELETED_EXTERNALLY`. */ + end?: InputMaybe; + /** The hierarchy level of the activity within a campaign. The hierarchy level can't be updated. */ + hierarchyLevel?: InputMaybe; + /** The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. */ + marketingChannelType: MarketingChannel; + /** The ID for the parent marketing activity, if creating hierarchical activities. */ + parentActivityId?: InputMaybe; + /** The remote ID for the parent marketing activity, if creating hierarchical activities. */ + parentRemoteId?: InputMaybe; + /** The domain from which ad clicks are forwarded to the shop. */ + referringDomain?: InputMaybe; + /** The ID of an activity that's hosted outside of Shopify. */ + remoteId?: InputMaybe; + /** The URL for a preview image that's used for the marketing activity. */ + remotePreviewImageUrl?: InputMaybe; + /** The URL for viewing and/or managing the activity outside of Shopify. */ + remoteUrl: Scalars['URL']['input']; + /** The date and time at which the activity is scheduled to end. */ + scheduledEnd?: InputMaybe; + /** The date and time at which the activity is scheduled to start. */ + scheduledStart?: InputMaybe; + /** The date and time at which the activity started. If omitted or set to `null`, the current time will be used. */ + start?: InputMaybe; + /** The status of the marketing activity. If status isn't set it will default to UNDEFINED. */ + status?: InputMaybe; + /** The method of marketing used for this marketing activity. The marketing tactic determines which default fields are included in the marketing activity. */ + tactic: MarketingTactic; + /** The title of the marketing activity. */ + title: Scalars['String']['input']; + /** Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set. */ + urlParameterValue?: InputMaybe; + /** Specifies the [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) that are associated with a related marketing campaign. Either the URL parameter value or UTM can be set, but not both. */ + utm?: InputMaybe; +}; + +/** Return type for `marketingActivityCreateExternal` mutation. */ +export type MarketingActivityCreateExternalPayload = { + __typename?: 'MarketingActivityCreateExternalPayload'; + /** The external marketing activity that was created. */ + marketingActivity?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields required to create a marketing activity. */ +export type MarketingActivityCreateInput = { + /** The budget for this marketing activity. */ + budget?: InputMaybe; + /** Encoded context containing marketing campaign id. */ + context?: InputMaybe; + /** The form data in JSON serialized as a string. */ + formData?: InputMaybe; + /** The ID of the marketing activity extension. */ + marketingActivityExtensionId: Scalars['ID']['input']; + /** The title of the marketing activity. */ + marketingActivityTitle?: InputMaybe; + /** The current state of the marketing activity. */ + status: MarketingActivityStatus; + /** Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set. */ + urlParameterValue?: InputMaybe; + /** + * Specifies the + * [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) + * that are associated with a related marketing campaign. UTMInput is required for all Marketing + * tactics except Storefront App. + */ + utm?: InputMaybe; +}; + +/** Return type for `marketingActivityCreate` mutation. */ +export type MarketingActivityCreatePayload = { + __typename?: 'MarketingActivityCreatePayload'; + /** The created marketing activity. */ + marketingActivity?: Maybe; + /** The path to return back to shopify admin from embedded editor. */ + redirectPath?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `marketingActivityDeleteExternal` mutation. */ +export type MarketingActivityDeleteExternalPayload = { + __typename?: 'MarketingActivityDeleteExternalPayload'; + /** The ID of the marketing activity that was deleted, if one was deleted. */ + deletedMarketingActivityId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one MarketingActivity and a cursor during pagination. */ +export type MarketingActivityEdge = { + __typename?: 'MarketingActivityEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MarketingActivityEdge. */ + node: MarketingActivity; +}; + +/** The error code resulted from the marketing activity extension integration. */ +export enum MarketingActivityExtensionAppErrorCode { + /** The app is either not responding or returning unexpected data. */ + ApiError = 'API_ERROR', + /** The app needs to be installed. */ + InstallRequiredError = 'INSTALL_REQUIRED_ERROR', + /** The shop/user must be onboarded to use the app. */ + NotOnboardedError = 'NOT_ONBOARDED_ERROR', + /** The app has returned an error when invoking the platform. */ + PlatformError = 'PLATFORM_ERROR', + /** The app has returned validation errors. */ + ValidationError = 'VALIDATION_ERROR' +} + +/** Represents errors returned from apps when using the marketing activity extension. */ +export type MarketingActivityExtensionAppErrors = { + __typename?: 'MarketingActivityExtensionAppErrors'; + /** The app error type. */ + code: MarketingActivityExtensionAppErrorCode; + /** The list of errors returned by the app. */ + userErrors: Array; +}; + +/** Set of possible statuses for an external marketing activity. */ +export enum MarketingActivityExternalStatus { + /** This marketing activity is currently running. */ + Active = 'ACTIVE', + /** This marketing activity was deleted and it was triggered from outside of Shopify. */ + DeletedExternally = 'DELETED_EXTERNALLY', + /** This marketing activity has completed running. */ + Inactive = 'INACTIVE', + /** This marketing activity is currently not running. */ + Paused = 'PAUSED', + /** This marketing activity is scheduled to run. */ + Scheduled = 'SCHEDULED', + /** The marketing activity's status is unknown. */ + Undefined = 'UNDEFINED' +} + +/** Hierarchy levels for external marketing activities. */ +export enum MarketingActivityHierarchyLevel { + /** An advertisement activity. Must be parented by an ad group or a campaign activity, and must be assigned tracking parameters (URL or UTM). */ + Ad = 'AD', + /** A group of advertisement activities. Must be parented by a campaign activity. */ + AdGroup = 'AD_GROUP', + /** A campaign activity. May contain either ad groups or ads as child activities. If childless, then the campaign activity should have tracking parameters assigned (URL or UTM) otherwise it won't appear in marketing reports. */ + Campaign = 'CAMPAIGN' +} + +/** The set of valid sort keys for the MarketingActivity query. */ +export enum MarketingActivitySortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE' +} + +/** Status helps to identify if this marketing activity has been completed, queued, failed etc. */ +export enum MarketingActivityStatus { + /** This marketing activity is currently running. */ + Active = 'ACTIVE', + /** This marketing activity is permanently unavailable. */ + Deleted = 'DELETED', + /** This marketing activity was deleted and it was triggered from outside of Shopify. */ + DeletedExternally = 'DELETED_EXTERNALLY', + /** This marketing activity is disconnected and no longer editable. */ + Disconnected = 'DISCONNECTED', + /** This marketing activity has been edited, but it is not yet created. */ + Draft = 'DRAFT', + /** This marketing activity is unable to run. */ + Failed = 'FAILED', + /** This marketing activity has completed running. */ + Inactive = 'INACTIVE', + /** This marketing activity is currently not running. */ + Paused = 'PAUSED', + /** This marketing activity is pending creation on the app's marketing platform. */ + Pending = 'PENDING', + /** This marketing activity is scheduled to run. */ + Scheduled = 'SCHEDULED', + /** The marketing activity's status is unknown. */ + Undefined = 'UNDEFINED' +} + +/** StatusBadgeType helps to identify the color of the status badge. */ +export enum MarketingActivityStatusBadgeType { + /** This status badge has type attention. */ + Attention = 'ATTENTION', + /** This status badge has type default. */ + Default = 'DEFAULT', + /** This status badge has type info. */ + Info = 'INFO', + /** This status badge has type success. */ + Success = 'SUCCESS', + /** This status badge has type warning. */ + Warning = 'WARNING' +} + +/** The input fields required to update an externally managed marketing activity. */ +export type MarketingActivityUpdateExternalInput = { + /** The amount spent on the marketing activity. */ + adSpend?: InputMaybe; + /** The budget for this marketing activity. */ + budget?: InputMaybe; + /** The date and time at which the activity ended. */ + end?: InputMaybe; + /** The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. */ + marketingChannelType?: InputMaybe; + /** The domain from which ad clicks are forwarded to the shop. */ + referringDomain?: InputMaybe; + /** The URL for a preview image that's used for the marketing activity. */ + remotePreviewImageUrl?: InputMaybe; + /** The URL for viewing and/or managing the activity outside of Shopify. */ + remoteUrl?: InputMaybe; + /** The date and time at which the activity is scheduled to end. */ + scheduledEnd?: InputMaybe; + /** The date and time at which the activity is scheduled to start. */ + scheduledStart?: InputMaybe; + /** The date and time at which the activity started. */ + start?: InputMaybe; + /** The status of the marketing activity. */ + status?: InputMaybe; + /** The method of marketing used for this marketing activity. The marketing tactic determines which default fields are included in the marketing activity. */ + tactic?: InputMaybe; + /** The title of the marketing activity. */ + title?: InputMaybe; +}; + +/** Return type for `marketingActivityUpdateExternal` mutation. */ +export type MarketingActivityUpdateExternalPayload = { + __typename?: 'MarketingActivityUpdateExternalPayload'; + /** The updated marketing activity. */ + marketingActivity?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields required to update a marketing activity. */ +export type MarketingActivityUpdateInput = { + /** The budget for the marketing activity. */ + budget?: InputMaybe; + /** + * The error messages that were generated when the app was trying to complete the activity. + * Learn more about the + * [JSON format expected for error messages](/api/marketing-activities/statuses#failed-status). + */ + errors?: InputMaybe; + /** + * The form data of the marketing activity. This is only used if the marketing activity is + * integrated with the external editor. + */ + formData?: InputMaybe; + /** The ID of the marketing activity. */ + id: Scalars['ID']['input']; + /** + * A list of the item IDs that were marketed in this marketing activity. Valid types for these items are: + * * `Product` + * * `Shop` + */ + marketedResources?: InputMaybe>; + /** The ID of the recommendation that the marketing activity was created from, if one exists. */ + marketingRecommendationId?: InputMaybe; + /** + * The current state of the marketing activity. Learn more about + * [marketing activities statuses](/api/marketing-activities/statuses). + */ + status?: InputMaybe; + /** The target state that the marketing activity is transitioning to. Learn more about [marketing activities statuses](/api/marketing-activities/statuses). */ + targetStatus?: InputMaybe; + /** The title of the marketing activity. */ + title?: InputMaybe; + /** Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set. */ + urlParameterValue?: InputMaybe; + /** + * Specifies the + * [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) + * that are associated with a related marketing campaign. UTMInput is required for all Marketing + * tactics except Storefront App. The utm field can only be set once and never modified. + */ + utm?: InputMaybe; +}; + +/** Return type for `marketingActivityUpdate` mutation. */ +export type MarketingActivityUpdatePayload = { + __typename?: 'MarketingActivityUpdatePayload'; + /** The updated marketing activity. */ + marketingActivity?: Maybe; + /** The redirect path from the embedded editor to the Shopify admin. */ + redirectPath?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for creating or updating an externally-managed marketing activity. */ +export type MarketingActivityUpsertExternalInput = { + /** The amount spent on the marketing activity. */ + adSpend?: InputMaybe; + /** The budget for this marketing activity. */ + budget?: InputMaybe; + /** The unique string identifier of the channel to which this activity belongs. For the correct handle for your channel, contact your partner manager. */ + channelHandle?: InputMaybe; + /** The date and time at which the activity started. On creation, if this field is omitted or set to `null`, the current time will be used if the status is set to `INACTIVE` or `DELETED_EXTERNALLY` . */ + end?: InputMaybe; + /** The hierarchy level of the activity within a campaign. The hierarchy level can't be updated. */ + hierarchyLevel?: InputMaybe; + /** The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. */ + marketingChannelType: MarketingChannel; + /** The remote ID for the parent marketing activity, if creating hierarchical activities. */ + parentRemoteId?: InputMaybe; + /** The domain from which ad clicks are forwarded to the shop. */ + referringDomain?: InputMaybe; + /** The ID of an activity that's hosted outside of Shopify. */ + remoteId: Scalars['String']['input']; + /** The URL for a preview image that's used for the marketing activity. */ + remotePreviewImageUrl?: InputMaybe; + /** The URL for viewing and/or managing the activity outside of Shopify. */ + remoteUrl: Scalars['URL']['input']; + /** The date and time at which the activity is scheduled to end. */ + scheduledEnd?: InputMaybe; + /** The date and time at which the activity is scheduled to start. */ + scheduledStart?: InputMaybe; + /** The date and time at which the activity started. On creation, if this field is omitted or set to `null`, the current time will be used. */ + start?: InputMaybe; + /** The status of the marketing activity. */ + status: MarketingActivityExternalStatus; + /** The method of marketing used for this marketing activity. The marketing tactic determines which default fields are included in the marketing activity. */ + tactic: MarketingTactic; + /** The title of the marketing activity. */ + title: Scalars['String']['input']; + /** Value for a query parameter that gets inserted into storefront URLs for matching storefront traffic to this activity. This feature is currently available on a limited basis to some partners only. UTMs should continue to be used for most partners. Both the URL parameter value and UTM parameters can be set. */ + urlParameterValue?: InputMaybe; + /** Specifies the [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) that are associated with a related marketing campaign. Either the URL parameter value or UTM can be set, but not both. */ + utm?: InputMaybe; +}; + +/** Return type for `marketingActivityUpsertExternal` mutation. */ +export type MarketingActivityUpsertExternalPayload = { + __typename?: 'MarketingActivityUpsertExternalPayload'; + /** The external marketing activity that was created or updated. */ + marketingActivity?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of marketing activity and engagement mutations. */ +export type MarketingActivityUserError = DisplayableError & { + __typename?: 'MarketingActivityUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MarketingActivityUserError`. */ +export enum MarketingActivityUserErrorCode { + /** The marketing activity must be an external activity. */ + ActivityNotExternal = 'ACTIVITY_NOT_EXTERNAL', + /** This activity has child activities and thus cannot be deleted. Child activities must be deleted before a parent activity. */ + CannotDeleteActivityWithChildEvents = 'CANNOT_DELETE_ACTIVITY_WITH_CHILD_EVENTS', + /** The activity's tactic can not be updated from STOREFRONT_APP. */ + CannotUpdateTacticIfOriginallyStorefrontApp = 'CANNOT_UPDATE_TACTIC_IF_ORIGINALLY_STOREFRONT_APP', + /** The activity's tactic can not be updated to STOREFRONT_APP. This type of tactic can only be specified when creating a new activity. */ + CannotUpdateTacticToStorefrontApp = 'CANNOT_UPDATE_TACTIC_TO_STOREFRONT_APP', + /** All currency codes provided in the input need to match. */ + CurrencyCodeMismatchInput = 'CURRENCY_CODE_MISMATCH_INPUT', + /** A mutation can not be ran because a job to delete all external activities has been enqueued, which happens either from calling the marketingActivitiesDeleteAllExternal mutation or as a result of an app uninstall. */ + DeleteJobEnqueued = 'DELETE_JOB_ENQUEUED', + /** The job to delete all external activities failed to enqueue. */ + DeleteJobFailedToEnqueue = 'DELETE_JOB_FAILED_TO_ENQUEUE', + /** The channel handle value cannot be modified. */ + ImmutableChannelHandle = 'IMMUTABLE_CHANNEL_HANDLE', + /** The hierarchy level cannot be modified. */ + ImmutableHierarchyLevel = 'IMMUTABLE_HIERARCHY_LEVEL', + /** The parent activity cannot be modified. */ + ImmutableParentId = 'IMMUTABLE_PARENT_ID', + /** The URL parameter value cannot be modified. */ + ImmutableUrlParameter = 'IMMUTABLE_URL_PARAMETER', + /** The UTM parameters cannot be modified. */ + ImmutableUtmParameters = 'IMMUTABLE_UTM_PARAMETERS', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The channel handle is not recognized. */ + InvalidChannelHandle = 'INVALID_CHANNEL_HANDLE', + /** Either the marketing activity ID or remote ID must be provided for the activity to be deleted. */ + InvalidDeleteActivityExternalArguments = 'INVALID_DELETE_ACTIVITY_EXTERNAL_ARGUMENTS', + /** Either the channel_handle or delete_engagements_for_all_channels must be provided when deleting a marketing engagement. */ + InvalidDeleteEngagementsArguments = 'INVALID_DELETE_ENGAGEMENTS_ARGUMENTS', + /** Either the marketing activity ID, remote ID, or UTM must be provided. */ + InvalidMarketingActivityExternalArguments = 'INVALID_MARKETING_ACTIVITY_EXTERNAL_ARGUMENTS', + /** For activity level engagement, either the marketing activity ID or remote ID must be provided. For channel level engagement, the channel handle must be provided. */ + InvalidMarketingEngagementArguments = 'INVALID_MARKETING_ENGAGEMENT_ARGUMENTS', + /** No identifier found. For activity level engagement, either the marketing activity ID or remote ID must be provided. For channel level engagement, the channel handle must be provided. */ + InvalidMarketingEngagementArgumentMissing = 'INVALID_MARKETING_ENGAGEMENT_ARGUMENT_MISSING', + /** The remote ID does not correspond to an existing activity. */ + InvalidRemoteId = 'INVALID_REMOTE_ID', + /** The currency codes provided need to match the referenced marketing activity's currency code. */ + MarketingActivityCurrencyCodeMismatch = 'MARKETING_ACTIVITY_CURRENCY_CODE_MISMATCH', + /** Marketing activity does not exist. */ + MarketingActivityDoesNotExist = 'MARKETING_ACTIVITY_DOES_NOT_EXIST', + /** Marketing activity is not valid, the associated marketing event does not exist. */ + MarketingEventDoesNotExist = 'MARKETING_EVENT_DOES_NOT_EXIST', + /** Non-hierarchical marketing activities must have UTM parameters or a URL parameter value. */ + NonHierarchialRequiresUtmUrlParameter = 'NON_HIERARCHIAL_REQUIRES_UTM_URL_PARAMETER', + /** The input value is already taken. */ + Taken = 'TAKEN' +} + +/** This type combines budget amount and its marketing budget type. */ +export type MarketingBudget = { + __typename?: 'MarketingBudget'; + /** The budget type for a marketing activity. */ + budgetType: MarketingBudgetBudgetType; + /** The amount of budget for marketing activity. */ + total: MoneyV2; +}; + +/** The budget type for a marketing activity. */ +export enum MarketingBudgetBudgetType { + /** A daily budget. */ + Daily = 'DAILY', + /** A budget for the lifetime of a marketing activity. */ + Lifetime = 'LIFETIME' +} + +/** The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. */ +export enum MarketingChannel { + /** Displayed ads. */ + Display = 'DISPLAY', + /** Email. */ + Email = 'EMAIL', + /** Referral links. */ + Referral = 'REFERRAL', + /** Paid search. */ + Search = 'SEARCH', + /** Social media. */ + Social = 'SOCIAL' +} + +/** Marketing engagement represents customer activity taken on a marketing activity or a marketing channel. */ +export type MarketingEngagement = { + __typename?: 'MarketingEngagement'; + /** The total ad spend for the marketing content. Recurring weekly, monthly, or yearly spend needs to be divided into daily amounts. */ + adSpend?: Maybe; + /** The unique string identifier of the channel to which the engagement metrics are being provided. This should be set when and only when providing channel-level engagements. This should be nil when providing activity-level engagements. For the correct handle for your channel, contact your partner manager. */ + channelHandle?: Maybe; + /** The total number of interactions, such as a button press or a screen touch, that occurred on the marketing content. */ + clicksCount?: Maybe; + /** The total number of comments on the marketing content. */ + commentsCount?: Maybe; + /** The total number of complaints on the marketing content. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were marked as spam. For social media platforms, this represents the number of dislikes or the number of times marketing content was reported. */ + complaintsCount?: Maybe; + /** The total number of fails for the marketing content. For message-based platforms such as email or SMS, this represents the number of bounced marketing emails or messages. */ + failsCount?: Maybe; + /** The total number of favorites, likes, saves, or bookmarks on the marketing content. */ + favoritesCount?: Maybe; + /** The number of customers that have placed their first order. Doesn't include adjustments such as edits, exchanges, or returns. */ + firstTimeCustomers?: Maybe; + /** The total number of times marketing content was displayed to users, whether or not an interaction occurred. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were delivered. */ + impressionsCount?: Maybe; + /** Specifies how the provided metrics have been aggregated. Cumulative metrics are aggregated from the first day of reporting up to and including `occuredOn`. Non-cumulative metrics are aggregated over the single day indicated in `occuredOn`. Cumulative metrics will monotonically increase in time as each record includes the previous day's values, and so on. Non-cumulative is strongly preferred, and support for cumulative metrics may be deprecated in the future. */ + isCumulative: Scalars['Boolean']['output']; + /** The marketing activity object related to this engagement. This corresponds to the marketingActivityId passed in on creation of the engagement. */ + marketingActivity?: Maybe; + /** The date for which the metrics are being reported, from 0:00:00 to 23:59:59 in the time zone specified by `timeZone`. */ + occurredOn: Scalars['Date']['output']; + /** The number of orders generated from the marketing content. */ + orders?: Maybe; + /** The number of returning customers that have placed an order. Doesn't include adjustments such as edits, exchanges, or returns. */ + returningCustomers?: Maybe; + /** The amount of sales generated from the marketing content. */ + sales?: Maybe; + /** The total number of marketing emails or messages that were sent. */ + sendsCount?: Maybe; + /** The number of online store sessions generated from the marketing content. */ + sessionsCount?: Maybe; + /** The total number of times marketing content was distributed or reposted to either one's own network of followers through a social media platform or other digital channels. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were forwarded. */ + sharesCount?: Maybe; + /** The total number of unique clicks on the marketing content. */ + uniqueClicksCount?: Maybe; + /** The total number of all users who saw marketing content since it was published. For message-based platforms such as email or SMS, this represents the number of unique users that opened a marketing email or message. For video-based content, this represents the number of unique users that played video content. */ + uniqueViewsCount?: Maybe; + /** The total number of unsubscribes on the marketing content. For social media platforms, this represents the number of unfollows. */ + unsubscribesCount?: Maybe; + /** The time difference, in hours, between UTC and the time zone used to aggregate these metrics. */ + utcOffset: Scalars['UtcOffset']['output']; + /** The total number of views on the marketing content. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were opened. For video-based content, this represents the number of times videos were played. */ + viewsCount?: Maybe; +}; + +/** Return type for `marketingEngagementCreate` mutation. */ +export type MarketingEngagementCreatePayload = { + __typename?: 'MarketingEngagementCreatePayload'; + /** The marketing engagement that was created. This represents customer activity taken on a marketing activity or a marketing channel. */ + marketingEngagement?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for a marketing engagement. */ +export type MarketingEngagementInput = { + /** The total ad spend for the marketing content. Recurring weekly, monthly, or yearly spend needs to be divided into daily amounts. */ + adSpend?: InputMaybe; + /** The total number of interactions, such as a button press or a screen touch, that occurred on the marketing content. */ + clicksCount?: InputMaybe; + /** The total number of comments on the marketing content. */ + commentsCount?: InputMaybe; + /** The total number of complaints on the marketing content. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were marked as spam. For social media platforms, this represents the number of dislikes or the number of times marketing content was reported. */ + complaintsCount?: InputMaybe; + /** The total number of fails for the marketing content. For message-based platforms such as email or SMS, this represents the number of bounced marketing emails or messages. */ + failsCount?: InputMaybe; + /** The total number of favorites, likes, saves, or bookmarks on the marketing content. */ + favoritesCount?: InputMaybe; + /** The number of customers that have placed their first order. Doesn't include adjustments such as edits, exchanges, or returns. */ + firstTimeCustomers?: InputMaybe; + /** The total number of times marketing content was displayed to users, whether or not an interaction occurred. For message-based platforms such as email or SMS, this represents the number of marketing emails or messages that were delivered. */ + impressionsCount?: InputMaybe; + /** Specifies how the provided metrics have been aggregated. Cumulative metrics are aggregated from the first day of reporting up to and including `occuredOn`. Non-cumulative metrics are aggregated over the single day indicated in `occuredOn`. Cumulative metrics will monotonically increase in time as each record includes the previous day's values, and so on. Non-cumulative is strongly preferred, and support for cumulative metrics may be deprecated in the future. */ + isCumulative: Scalars['Boolean']['input']; + /** The date for which the metrics are being reported, from 0:00:00 to 23:59:59 in the time zone specified by `timeZone`. */ + occurredOn: Scalars['Date']['input']; + /** The number of orders generated from the marketing content. */ + orders?: InputMaybe; + /** The number of returning customers that have placed an order. Doesn't include adjustments such as edits, exchanges, or returns. */ + returningCustomers?: InputMaybe; + /** The amount of sales generated from the marketing content. */ + sales?: InputMaybe; + /** The total number of marketing emails or messages that were sent. */ + sendsCount?: InputMaybe; + /** The number of online store sessions generated from the marketing content. */ + sessionsCount?: InputMaybe; + /** The total number of times marketing content was distributed or reposted to either one's own network of followers through a social media platform or other digital channels. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were forwarded. */ + sharesCount?: InputMaybe; + /** The total number of unique clicks on the marketing content. */ + uniqueClicksCount?: InputMaybe; + /** The total number of all users who saw marketing content since it was published. For message-based platforms such as email or SMS, this represents the number of unique users that opened a marketing email or message. For video-based content, this represents the number of unique users that played video content. */ + uniqueViewsCount?: InputMaybe; + /** The total number of unsubscribes on the marketing content. For social media platforms, this represents the number of unfollows. */ + unsubscribesCount?: InputMaybe; + /** The time difference, in hours, between UTC and the time zone used to aggregate these metrics. */ + utcOffset: Scalars['UtcOffset']['input']; + /** The total number of views on the marketing content. For message-based platforms such as email or SMS, this represents the number of times marketing emails or messages were opened. For video-based content, this represents the number of times videos were played. */ + viewsCount?: InputMaybe; +}; + +/** Return type for `marketingEngagementsDelete` mutation. */ +export type MarketingEngagementsDeletePayload = { + __typename?: 'MarketingEngagementsDeletePayload'; + /** Informational message about the engagement data that has been marked for deletion. */ + result?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents actions that market a merchant's store or products. */ +export type MarketingEvent = LegacyInteroperability & Node & { + __typename?: 'MarketingEvent'; + /** The app that the marketing event is attributed to. */ + app: App; + /** + * The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. + * @deprecated Use `marketingChannelType` instead. + */ + channel?: Maybe; + /** The unique string identifier of the channel to which this activity belongs. For the correct handle for your channel, contact your partner manager. */ + channelHandle?: Maybe; + /** A human-readable description of the marketing event. */ + description?: Maybe; + /** The date and time when the marketing event ended. */ + endedAt?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The URL where the marketing event can be managed. */ + manageUrl?: Maybe; + /** The medium through which the marketing activity and event reached consumers. This is used for reporting aggregation. */ + marketingChannelType?: Maybe; + /** The URL where the marketing event can be previewed. */ + previewUrl?: Maybe; + /** An optional ID that helps Shopify validate engagement data. */ + remoteId?: Maybe; + /** The date and time when the marketing event is scheduled to end. */ + scheduledToEndAt?: Maybe; + /** + * Where the `MarketingEvent` occurred and what kind of content was used. + * Because `utmSource` and `utmMedium` are often used interchangeably, this is + * based on a combination of `marketingChannel`, `referringDomain`, and `type` to + * provide a consistent representation for any given piece of marketing + * regardless of the app that created it. + */ + sourceAndMedium: Scalars['String']['output']; + /** The date and time when the marketing event started. */ + startedAt: Scalars['DateTime']['output']; + /** + * The display text for the marketing event type. + * @deprecated Use `sourceAndMedium` instead. + */ + targetTypeDisplayText: Scalars['String']['output']; + /** The marketing event type. */ + type: MarketingTactic; + /** The name of the marketing campaign. */ + utmCampaign?: Maybe; + /** The medium that the marketing campaign is using. Example values: `cpc`, `banner`. */ + utmMedium?: Maybe; + /** The referrer of the marketing event. Example values: `google`, `newsletter`. */ + utmSource?: Maybe; +}; + +/** An auto-generated type for paginating through multiple MarketingEvents. */ +export type MarketingEventConnection = { + __typename?: 'MarketingEventConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MarketingEventEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one MarketingEvent and a cursor during pagination. */ +export type MarketingEventEdge = { + __typename?: 'MarketingEventEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MarketingEventEdge. */ + node: MarketingEvent; +}; + +/** The set of valid sort keys for the MarketingEvent query. */ +export enum MarketingEventSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `started_at` value. */ + StartedAt = 'STARTED_AT' +} + +/** The available types of tactics for a marketing activity. */ +export enum MarketingTactic { + /** An abandoned cart recovery email. */ + AbandonedCart = 'ABANDONED_CART', + /** An ad, such as a Facebook ad. */ + Ad = 'AD', + /** An affiliate link. */ + Affiliate = 'AFFILIATE', + /** A link. */ + Link = 'LINK', + /** A loyalty program. */ + Loyalty = 'LOYALTY', + /** A messaging app, such as Facebook Messenger. */ + Message = 'MESSAGE', + /** A newsletter. */ + Newsletter = 'NEWSLETTER', + /** A notification in the Shopify admin. */ + Notification = 'NOTIFICATION', + /** A blog post. */ + Post = 'POST', + /** A retargeting ad. */ + Retargeting = 'RETARGETING', + /** Search engine optimization. */ + Seo = 'SEO', + /** A popup on the online store. */ + StorefrontApp = 'STOREFRONT_APP', + /** A transactional email. */ + Transactional = 'TRANSACTIONAL' +} + +/** Represents a media interface. */ +export type Media = { + /** A word or phrase to share the nature or contents of a media. */ + alt?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The media content type. */ + mediaContentType: MediaContentType; + /** Any errors which have occurred on the media. */ + mediaErrors: Array; + /** The warnings attached to the media. */ + mediaWarnings: Array; + /** The preview image for the media. */ + preview?: Maybe; + /** Current status of the media. */ + status: MediaStatus; +}; + +/** An auto-generated type for paginating through multiple Media. */ +export type MediaConnection = { + __typename?: 'MediaConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MediaEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The possible content types for a media object. */ +export enum MediaContentType { + /** An externally hosted video. */ + ExternalVideo = 'EXTERNAL_VIDEO', + /** A Shopify-hosted image. */ + Image = 'IMAGE', + /** A 3d model. */ + Model_3D = 'MODEL_3D', + /** A Shopify-hosted video. */ + Video = 'VIDEO' +} + +/** An auto-generated type which holds one Media and a cursor during pagination. */ +export type MediaEdge = { + __typename?: 'MediaEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MediaEdge. */ + node: Media; +}; + +/** + * Represents a media error. This typically occurs when there is an issue with the media itself causing it to fail validation. + * Check the media before attempting to upload again. + */ +export type MediaError = { + __typename?: 'MediaError'; + /** Code representing the type of error. */ + code: MediaErrorCode; + /** Additional details regarding the error. */ + details?: Maybe; + /** Translated error message. */ + message: Scalars['String']['output']; +}; + +/** Error types for media. */ +export enum MediaErrorCode { + /** Media could not be created because a file with the same name already exists. */ + DuplicateFilenameError = 'DUPLICATE_FILENAME_ERROR', + /** Media could not be created because embed permissions are disabled for this video. */ + ExternalVideoEmbedDisabled = 'EXTERNAL_VIDEO_EMBED_DISABLED', + /** Media could not be created because video is either not found or still transcoding. */ + ExternalVideoEmbedNotFoundOrTranscoding = 'EXTERNAL_VIDEO_EMBED_NOT_FOUND_OR_TRANSCODING', + /** Media could not be created because the external video has an invalid aspect ratio. */ + ExternalVideoInvalidAspectRatio = 'EXTERNAL_VIDEO_INVALID_ASPECT_RATIO', + /** Media could not be created because the external video could not be found. */ + ExternalVideoNotFound = 'EXTERNAL_VIDEO_NOT_FOUND', + /** Media could not be created because the external video is not listed or is private. */ + ExternalVideoUnlisted = 'EXTERNAL_VIDEO_UNLISTED', + /** Media could not be created because the cumulative file storage limit would be exceeded. */ + FileStorageLimitExceeded = 'FILE_STORAGE_LIMIT_EXCEEDED', + /** File could not be processed because the source could not be downloaded. */ + GenericFileDownloadFailure = 'GENERIC_FILE_DOWNLOAD_FAILURE', + /** File could not be created because the size is too large. */ + GenericFileInvalidSize = 'GENERIC_FILE_INVALID_SIZE', + /** Media could not be processed because the image could not be downloaded. */ + ImageDownloadFailure = 'IMAGE_DOWNLOAD_FAILURE', + /** Media could not be processed because the image could not be processed. */ + ImageProcessingFailure = 'IMAGE_PROCESSING_FAILURE', + /** Media could not be created because the image has an invalid aspect ratio. */ + InvalidImageAspectRatio = 'INVALID_IMAGE_ASPECT_RATIO', + /** Media could not be created because the image size is too large. */ + InvalidImageFileSize = 'INVALID_IMAGE_FILE_SIZE', + /** Media could not be created because the image's resolution exceeds the max limit. */ + InvalidImageResolution = 'INVALID_IMAGE_RESOLUTION', + /** Media could not be processed because the signed URL was invalid. */ + InvalidSignedUrl = 'INVALID_SIGNED_URL', + /** Media timed out because it is currently being modified by another operation. */ + MediaTimeoutError = 'MEDIA_TIMEOUT_ERROR', + /** Media could not be created because the model file failed processing. */ + Model3DGlbOutputCreationError = 'MODEL3D_GLB_OUTPUT_CREATION_ERROR', + /** Media could not be created because the model can't be converted to USDZ format. */ + Model3DGlbToUsdzConversionError = 'MODEL3D_GLB_TO_USDZ_CONVERSION_ERROR', + /** Media could not be created because the model file failed processing. */ + Model3DProcessingFailure = 'MODEL3D_PROCESSING_FAILURE', + /** Media could not be created because the model's thumbnail generation failed. */ + Model3DThumbnailGenerationError = 'MODEL3D_THUMBNAIL_GENERATION_ERROR', + /** There was an issue while trying to generate a new thumbnail. */ + Model3DThumbnailRegenerationError = 'MODEL3D_THUMBNAIL_REGENERATION_ERROR', + /** Model failed validation. */ + Model3DValidationError = 'MODEL3D_VALIDATION_ERROR', + /** Media error has occured for unknown reason. */ + Unknown = 'UNKNOWN', + /** Media could not be created because the image is an unsupported file type. */ + UnsupportedImageFileType = 'UNSUPPORTED_IMAGE_FILE_TYPE', + /** Media could not be created because it has an invalid file type. */ + VideoInvalidFiletypeError = 'VIDEO_INVALID_FILETYPE_ERROR', + /** Media could not be created because it does not meet the maximum duration requirement. */ + VideoMaxDurationError = 'VIDEO_MAX_DURATION_ERROR', + /** Media could not be created because it does not meet the maximum height requirement. */ + VideoMaxHeightError = 'VIDEO_MAX_HEIGHT_ERROR', + /** Media could not be created because it does not meet the maximum width requirement. */ + VideoMaxWidthError = 'VIDEO_MAX_WIDTH_ERROR', + /** Media could not be created because the metadata could not be read. */ + VideoMetadataReadError = 'VIDEO_METADATA_READ_ERROR', + /** Media could not be created because it does not meet the minimum duration requirement. */ + VideoMinDurationError = 'VIDEO_MIN_DURATION_ERROR', + /** Media could not be created because it does not meet the minimum height requirement. */ + VideoMinHeightError = 'VIDEO_MIN_HEIGHT_ERROR', + /** Media could not be created because it does not meet the minimum width requirement. */ + VideoMinWidthError = 'VIDEO_MIN_WIDTH_ERROR', + /** Video failed validation. */ + VideoValidationError = 'VIDEO_VALIDATION_ERROR' +} + +/** Host for a Media Resource. */ +export enum MediaHost { + /** Host for Vimeo embedded videos. */ + Vimeo = 'VIMEO', + /** Host for YouTube embedded videos. */ + Youtube = 'YOUTUBE' +} + +/** An image hosted on Shopify. */ +export type MediaImage = File & HasMetafields & Media & Node & { + __typename?: 'MediaImage'; + /** A word or phrase to share the nature or contents of a media. */ + alt?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created. */ + createdAt: Scalars['DateTime']['output']; + /** Any errors that have occurred on the file. */ + fileErrors: Array; + /** The status of the file. */ + fileStatus: FileStatus; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The image for the media. Returns `null` until `status` is `READY`. */ + image?: Maybe; + /** The media content type. */ + mediaContentType: MediaContentType; + /** Any errors which have occurred on the media. */ + mediaErrors: Array; + /** The warnings attached to the media. */ + mediaWarnings: Array; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The MIME type of the image. */ + mimeType?: Maybe; + /** The original source of the image. */ + originalSource?: Maybe; + /** The preview image for the media. */ + preview?: Maybe; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** Current status of the media. */ + status: MediaStatus; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** An image hosted on Shopify. */ +export type MediaImageMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** An image hosted on Shopify. */ +export type MediaImageMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** An image hosted on Shopify. */ +export type MediaImagePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** An image hosted on Shopify. */ +export type MediaImagePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The original source for an image. */ +export type MediaImageOriginalSource = { + __typename?: 'MediaImageOriginalSource'; + /** The size of the original file in bytes. */ + fileSize?: Maybe; + /** The URL of the original image, valid only for a short period. */ + url?: Maybe; +}; + +/** Represents the preview image for a media. */ +export type MediaPreviewImage = { + __typename?: 'MediaPreviewImage'; + /** The preview image for the media. Returns `null` until `status` is `READY`. */ + image?: Maybe; + /** Current status of the preview image. */ + status: MediaPreviewImageStatus; +}; + +/** The possible statuses for a media preview image. */ +export enum MediaPreviewImageStatus { + /** Preview image processing has failed. */ + Failed = 'FAILED', + /** Preview image is being processed. */ + Processing = 'PROCESSING', + /** Preview image is ready to be displayed. */ + Ready = 'READY', + /** Preview image is uploaded but not yet processed. */ + Uploaded = 'UPLOADED' +} + +/** The possible statuses for a media object. */ +export enum MediaStatus { + /** Media processing has failed. */ + Failed = 'FAILED', + /** Media is being processed. */ + Processing = 'PROCESSING', + /** Media is ready to be displayed. */ + Ready = 'READY', + /** Media has been uploaded but not yet processed. */ + Uploaded = 'UPLOADED' +} + +/** Represents an error that happens during execution of a Media query or mutation. */ +export type MediaUserError = DisplayableError & { + __typename?: 'MediaUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MediaUserError`. */ +export enum MediaUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Invalid media type. */ + InvalidMediaType = 'INVALID_MEDIA_TYPE', + /** Exceeded the maximum number of 100 variant-media pairs per mutation call. */ + MaximumVariantMediaPairsExceeded = 'MAXIMUM_VARIANT_MEDIA_PAIRS_EXCEEDED', + /** Media cannot be modified. It is currently being modified by another operation. */ + MediaCannotBeModified = 'MEDIA_CANNOT_BE_MODIFIED', + /** Media does not exist. */ + MediaDoesNotExist = 'MEDIA_DOES_NOT_EXIST', + /** Media does not exist on the given product. */ + MediaDoesNotExistOnProduct = 'MEDIA_DOES_NOT_EXIST_ON_PRODUCT', + /** The specified media is not attached to the specified variant. */ + MediaIsNotAttachedToVariant = 'MEDIA_IS_NOT_ATTACHED_TO_VARIANT', + /** Missing arguments. */ + MissingArguments = 'MISSING_ARGUMENTS', + /** Model3d creation throttle was exceeded. */ + Model3DThrottleExceeded = 'MODEL3D_THROTTLE_EXCEEDED', + /** Model validation failed. */ + Model3DValidationError = 'MODEL3D_VALIDATION_ERROR', + /** Non-ready media are not supported. */ + NonReadyMedia = 'NON_READY_MEDIA', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Exceeded the limit of media per product. */ + ProductMediaLimitExceeded = 'PRODUCT_MEDIA_LIMIT_EXCEEDED', + /** Product variant already has attached media. */ + ProductVariantAlreadyHasMedia = 'PRODUCT_VARIANT_ALREADY_HAS_MEDIA', + /** Variant does not exist on the given product. */ + ProductVariantDoesNotExistOnProduct = 'PRODUCT_VARIANT_DOES_NOT_EXIST_ON_PRODUCT', + /** Variant specified in more than one pair. */ + ProductVariantSpecifiedMultipleTimes = 'PRODUCT_VARIANT_SPECIFIED_MULTIPLE_TIMES', + /** Exceeded the limit of media per shop. */ + ShopMediaLimitExceeded = 'SHOP_MEDIA_LIMIT_EXCEEDED', + /** Only one mediaId is allowed per variant-media input pair. */ + TooManyMediaPerInputPair = 'TOO_MANY_MEDIA_PER_INPUT_PAIR', + /** Video creation throttle was exceeded. */ + VideoThrottleExceeded = 'VIDEO_THROTTLE_EXCEEDED', + /** Video validation failed. */ + VideoValidationError = 'VIDEO_VALIDATION_ERROR' +} + +/** + * Represents a media warning. This occurs when there is a non-blocking concern regarding your media. + * Consider reviewing your media to ensure it is correct and its parameters are as expected. + */ +export type MediaWarning = { + __typename?: 'MediaWarning'; + /** The code representing the type of warning. */ + code: MediaWarningCode; + /** Translated warning message. */ + message?: Maybe; +}; + +/** Warning types for media. */ +export enum MediaWarningCode { + /** 3D model physical size might be invalid. The dimensions of your model are very large. Consider reviewing your model to ensure they are correct. */ + ModelLargePhysicalSize = 'MODEL_LARGE_PHYSICAL_SIZE', + /** 3D model physical size might be invalid. The dimensions of your model are very small. Consider reviewing your model to ensure they are correct. */ + ModelSmallPhysicalSize = 'MODEL_SMALL_PHYSICAL_SIZE' +} + +/** A menu for display on the storefront. */ +export type Menu = HasPublishedTranslations & Node & { + __typename?: 'Menu'; + /** The menus's handle. */ + handle: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the menu is a default. The handle for default menus can't be updated and default menus can't be deleted. */ + isDefault: Scalars['Boolean']['output']; + /** A list of items on the menu sorted by position. */ + items: Array; + /** The menu's title. */ + title: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; +}; + + +/** A menu for display on the storefront. */ +export type MenuItemsArgs = { + limit?: InputMaybe; +}; + + +/** A menu for display on the storefront. */ +export type MenuTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Menus. */ +export type MenuConnection = { + __typename?: 'MenuConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MenuEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `menuCreate` mutation. */ +export type MenuCreatePayload = { + __typename?: 'MenuCreatePayload'; + /** The created menu. */ + menu?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MenuCreate`. */ +export type MenuCreateUserError = DisplayableError & { + __typename?: 'MenuCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MenuCreateUserError`. */ +export enum MenuCreateUserErrorCode { + /** The menu cannot be nested more than 3 level deep. */ + NestingTooDeep = 'NESTING_TOO_DEEP', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** Return type for `menuDelete` mutation. */ +export type MenuDeletePayload = { + __typename?: 'MenuDeletePayload'; + /** The ID of the deleted menu. */ + deletedMenuId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MenuDelete`. */ +export type MenuDeleteUserError = DisplayableError & { + __typename?: 'MenuDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MenuDeleteUserError`. */ +export enum MenuDeleteUserErrorCode { + /** Menu does not exist. */ + MenuDoesNotExist = 'MENU_DOES_NOT_EXIST', + /** Default menu cannot be deleted. */ + UnableToDeleteDefaultMenu = 'UNABLE_TO_DELETE_DEFAULT_MENU' +} + +/** An auto-generated type which holds one Menu and a cursor during pagination. */ +export type MenuEdge = { + __typename?: 'MenuEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MenuEdge. */ + node: Menu; +}; + +/** A menu item for display on the storefront. */ +export type MenuItem = { + __typename?: 'MenuItem'; + /** A globally-unique ID of the online store navigation menu item. */ + id: Scalars['ID']['output']; + /** List of the menu items nested under this item sorted by position. */ + items: Array; + /** The ID of the resource to link to. */ + resourceId?: Maybe; + /** The menu item's tags to filter a collection. */ + tags: Array; + /** The menu item's title. */ + title: Scalars['String']['output']; + /** The menu item's type. */ + type: MenuItemType; + /** The menu item's url. */ + url?: Maybe; +}; + +/** The input fields required to create a valid Menu item. */ +export type MenuItemCreateInput = { + /** List of the menu items nested under this item sorted by position. */ + items?: InputMaybe>; + /** The menu item's association with an existing resource. */ + resourceId?: InputMaybe; + /** The menu item's tags to filter a collection. */ + tags?: InputMaybe>; + /** The menu item's title. */ + title: Scalars['String']['input']; + /** The menu item's type. */ + type: MenuItemType; + /** The menu item's url to be used when the item doesn't point to a resource. */ + url?: InputMaybe; +}; + +/** A menu item type. */ +export enum MenuItemType { + /** The article menu item type. */ + Article = 'ARTICLE', + /** The blog menu item type. */ + Blog = 'BLOG', + /** The catalog menu item type. */ + Catalog = 'CATALOG', + /** The collection menu item type. */ + Collection = 'COLLECTION', + /** The collections menu item type. */ + Collections = 'COLLECTIONS', + /** The customer_account_page menu item type. */ + CustomerAccountPage = 'CUSTOMER_ACCOUNT_PAGE', + /** The frontpage menu item type. */ + Frontpage = 'FRONTPAGE', + /** The http menu item type. */ + Http = 'HTTP', + /** The metaobject menu item type. */ + Metaobject = 'METAOBJECT', + /** The page menu item type. */ + Page = 'PAGE', + /** The product menu item type. */ + Product = 'PRODUCT', + /** The search menu item type. */ + Search = 'SEARCH', + /** The shop_policy menu item type. */ + ShopPolicy = 'SHOP_POLICY' +} + +/** The input fields required to update a valid Menu item. */ +export type MenuItemUpdateInput = { + /** A globally-unique ID of the online store navigation menu item. */ + id?: InputMaybe; + /** List of the menu items nested under this item sorted by position. */ + items?: InputMaybe>; + /** The menu item's association with an existing resource. */ + resourceId?: InputMaybe; + /** The menu item's tags to filter a collection. */ + tags?: InputMaybe>; + /** The menu item's title. */ + title: Scalars['String']['input']; + /** The menu item's type. */ + type: MenuItemType; + /** The menu item's url to be used when the item doesn't point to a resource. */ + url?: InputMaybe; +}; + +/** The set of valid sort keys for the Menu query. */ +export enum MenuSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Return type for `menuUpdate` mutation. */ +export type MenuUpdatePayload = { + __typename?: 'MenuUpdatePayload'; + /** The updated menu. */ + menu?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MenuUpdate`. */ +export type MenuUpdateUserError = DisplayableError & { + __typename?: 'MenuUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MenuUpdateUserError`. */ +export enum MenuUpdateUserErrorCode { + /** The menu cannot be nested more than 3 level deep. */ + NestingTooDeep = 'NESTING_TOO_DEEP', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** The class of the discount for combining purposes. */ +export enum MerchandiseDiscountClass { + /** Combined as an order discount. */ + Order = 'ORDER', + /** Combined as a product discount. */ + Product = 'PRODUCT' +} + +/** Merchant approval for accelerated onboarding to channel integration apps. */ +export type MerchantApprovalSignals = { + __typename?: 'MerchantApprovalSignals'; + /** Whether the shop's Shopify Payments account identity is verified. Returns `false` if the identity is unverified or if the shop doesn't have a Shopify Payments account. */ + identityVerified: Scalars['Boolean']['output']; + /** Whether Shopify has pre-verified the merchant's business for onboarding to channel integration apps. Returns `false` if the shop isn't marked for verification. */ + verifiedByShopify: Scalars['Boolean']['output']; + /** Which tier of the Shopify verification was determined for the merchant's business for onboarding to channel integration apps. */ + verifiedByShopifyTier: Scalars['String']['output']; +}; + +/** + * Metafields enable you to attach additional information to a Shopify resource, such as a [Product](https://shopify.dev/api/admin-graphql/latest/objects/product) or a [Collection](https://shopify.dev/api/admin-graphql/latest/objects/collection). + * For more information about where you can attach metafields refer to [HasMetafields](https://shopify.dev/api/admin/graphql/reference/common-objects/HasMetafields). + * Some examples of the data that metafields enable you to store are specifications, size charts, downloadable documents, release dates, images, or part numbers. + * Metafields are identified by an owner resource, namespace, and key. and store a value along with type information for that value. + */ +export type Metafield = HasCompareDigest & LegacyInteroperability & Node & { + __typename?: 'Metafield'; + /** The data stored in the resource, represented as a digest. */ + compareDigest: Scalars['String']['output']; + /** The date and time when the metafield was created. */ + createdAt: Scalars['DateTime']['output']; + /** The metafield definition that the metafield belongs to, if any. */ + definition?: Maybe; + /** The description of the metafield. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The data stored in the metafield in JSON format. */ + jsonValue: Scalars['JSON']['output']; + /** The unique identifier for the metafield within its namespace. */ + key: Scalars['String']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The container for a group of metafields that the metafield is associated with. */ + namespace: Scalars['String']['output']; + /** The resource that the metafield is attached to. */ + owner: HasMetafields; + /** The type of resource that the metafield is attached to. */ + ownerType: MetafieldOwnerType; + /** Returns a reference object if the metafield definition's type is a resource reference. */ + reference?: Maybe; + /** A list of reference objects if the metafield's type is a resource reference list. */ + references?: Maybe; + /** + * The type of data that is stored in the metafield. + * Refer to the list of [supported types](https://shopify.dev/apps/metafields/types). + */ + type: Scalars['String']['output']; + /** The date and time when the metafield was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The data stored in the metafield. Always stored as a string, regardless of the metafield's type. */ + value: Scalars['String']['output']; +}; + + +/** + * Metafields enable you to attach additional information to a Shopify resource, such as a [Product](https://shopify.dev/api/admin-graphql/latest/objects/product) or a [Collection](https://shopify.dev/api/admin-graphql/latest/objects/collection). + * For more information about where you can attach metafields refer to [HasMetafields](https://shopify.dev/api/admin/graphql/reference/common-objects/HasMetafields). + * Some examples of the data that metafields enable you to store are specifications, size charts, downloadable documents, release dates, images, or part numbers. + * Metafields are identified by an owner resource, namespace, and key. and store a value along with type information for that value. + */ +export type MetafieldReferencesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** The access settings for this metafield definition. */ +export type MetafieldAccess = { + __typename?: 'MetafieldAccess'; + /** The default admin access setting used for the metafields under this definition. */ + admin?: Maybe; + /** The customer account access setting used for the metafields under this definition. */ + customerAccount: MetafieldCustomerAccountAccess; + /** + * The explicit grants for this metafield definition, superseding the default admin access + * for the specified grantees. + * @deprecated Explicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields). + * + */ + grants: Array; + /** The storefront access setting used for the metafields under this definition. */ + storefront?: Maybe; +}; + +/** + * An explicit access grant for the metafields under this definition. + * + * Explicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields). + */ +export type MetafieldAccessGrant = { + __typename?: 'MetafieldAccessGrant'; + /** The level of access the grantee has. */ + access: MetafieldGrantAccessLevel; + /** The grantee being granted access. */ + grantee: Scalars['String']['output']; +}; + +/** The input fields for an explicit access grant to be deleted for the metafields under this definition. */ +export type MetafieldAccessGrantDeleteInput = { + /** The grantee whose grant should be deleted. */ + grantee: Scalars['String']['input']; +}; + +/** + * The input fields for an explicit access grant to be created or updated for the metafields under this definition. + * + * Explicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields). + */ +export type MetafieldAccessGrantInput = { + /** The level of access being granted. */ + access: MetafieldGrantAccessLevel; + /** The grantee being granted access. */ + grantee: Scalars['String']['input']; +}; + +/** + * The input fields for possible operations for modifying access grants. Exactly one option is required. + * + * Explicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields). + */ +export type MetafieldAccessGrantOperationInput = { + /** + * The input fields for an explicit access grant to be created or updated for the metafields under this definition. + * + * Explicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields). + */ + create?: InputMaybe; + /** The input fields for an explicit access grant to be deleted for the metafields under this definition. */ + delete?: InputMaybe; + /** + * The input fields for an explicit access grant to be created or updated for the metafields under this definition. + * + * Explicit grants are [deprecated](https://shopify.dev/changelog/deprecating-explicit-access-grants-for-app-owned-metafields). + */ + update?: InputMaybe; +}; + +/** The input fields for the access settings for the metafields under the definition. */ +export type MetafieldAccessInput = { + /** The admin access setting to use for the metafields under this definition. */ + admin: MetafieldAdminAccessInput; + /** The Customer Account API access setting to use for the metafields under this definition. */ + customerAccount?: InputMaybe; + /** The storefront access setting to use for the metafields under this definition. */ + storefront?: InputMaybe; +}; + +/** The input fields for the access settings for the metafields under the definition. */ +export type MetafieldAccessUpdateInput = { + /** The admin access setting to use for the metafields under this definition. */ + admin: MetafieldAdminAccessInput; + /** The Customer Account API access setting to use for the metafields under this definition. */ + customerAccount?: InputMaybe; + /** The storefront access setting to use for the metafields under this definition. */ + storefront?: InputMaybe; +}; + +/** Possible admin access settings for metafields. */ +export enum MetafieldAdminAccess { + /** Owner gets full access. The merchant has read-only access. No one else has access rights. */ + MerchantRead = 'MERCHANT_READ', + /** Owner gets full access. The merchant has read and write access. No one else has access rights. */ + MerchantReadWrite = 'MERCHANT_READ_WRITE', + /** Owner gets full access. No one else has access rights. */ + Private = 'PRIVATE', + /** Owner gets full access. All applications and the merchant have read-only access. */ + PublicRead = 'PUBLIC_READ', + /** Owner gets full access. All applications and the merchant have read and write access. */ + PublicReadWrite = 'PUBLIC_READ_WRITE' +} + +/** The possible values for setting metafield Admin API access. */ +export enum MetafieldAdminAccessInput { + /** Owner gets full access. The merchant has read-only access. No one else has access rights. */ + MerchantRead = 'MERCHANT_READ', + /** Owner gets full access. The merchant has read and write access. No one else has access rights. */ + MerchantReadWrite = 'MERCHANT_READ_WRITE', + /** Owner gets full access. No one else has access rights. */ + Private = 'PRIVATE', + /** Owner gets full access. All applications and the merchant have read-only access. */ + PublicRead = 'PUBLIC_READ', + /** Owner gets full access. All applications and the merchant have read and write access. */ + PublicReadWrite = 'PUBLIC_READ_WRITE' +} + +/** Provides the capabilities of a metafield definition. */ +export type MetafieldCapabilities = { + __typename?: 'MetafieldCapabilities'; + /** Indicate whether a metafield definition is configured for filtering. */ + adminFilterable: MetafieldCapabilityAdminFilterable; + /** Indicate whether a metafield definition can be used as a smart collection condition. */ + smartCollectionCondition: MetafieldCapabilitySmartCollectionCondition; +}; + +/** Information about the admin filterable capability on a metafield definition. */ +export type MetafieldCapabilityAdminFilterable = { + __typename?: 'MetafieldCapabilityAdminFilterable'; + /** Indicates if the definition is eligible to have the capability. */ + eligible: Scalars['Boolean']['output']; + /** Indicates if the capability is enabled. */ + enabled: Scalars['Boolean']['output']; + /** Determines the metafield definition's filter status for use in admin filtering. */ + status: MetafieldDefinitionAdminFilterStatus; +}; + +/** The input fields for enabling and disabling the admin filterable capability. */ +export type MetafieldCapabilityAdminFilterableInput = { + /** Indicates whether the capability should be enabled or disabled. */ + enabled: Scalars['Boolean']['input']; +}; + +/** The input fields for creating a metafield capability. */ +export type MetafieldCapabilityCreateInput = { + /** The input for updating the admin filterable capability. */ + adminFilterable?: InputMaybe; + /** The input for updating the smart collection condition capability. */ + smartCollectionCondition?: InputMaybe; +}; + +/** Information about the smart collection condition capability on a metafield definition. */ +export type MetafieldCapabilitySmartCollectionCondition = { + __typename?: 'MetafieldCapabilitySmartCollectionCondition'; + /** Indicates if the definition is eligible to have the capability. */ + eligible: Scalars['Boolean']['output']; + /** Indicates if the capability is enabled. */ + enabled: Scalars['Boolean']['output']; +}; + +/** The input fields for enabling and disabling the smart collection condition capability. */ +export type MetafieldCapabilitySmartCollectionConditionInput = { + /** Indicates whether the capability should be enabled or disabled. */ + enabled: Scalars['Boolean']['input']; +}; + +/** The input fields for updating a metafield capability. */ +export type MetafieldCapabilityUpdateInput = { + /** The input for updating the admin filterable capability. */ + adminFilterable?: InputMaybe; + /** The input for updating the smart collection condition capability. */ + smartCollectionCondition?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Metafields. */ +export type MetafieldConnection = { + __typename?: 'MetafieldConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetafieldEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Defines how the metafields of a definition can be accessed in the Customer Account API. */ +export enum MetafieldCustomerAccountAccess { + /** The Customer Account API cannot access metafields. */ + None = 'NONE', + /** The Customer Account API can read metafields. */ + Read = 'READ', + /** The Customer Account API can read and write metafields. */ + ReadWrite = 'READ_WRITE' +} + +/** The possible values for setting metafield Customer Account API access. */ +export enum MetafieldCustomerAccountAccessInput { + /** The Customer Account API cannot access metafields. */ + None = 'NONE', + /** The Customer Account API can read metafields. */ + Read = 'READ', + /** The Customer Account API can read and write metafields. */ + ReadWrite = 'READ_WRITE' +} + +/** + * Metafield definitions enable you to define additional validation constraints for metafields, and enable the + * merchant to edit metafield values in context. + */ +export type MetafieldDefinition = Node & { + __typename?: 'MetafieldDefinition'; + /** The access settings associated with the metafield definition. */ + access: MetafieldAccess; + /** The capabilities of the metafield definition. */ + capabilities: MetafieldCapabilities; + /** The constraints that determine what subtypes of resources a metafield definition applies to. */ + constraints?: Maybe; + /** The description of the metafield definition. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The unique identifier for the metafield definition within its namespace. */ + key: Scalars['String']['output']; + /** The metafields that belong to the metafield definition. */ + metafields: MetafieldConnection; + /** The count of the metafields that belong to the metafield definition. */ + metafieldsCount: Scalars['Int']['output']; + /** The human-readable name of the metafield definition. */ + name: Scalars['String']['output']; + /** The container for a group of metafields that the metafield definition is associated with. */ + namespace: Scalars['String']['output']; + /** The resource type that the metafield definition is attached to. */ + ownerType: MetafieldOwnerType; + /** The position of the metafield definition in the pinned list. */ + pinnedPosition?: Maybe; + /** The standard metafield definition template associated with the metafield definition. */ + standardTemplate?: Maybe; + /** + * The type of data that each of the metafields that belong to the metafield definition will store. + * Refer to the list of [supported types](https://shopify.dev/apps/metafields/types). + */ + type: MetafieldDefinitionType; + /** Whether the metafield definition can be used as a collection condition. */ + useAsCollectionCondition: Scalars['Boolean']['output']; + /** The validation status for the metafields that belong to the metafield definition. */ + validationStatus: MetafieldDefinitionValidationStatus; + /** + * A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for + * the metafields that belong to the metafield definition. For example, for a metafield definition with the + * type `date`, you can set a minimum date validation so that each of the metafields that belong to it can only + * store dates after the specified minimum. + */ + validations: Array; + /** + * Whether each of the metafields that belong to the metafield definition are visible from the Storefront API. + * @deprecated Use `access.storefront` instead. + */ + visibleToStorefrontApi: Scalars['Boolean']['output']; +}; + + +/** + * Metafield definitions enable you to define additional validation constraints for metafields, and enable the + * merchant to edit metafield values in context. + */ +export type MetafieldDefinitionMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + validationStatus?: InputMaybe; +}; + + +/** + * Metafield definitions enable you to define additional validation constraints for metafields, and enable the + * merchant to edit metafield values in context. + */ +export type MetafieldDefinitionMetafieldsCountArgs = { + validationStatus?: InputMaybe; +}; + +/** Possible filter statuses associated with a metafield definition for use in admin filtering. */ +export enum MetafieldDefinitionAdminFilterStatus { + /** The metafield definition has failed to be enabled for admin filtering. */ + Failed = 'FAILED', + /** The metafield definition allows admin filtering by matching metafield values. */ + Filterable = 'FILTERABLE', + /** The metafield definition's metafields are currently being processed for admin filtering. */ + InProgress = 'IN_PROGRESS', + /** The metafield definition cannot be used for admin filtering. */ + NotFilterable = 'NOT_FILTERABLE' +} + +/** An auto-generated type for paginating through multiple MetafieldDefinitions. */ +export type MetafieldDefinitionConnection = { + __typename?: 'MetafieldDefinitionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetafieldDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Metafield definition constraint criteria to filter metafield definitions by. */ +export enum MetafieldDefinitionConstraintStatus { + /** Returns both constrained and unconstrained metafield definitions. */ + ConstrainedAndUnconstrained = 'CONSTRAINED_AND_UNCONSTRAINED', + /** Only returns metafield definitions that are constrained to a resource subtype. */ + ConstrainedOnly = 'CONSTRAINED_ONLY', + /** Only returns metafield definitions that are not constrained to a resource subtype. */ + UnconstrainedOnly = 'UNCONSTRAINED_ONLY' +} + +/** The input fields used to identify a subtype of a resource for the purposes of metafield definition constraints. */ +export type MetafieldDefinitionConstraintSubtypeIdentifier = { + /** The category of the resource subtype. */ + key: Scalars['String']['input']; + /** The specific subtype value within the identified subtype category. */ + value: Scalars['String']['input']; +}; + +/** A constraint subtype value that the metafield definition applies to. */ +export type MetafieldDefinitionConstraintValue = { + __typename?: 'MetafieldDefinitionConstraintValue'; + /** The subtype value of the constraint. */ + value: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple MetafieldDefinitionConstraintValues. */ +export type MetafieldDefinitionConstraintValueConnection = { + __typename?: 'MetafieldDefinitionConstraintValueConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetafieldDefinitionConstraintValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one MetafieldDefinitionConstraintValue and a cursor during pagination. */ +export type MetafieldDefinitionConstraintValueEdge = { + __typename?: 'MetafieldDefinitionConstraintValueEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetafieldDefinitionConstraintValueEdge. */ + node: MetafieldDefinitionConstraintValue; +}; + +/** The constraints that determine what subtypes of resources a metafield definition applies to. */ +export type MetafieldDefinitionConstraints = { + __typename?: 'MetafieldDefinitionConstraints'; + /** The category of resource subtypes that the definition applies to. */ + key?: Maybe; + /** The specific constraint subtype values that the definition applies to. */ + values: MetafieldDefinitionConstraintValueConnection; +}; + + +/** The constraints that determine what subtypes of resources a metafield definition applies to. */ +export type MetafieldDefinitionConstraintsValuesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `metafieldDefinitionCreate` mutation. */ +export type MetafieldDefinitionCreatePayload = { + __typename?: 'MetafieldDefinitionCreatePayload'; + /** The metafield definition that was created. */ + createdDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MetafieldDefinitionCreate`. */ +export type MetafieldDefinitionCreateUserError = DisplayableError & { + __typename?: 'MetafieldDefinitionCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The index of the array element that's causing the error. */ + elementIndex?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MetafieldDefinitionCreateUserError`. */ +export enum MetafieldDefinitionCreateUserErrorCode { + /** A duplicate option. */ + DuplicateOption = 'DUPLICATE_OPTION', + /** The maximum limit of grants per definition type has been exceeded. */ + GrantLimitExceeded = 'GRANT_LIMIT_EXCEEDED', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The metafield definition capability is invalid. */ + InvalidCapability = 'INVALID_CAPABILITY', + /** A field contains an invalid character. */ + InvalidCharacter = 'INVALID_CHARACTER', + /** The input combination is invalid. */ + InvalidInputCombination = 'INVALID_INPUT_COMBINATION', + /** An invalid option. */ + InvalidOption = 'INVALID_OPTION', + /** The maximum limit of definitions per owner type has exceeded. */ + LimitExceeded = 'LIMIT_EXCEEDED', + /** You have reached the maximum allowed definitions for automated collections. */ + OwnerTypeLimitExceededForAutomatedCollections = 'OWNER_TYPE_LIMIT_EXCEEDED_FOR_AUTOMATED_COLLECTIONS', + /** The pinned limit has been reached for the owner type. */ + PinnedLimitReached = 'PINNED_LIMIT_REACHED', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** This namespace and key combination is reserved for standard definitions. */ + ReservedNamespaceKey = 'RESERVED_NAMESPACE_KEY', + /** The definition limit per owner type has exceeded. */ + ResourceTypeLimitExceeded = 'RESOURCE_TYPE_LIMIT_EXCEEDED', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** The definition type is not eligible to be used as collection condition. */ + TypeNotAllowedForConditions = 'TYPE_NOT_ALLOWED_FOR_CONDITIONS', + /** This namespace and key combination is already in use for a set of your metafields. */ + UnstructuredAlreadyExists = 'UNSTRUCTURED_ALREADY_EXISTS' +} + +/** Return type for `metafieldDefinitionDelete` mutation. */ +export type MetafieldDefinitionDeletePayload = { + __typename?: 'MetafieldDefinitionDeletePayload'; + /** The ID of the deleted metafield definition. */ + deletedDefinitionId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MetafieldDefinitionDelete`. */ +export type MetafieldDefinitionDeleteUserError = DisplayableError & { + __typename?: 'MetafieldDefinitionDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MetafieldDefinitionDeleteUserError`. */ +export enum MetafieldDefinitionDeleteUserErrorCode { + /** Owner type can't be used in this mutation. */ + DisallowedOwnerType = 'DISALLOWED_OWNER_TYPE', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** Action cannot proceed. Definition is currently in use. */ + MetafieldDefinitionInUse = 'METAFIELD_DEFINITION_IN_USE', + /** Definition not found. */ + NotFound = 'NOT_FOUND', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** Deleting a reference type metafield definition requires deletion of its associated metafields. */ + ReferenceTypeDeletionError = 'REFERENCE_TYPE_DELETION_ERROR', + /** Deleting a definition in a reserved namespace requires deletion of its associated metafields. */ + ReservedNamespaceOrphanedMetafields = 'RESERVED_NAMESPACE_ORPHANED_METAFIELDS' +} + +/** An auto-generated type which holds one MetafieldDefinition and a cursor during pagination. */ +export type MetafieldDefinitionEdge = { + __typename?: 'MetafieldDefinitionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetafieldDefinitionEdge. */ + node: MetafieldDefinition; +}; + +/** The input fields required to create a metafield definition. */ +export type MetafieldDefinitionInput = { + /** The access settings that apply to each of the metafields that belong to the metafield definition. */ + access?: InputMaybe; + /** The capabilities of the metafield definition. */ + capabilities?: InputMaybe; + /** The description for the metafield definition. */ + description?: InputMaybe; + /** + * The unique identifier for the metafield definition within its namespace. + * + * Must be 3-64 characters long and only contain alphanumeric, hyphen, and underscore characters. + */ + key: Scalars['String']['input']; + /** The human-readable name for the metafield definition. */ + name: Scalars['String']['input']; + /** + * The container for a group of metafields that the metafield definition will be associated with. If omitted, the + * app-reserved namespace will be used. + * + * Must be 3-255 characters long and only contain alphanumeric, hyphen, and underscore characters. + */ + namespace?: InputMaybe; + /** The resource type that the metafield definition is attached to. */ + ownerType: MetafieldOwnerType; + /** + * Whether to [pin](https://help.shopify.com/manual/custom-data/metafields/pinning-metafield-definitions) + * the metafield definition. + */ + pin?: InputMaybe; + /** + * The type of data that each of the metafields that belong to the metafield definition will store. + * Refer to the list of [supported types](https://shopify.dev/apps/metafields/types). + */ + type: Scalars['String']['input']; + /** + * A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for + * the metafields that belong to the metafield definition. For example, for a metafield definition with the + * type `date`, you can set a minimum date validation so that each of the metafields that belong to it can only + * store dates after the specified minimum. + */ + validations?: InputMaybe>; +}; + +/** Return type for `metafieldDefinitionPin` mutation. */ +export type MetafieldDefinitionPinPayload = { + __typename?: 'MetafieldDefinitionPinPayload'; + /** The metafield definition that was pinned. */ + pinnedDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MetafieldDefinitionPin`. */ +export type MetafieldDefinitionPinUserError = DisplayableError & { + __typename?: 'MetafieldDefinitionPinUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MetafieldDefinitionPinUserError`. */ +export enum MetafieldDefinitionPinUserErrorCode { + /** The metafield definition is already pinned. */ + AlreadyPinned = 'ALREADY_PINNED', + /** Owner type can't be used in this mutation. */ + DisallowedOwnerType = 'DISALLOWED_OWNER_TYPE', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The metafield definition was not found. */ + NotFound = 'NOT_FOUND', + /** The pinned limit has been reached for owner type. */ + PinnedLimitReached = 'PINNED_LIMIT_REACHED' +} + +/** Possible metafield definition pinned statuses. */ +export enum MetafieldDefinitionPinnedStatus { + /** All metafield definitions. */ + Any = 'ANY', + /** Only metafield definitions that are pinned. */ + Pinned = 'PINNED', + /** Only metafield definitions that are not pinned. */ + Unpinned = 'UNPINNED' +} + +/** The set of valid sort keys for the MetafieldDefinition query. */ +export enum MetafieldDefinitionSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** Sort by the `pinned_position` value. */ + PinnedPosition = 'PINNED_POSITION', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** + * The type and name for the optional validation configuration of a metafield. + * + * For example, a supported validation might consist of a `max` name and a `number_integer` type. + * This validation can then be used to enforce a maximum character length for a `single_line_text_field` metafield. + */ +export type MetafieldDefinitionSupportedValidation = { + __typename?: 'MetafieldDefinitionSupportedValidation'; + /** The name of the metafield definition validation. */ + name: Scalars['String']['output']; + /** The type of input for the validation. */ + type: Scalars['String']['output']; +}; + +/** A metafield definition type provides basic foundation and validation for a metafield. */ +export type MetafieldDefinitionType = { + __typename?: 'MetafieldDefinitionType'; + /** The category associated with the metafield definition type. */ + category: Scalars['String']['output']; + /** + * The name of the type for the metafield definition. + * See the list of [supported types](https://shopify.dev/apps/metafields/types). + */ + name: Scalars['String']['output']; + /** The supported validations for a metafield definition type. */ + supportedValidations: Array; + /** Whether metafields without a definition can be migrated to a definition of this type. */ + supportsDefinitionMigrations: Scalars['Boolean']['output']; + /** + * The value type for a metafield created with this definition type. + * @deprecated `valueType` is deprecated and `name` should be used for type information. + */ + valueType: MetafieldValueType; +}; + +/** Return type for `metafieldDefinitionUnpin` mutation. */ +export type MetafieldDefinitionUnpinPayload = { + __typename?: 'MetafieldDefinitionUnpinPayload'; + /** The metafield definition that was unpinned. */ + unpinnedDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MetafieldDefinitionUnpin`. */ +export type MetafieldDefinitionUnpinUserError = DisplayableError & { + __typename?: 'MetafieldDefinitionUnpinUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MetafieldDefinitionUnpinUserError`. */ +export enum MetafieldDefinitionUnpinUserErrorCode { + /** Owner type can't be used in this mutation. */ + DisallowedOwnerType = 'DISALLOWED_OWNER_TYPE', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The metafield definition was not found. */ + NotFound = 'NOT_FOUND', + /** The metafield definition isn't pinned. */ + NotPinned = 'NOT_PINNED' +} + +/** The input fields required to update a metafield definition. */ +export type MetafieldDefinitionUpdateInput = { + /** The access settings that apply to each of the metafields that belong to the metafield definition. */ + access?: InputMaybe; + /** The capabilities of the metafield definition. */ + capabilities?: InputMaybe; + /** The description for the metafield definition. */ + description?: InputMaybe; + /** + * The unique identifier for the metafield definition within its namespace. Used to help identify the metafield + * definition, but can't be updated itself. + */ + key: Scalars['String']['input']; + /** The human-readable name for the metafield definition. */ + name?: InputMaybe; + /** + * The container for a group of metafields that the metafield definition is associated with. Used to help identify + * the metafield definition, but cannot be updated itself. If omitted, the app-reserved namespace will be used. + */ + namespace?: InputMaybe; + /** + * The resource type that the metafield definition is attached to. Used to help identify the metafield definition, + * but can't be updated itself. + */ + ownerType: MetafieldOwnerType; + /** Whether to pin the metafield definition. */ + pin?: InputMaybe; + /** + * A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for + * the metafields that belong to the metafield definition. For example, for a metafield definition with the + * type `date`, you can set a minimum date validation so that each of the metafields that belong to it can only + * store dates after the specified minimum. + */ + validations?: InputMaybe>; +}; + +/** Return type for `metafieldDefinitionUpdate` mutation. */ +export type MetafieldDefinitionUpdatePayload = { + __typename?: 'MetafieldDefinitionUpdatePayload'; + /** The metafield definition that was updated. */ + updatedDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The asynchronous job updating the metafield definition's validation_status. */ + validationJob?: Maybe; +}; + +/** An error that occurs during the execution of `MetafieldDefinitionUpdate`. */ +export type MetafieldDefinitionUpdateUserError = DisplayableError & { + __typename?: 'MetafieldDefinitionUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The index of the array element that's causing the error. */ + elementIndex?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MetafieldDefinitionUpdateUserError`. */ +export enum MetafieldDefinitionUpdateUserErrorCode { + /** The metafield definition capability cannot be disabled. */ + CapabilityCannotBeDisabled = 'CAPABILITY_CANNOT_BE_DISABLED', + /** The maximum limit of grants per definition type has been exceeded. */ + GrantLimitExceeded = 'GRANT_LIMIT_EXCEEDED', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The metafield definition capability is invalid. */ + InvalidCapability = 'INVALID_CAPABILITY', + /** An invalid input. */ + InvalidInput = 'INVALID_INPUT', + /** The input combination is invalid. */ + InvalidInputCombination = 'INVALID_INPUT_COMBINATION', + /** Action cannot proceed. Definition is currently in use. */ + MetafieldDefinitionInUse = 'METAFIELD_DEFINITION_IN_USE', + /** You cannot change the metaobject definition pointed to by a metaobject reference metafield definition. */ + MetaobjectDefinitionChanged = 'METAOBJECT_DEFINITION_CHANGED', + /** The metafield definition wasn't found. */ + NotFound = 'NOT_FOUND', + /** You have reached the maximum allowed definitions for automated collections. */ + OwnerTypeLimitExceededForAutomatedCollections = 'OWNER_TYPE_LIMIT_EXCEEDED_FOR_AUTOMATED_COLLECTIONS', + /** The pinned limit has been reached for the owner type. */ + PinnedLimitReached = 'PINNED_LIMIT_REACHED', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The definition type is not eligible to be used as collection condition. */ + TypeNotAllowedForConditions = 'TYPE_NOT_ALLOWED_FOR_CONDITIONS' +} + +/** + * A configured metafield definition validation. + * + * For example, for a metafield definition of `number_integer` type, you can set a validation with the name `max` + * and a value of `15`. This validation will ensure that the value of the metafield is a number less than or equal to 15. + * + * Refer to the [list of supported validations](https://shopify.dev/api/admin/graphql/reference/common-objects/metafieldDefinitionTypes#examples-Fetch_all_metafield_definition_types). + */ +export type MetafieldDefinitionValidation = { + __typename?: 'MetafieldDefinitionValidation'; + /** The validation name. */ + name: Scalars['String']['output']; + /** The name for the metafield type of this validation. */ + type: Scalars['String']['output']; + /** The validation value. */ + value?: Maybe; +}; + +/** + * The name and value for a metafield definition validation. + * + * For example, for a metafield definition of `single_line_text_field` type, you can set a validation with the name `min` and a value of `10`. + * This validation will ensure that the value of the metafield is at least 10 characters. + * + * Refer to the [list of supported validations](https://shopify.dev/api/admin/graphql/reference/common-objects/metafieldDefinitionTypes#examples-Fetch_all_metafield_definition_types). + */ +export type MetafieldDefinitionValidationInput = { + /** The name for the metafield definition validation. */ + name: Scalars['String']['input']; + /** The value for the metafield definition validation. */ + value: Scalars['String']['input']; +}; + +/** Possible metafield definition validation statuses. */ +export enum MetafieldDefinitionValidationStatus { + /** All of this definition's metafields are valid. */ + AllValid = 'ALL_VALID', + /** Asynchronous validation of this definition's metafields is in progress. */ + InProgress = 'IN_PROGRESS', + /** Some of this definition's metafields are invalid. */ + SomeInvalid = 'SOME_INVALID' +} + +/** The input fields to delete a metafield. */ +export type MetafieldDeleteInput = { + /** The ID of the metafield to delete. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `metafieldDelete` mutation. */ +export type MetafieldDeletePayload = { + __typename?: 'MetafieldDeletePayload'; + /** The ID of the deleted metafield. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Metafield and a cursor during pagination. */ +export type MetafieldEdge = { + __typename?: 'MetafieldEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetafieldEdge. */ + node: Metafield; +}; + +/** Possible access levels for explicit metafield access grants. */ +export enum MetafieldGrantAccessLevel { + /** Read metafield access. */ + Read = 'READ', + /** Read and write metafield access. */ + ReadWrite = 'READ_WRITE' +} + +/** Identifies a metafield by its owner resource, namespace, and key. */ +export type MetafieldIdentifier = { + __typename?: 'MetafieldIdentifier'; + /** The key of the metafield. */ + key: Scalars['String']['output']; + /** The namespace of the metafield. */ + namespace: Scalars['String']['output']; + /** GID of the owner resource that the metafield belongs to. */ + ownerId: Scalars['ID']['output']; +}; + +/** The input fields that identify metafields. */ +export type MetafieldIdentifierInput = { + /** The key of the metafield. */ + key: Scalars['String']['input']; + /** The namespace of the metafield. */ + namespace: Scalars['String']['input']; + /** The unique ID of the resource that the metafield is attached to. */ + ownerId: Scalars['ID']['input']; +}; + +/** + * The input fields to use to create or update a metafield through a mutation on the owning resource. + * An alternative way to create or update a metafield is by using the + * [metafieldsSet](https://shopify.dev/api/admin-graphql/latest/mutations/metafieldsSet) mutation. + */ +export type MetafieldInput = { + /** + * The unique ID of the metafield. + * + * Required when updating a metafield, but shouldn't be included when creating as it's created automatically. + */ + id?: InputMaybe; + /** + * The unique identifier for a metafield within its namespace. + * + * Required when creating a metafield, but optional when updating. Used to help identify the metafield when + * updating, but can't be updated itself. + * + * Must be 3-64 characters long and can contain alphanumeric, hyphen, and underscore characters. + */ + key?: InputMaybe; + /** + * The container for a group of metafields that the metafield is or will be associated with. Used in tandem with + * `key` to lookup a metafield on a resource, preventing conflicts with other metafields with the same `key`. + * + * Required when creating a metafield, but optional when updating. Used to help identify the metafield when + * updating, but can't be updated itself. + * + * Must be 3-255 characters long and can contain alphanumeric, hyphen, and underscore characters. + */ + namespace?: InputMaybe; + /** + * The type of data that is stored in the metafield. + * Refer to the list of [supported types](https://shopify.dev/apps/metafields/types). + * + * Required when creating a metafield, but optional when updating. + */ + type?: InputMaybe; + /** The data stored in the metafield. Always stored as a string, regardless of the metafield's type. */ + value?: InputMaybe; +}; + +/** Possible types of a metafield's owner resource. */ +export enum MetafieldOwnerType { + /** The Api Permission metafield owner type. */ + ApiPermission = 'API_PERMISSION', + /** The Article metafield owner type. */ + Article = 'ARTICLE', + /** The Blog metafield owner type. */ + Blog = 'BLOG', + /** The Cart Transform metafield owner type. */ + Carttransform = 'CARTTRANSFORM', + /** The Collection metafield owner type. */ + Collection = 'COLLECTION', + /** The Company metafield owner type. */ + Company = 'COMPANY', + /** The Company Location metafield owner type. */ + CompanyLocation = 'COMPANY_LOCATION', + /** The Customer metafield owner type. */ + Customer = 'CUSTOMER', + /** The Delivery Customization metafield owner type. */ + DeliveryCustomization = 'DELIVERY_CUSTOMIZATION', + /** The Discount metafield owner type. */ + Discount = 'DISCOUNT', + /** The draft order metafield owner type. */ + Draftorder = 'DRAFTORDER', + /** The Fulfillment Constraint Rule metafield owner type. */ + FulfillmentConstraintRule = 'FULFILLMENT_CONSTRAINT_RULE', + /** The GiftCardTransaction metafield owner type. */ + GiftCardTransaction = 'GIFT_CARD_TRANSACTION', + /** The Location metafield owner type. */ + Location = 'LOCATION', + /** The Market metafield owner type. */ + Market = 'MARKET', + /** + * The Media Image metafield owner type. + * @deprecated `MEDIA_IMAGE` is deprecated. + */ + MediaImage = 'MEDIA_IMAGE', + /** The Order metafield owner type. */ + Order = 'ORDER', + /** The Order Routing Location Rule metafield owner type. */ + OrderRoutingLocationRule = 'ORDER_ROUTING_LOCATION_RULE', + /** The Page metafield owner type. */ + Page = 'PAGE', + /** The Payment Customization metafield owner type. */ + PaymentCustomization = 'PAYMENT_CUSTOMIZATION', + /** The Product metafield owner type. */ + Product = 'PRODUCT', + /** The Product Variant metafield owner type. */ + Productvariant = 'PRODUCTVARIANT', + /** The Selling Plan metafield owner type. */ + SellingPlan = 'SELLING_PLAN', + /** The Shop metafield owner type. */ + Shop = 'SHOP', + /** The Validation metafield owner type. */ + Validation = 'VALIDATION' +} + +/** The resource referenced by the metafield value. */ +export type MetafieldReference = Collection | Company | Customer | GenericFile | MediaImage | Metaobject | Model3d | Order | Page | Product | ProductVariant | TaxonomyValue | Video; + +/** An auto-generated type for paginating through multiple MetafieldReferences. */ +export type MetafieldReferenceConnection = { + __typename?: 'MetafieldReferenceConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetafieldReferenceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array>; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one MetafieldReference and a cursor during pagination. */ +export type MetafieldReferenceEdge = { + __typename?: 'MetafieldReferenceEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetafieldReferenceEdge. */ + node?: Maybe; +}; + +/** Types of resources that may use metafields to reference other resources. */ +export type MetafieldReferencer = AppInstallation | Article | Blog | Collection | Company | CompanyLocation | Customer | DeliveryCustomization | DiscountAutomaticNode | DiscountCodeNode | DiscountNode | DraftOrder | FulfillmentOrder | Location | Market | Metaobject | Order | Page | PaymentCustomization | Product | ProductVariant | Shop; + +/** + * Defines a relation between two resources via a reference metafield. + * The referencer owns the joining field with a given namespace and key, + * while the target is referenced by the field. + */ +export type MetafieldRelation = { + __typename?: 'MetafieldRelation'; + /** The key of the field making the reference. */ + key: Scalars['String']['output']; + /** The name of the field making the reference. */ + name: Scalars['String']['output']; + /** The namespace of the metafield making the reference, or type of the metaobject. */ + namespace: Scalars['String']['output']; + /** The resource making the reference. */ + referencer: MetafieldReferencer; + /** The referenced resource. */ + target: MetafieldReference; +}; + +/** An auto-generated type for paginating through multiple MetafieldRelations. */ +export type MetafieldRelationConnection = { + __typename?: 'MetafieldRelationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetafieldRelationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one MetafieldRelation and a cursor during pagination. */ +export type MetafieldRelationEdge = { + __typename?: 'MetafieldRelationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetafieldRelationEdge. */ + node: MetafieldRelation; +}; + +/** Defines how the metafields of a definition can be accessed in Storefront API surface areas, including Liquid and the GraphQL Storefront API. */ +export enum MetafieldStorefrontAccess { + /** Metafields are accessible in online store Liquid templates but not in the GraphQL Storefront API. This access level is deprecated and can not be set. */ + LegacyLiquidOnly = 'LEGACY_LIQUID_ONLY', + /** Metafields are not accessible in any Storefront API surface area. */ + None = 'NONE', + /** Metafields are accessible in the GraphQL Storefront API and online store Liquid templates. */ + PublicRead = 'PUBLIC_READ' +} + +/** + * The possible values for setting metafield storefront access. + * Storefront accesss governs both Liquid and the GraphQL Storefront API. + */ +export enum MetafieldStorefrontAccessInput { + /** Metafields are not accessible in any Storefront API surface area. */ + None = 'NONE', + /** Metafields are accessible in the GraphQL Storefront API and online store Liquid templates. */ + PublicRead = 'PUBLIC_READ' +} + +/** + * By default, the Storefront API can't read metafields. To make specific metafields visible in the Storefront API, + * you need to create a `MetafieldStorefrontVisibility` record. A `MetafieldStorefrontVisibility` record is a list + * of the metafields, defined by the `owner_type`, `namespace`, and `key`, to make visible in the Storefront API. + * + * Learn about [exposing metafields in the Storefront API] + * (https://shopify.dev/custom-storefronts/products-collections/metafields) + * for more details. + */ +export type MetafieldStorefrontVisibility = LegacyInteroperability & Node & { + __typename?: 'MetafieldStorefrontVisibility'; + /** The date and time when the metafield was set to visible in the Storefront API. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The key of a metafield to make visible in the Storefront API. */ + key: Scalars['String']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The namespace of a metafield to make visible in the Storefront API. */ + namespace: Scalars['String']['output']; + /** The owner type of a metafield to make visible in the Storefront API. */ + ownerType: MetafieldOwnerType; + /** The date and time when the `MetafieldStorefrontVisilibty` record was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple MetafieldStorefrontVisibilities. */ +export type MetafieldStorefrontVisibilityConnection = { + __typename?: 'MetafieldStorefrontVisibilityConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetafieldStorefrontVisibilityEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `metafieldStorefrontVisibilityCreate` mutation. */ +export type MetafieldStorefrontVisibilityCreatePayload = { + __typename?: 'MetafieldStorefrontVisibilityCreatePayload'; + /** The `MetafieldStorefrontVisibility` that was created. */ + metafieldStorefrontVisibility?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `metafieldStorefrontVisibilityDelete` mutation. */ +export type MetafieldStorefrontVisibilityDeletePayload = { + __typename?: 'MetafieldStorefrontVisibilityDeletePayload'; + /** The ID of the deleted `MetafieldStorefrontVisibility` record. */ + deletedMetafieldStorefrontVisibilityId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one MetafieldStorefrontVisibility and a cursor during pagination. */ +export type MetafieldStorefrontVisibilityEdge = { + __typename?: 'MetafieldStorefrontVisibilityEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetafieldStorefrontVisibilityEdge. */ + node: MetafieldStorefrontVisibility; +}; + +/** The input fields to create a MetafieldStorefrontVisibility record. */ +export type MetafieldStorefrontVisibilityInput = { + /** The key of a metafield to make visible in the Storefront API. */ + key: Scalars['String']['input']; + /** The namespace of a metafield to make visible in the Storefront API. If omitted the app reserved namespace will be used. */ + namespace?: InputMaybe; + /** The owner type of a metafield to make visible in the Storefront API. */ + ownerType: MetafieldOwnerType; +}; + +/** Possible metafield validation statuses. */ +export enum MetafieldValidationStatus { + /** Any validation status (valid or invalid). */ + Any = 'ANY', + /** Invalid (according to definition). */ + Invalid = 'INVALID', + /** Valid (according to definition). */ + Valid = 'VALID' +} + +/** + * Legacy type information for the stored value. + * Replaced by `type`. + */ +export enum MetafieldValueType { + /** A `true` or `false` value. */ + Boolean = 'BOOLEAN', + /** A whole number. */ + Integer = 'INTEGER', + /** A JSON string. */ + JsonString = 'JSON_STRING', + /** A text field. */ + String = 'STRING' +} + +/** Return type for `metafieldsDelete` mutation. */ +export type MetafieldsDeletePayload = { + __typename?: 'MetafieldsDeletePayload'; + /** List of metafield identifiers that were deleted, null if the corresponding metafield isn't found. */ + deletedMetafields?: Maybe>>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for a metafield value to set. */ +export type MetafieldsSetInput = { + /** The `compareDigest` value obtained from a previous query. Provide this with updates to ensure the metafield is modified safely. */ + compareDigest?: InputMaybe; + /** + * The unique identifier for a metafield within its namespace. + * + * Must be 3-64 characters long and can contain alphanumeric, hyphen, and underscore characters. + */ + key: Scalars['String']['input']; + /** + * The container for a group of metafields that the metafield is or will be associated with. Used in tandem + * with `key` to lookup a metafield on a resource, preventing conflicts with other metafields with the + * same `key`. If omitted the app-reserved namespace will be used. + * + * Must be 3-255 characters long and can contain alphanumeric, hyphen, and underscore characters. + */ + namespace?: InputMaybe; + /** The unique ID of the resource that the metafield is attached to. */ + ownerId: Scalars['ID']['input']; + /** + * The type of data that is stored in the metafield. + * The type must be one of the [supported types](https://shopify.dev/apps/metafields/types). + * + * Required when there is no corresponding definition for the given `namespace`, `key`, and + * owner resource type (derived from `ownerId`). + */ + type?: InputMaybe; + /** The data stored in the metafield. Always stored as a string, regardless of the metafield's type. */ + value: Scalars['String']['input']; +}; + +/** Return type for `metafieldsSet` mutation. */ +export type MetafieldsSetPayload = { + __typename?: 'MetafieldsSetPayload'; + /** The list of metafields that were set. */ + metafields?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `MetafieldsSet`. */ +export type MetafieldsSetUserError = DisplayableError & { + __typename?: 'MetafieldsSetUserError'; + /** The error code. */ + code?: Maybe; + /** The index of the array element that's causing the error. */ + elementIndex?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MetafieldsSetUserError`. */ +export enum MetafieldsSetUserErrorCode { + /** ApiPermission metafields can only be created or updated by the app owner. */ + AppNotAuthorized = 'APP_NOT_AUTHORIZED', + /** The input value is blank. */ + Blank = 'BLANK', + /** The metafield violates a capability restriction. */ + CapabilityViolation = 'CAPABILITY_VIOLATION', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The compareDigest is invalid. */ + InvalidCompareDigest = 'INVALID_COMPARE_DIGEST', + /** The type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The value is invalid for the metafield type or for the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** The input value should be less than or equal to the maximum value allowed. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The metafield has been modified since it was loaded. */ + StaleObject = 'STALE_OBJECT', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT' +} + +/** Provides an object instance represented by a MetaobjectDefinition. */ +export type Metaobject = Node & { + __typename?: 'Metaobject'; + /** Metaobject capabilities for this Metaobject. */ + capabilities: MetaobjectCapabilityData; + /** The app used to create the object. */ + createdBy: App; + /** The app used to create the object. */ + createdByApp: App; + /** The staff member who created the metaobject. */ + createdByStaff?: Maybe; + /** The MetaobjectDefinition that models this object type. */ + definition: MetaobjectDefinition; + /** The preferred display name field value of the metaobject. */ + displayName: Scalars['String']['output']; + /** The field for an object key, or null if the key has no field definition. */ + field?: Maybe; + /** All ordered fields of the metaobject with their definitions and values. */ + fields: Array; + /** The unique handle of the object, useful as a custom ID. */ + handle: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** List of back references metafields that belong to the resource. */ + referencedBy: MetafieldRelationConnection; + /** + * The staff member who created the metaobject. + * @deprecated Use `createdByStaff` instead. + */ + staffMember?: Maybe; + /** The recommended field to visually represent this metaobject. May be a file reference or color field. */ + thumbnailField?: Maybe; + /** The type of the metaobject. */ + type: Scalars['String']['output']; + /** When the object was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** Provides an object instance represented by a MetaobjectDefinition. */ +export type MetaobjectFieldArgs = { + key: Scalars['String']['input']; +}; + + +/** Provides an object instance represented by a MetaobjectDefinition. */ +export type MetaobjectReferencedByArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Provides metaobject definition's access configuration. */ +export type MetaobjectAccess = { + __typename?: 'MetaobjectAccess'; + /** Access configuration for Admin API surface areas, including the GraphQL Admin API. */ + admin: MetaobjectAdminAccess; + /** Access configuration for Storefront surface areas, including the GraphQL Storefront API and Liquid. */ + storefront: MetaobjectStorefrontAccess; +}; + +/** The input fields for configuring metaobject access controls. */ +export type MetaobjectAccessInput = { + /** Access configuration for Admin API surface areas, including the GraphQL Admin API. */ + admin?: InputMaybe; + /** Access configuration for Storefront API surface areas, including the GraphQL Storefront API and Liquid. */ + storefront?: InputMaybe; +}; + +/** Defines how the metaobjects of a definition can be accessed in admin API surface areas. */ +export enum MetaobjectAdminAccess { + /** + * Applications that act on behalf of merchants can read metaobjects. + * Only the owning application can write metaobjects. + */ + MerchantRead = 'MERCHANT_READ', + /** + * The owning application, as well as applications that act on behalf of merchants can read and write metaobjects. + * No other applications can read or write metaobjects. + */ + MerchantReadWrite = 'MERCHANT_READ_WRITE', + /** Only the application that owns a metaobject can read and write to it. */ + Private = 'PRIVATE', + /** + * All applications with the `metaobjects` access scope can read metaobjects. + * Only the owning application can write metaobjects. + */ + PublicRead = 'PUBLIC_READ', + /** All applications with the `metaobjects` access scope can read and write metaobjects. */ + PublicReadWrite = 'PUBLIC_READ_WRITE' +} + +/** Return type for `metaobjectBulkDelete` mutation. */ +export type MetaobjectBulkDeletePayload = { + __typename?: 'MetaobjectBulkDeletePayload'; + /** The asynchronous job that deletes the metaobjects. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * Specifies the condition by which metaobjects are deleted. + * Exactly one field of input is required. + */ +export type MetaobjectBulkDeleteWhereCondition = { + /** A list of metaobjects IDs to delete. */ + ids?: InputMaybe>; + /** Deletes all metaobjects with the specified `type`. */ + type?: InputMaybe; +}; + +/** Provides the capabilities of a metaobject definition. */ +export type MetaobjectCapabilities = { + __typename?: 'MetaobjectCapabilities'; + /** Indicates whether a metaobject definition can be displayed as a page on the Online Store. */ + onlineStore?: Maybe; + /** Indicate whether a metaobject definition is publishable. */ + publishable: MetaobjectCapabilitiesPublishable; + /** Indicate whether a metaobject definition is renderable and exposes SEO data. */ + renderable?: Maybe; + /** Indicate whether a metaobject definition is translatable. */ + translatable: MetaobjectCapabilitiesTranslatable; +}; + +/** The Online Store capability of a metaobject definition. */ +export type MetaobjectCapabilitiesOnlineStore = { + __typename?: 'MetaobjectCapabilitiesOnlineStore'; + /** The data associated with the Online Store capability. */ + data?: Maybe; + /** Indicates if the capability is enabled. */ + enabled: Scalars['Boolean']['output']; +}; + +/** The publishable capability of a metaobject definition. */ +export type MetaobjectCapabilitiesPublishable = { + __typename?: 'MetaobjectCapabilitiesPublishable'; + /** Indicates if the capability is enabled. */ + enabled: Scalars['Boolean']['output']; +}; + +/** The renderable capability of a metaobject definition. */ +export type MetaobjectCapabilitiesRenderable = { + __typename?: 'MetaobjectCapabilitiesRenderable'; + /** The data associated with the renderable capability. */ + data?: Maybe; + /** Indicates if the capability is enabled. */ + enabled: Scalars['Boolean']['output']; +}; + +/** The translatable capability of a metaobject definition. */ +export type MetaobjectCapabilitiesTranslatable = { + __typename?: 'MetaobjectCapabilitiesTranslatable'; + /** Indicates if the capability is enabled. */ + enabled: Scalars['Boolean']['output']; +}; + +/** The input fields for creating a metaobject capability. */ +export type MetaobjectCapabilityCreateInput = { + /** The input for enabling the Online Store capability. */ + onlineStore?: InputMaybe; + /** The input for enabling the publishable capability. */ + publishable?: InputMaybe; + /** The input for enabling the renderable capability. */ + renderable?: InputMaybe; + /** The input for enabling the translatable capability. */ + translatable?: InputMaybe; +}; + +/** Provides the capabilities of a metaobject. */ +export type MetaobjectCapabilityData = { + __typename?: 'MetaobjectCapabilityData'; + /** The Online Store capability for this metaobject. */ + onlineStore?: Maybe; + /** The publishable capability for this metaobject. */ + publishable?: Maybe; +}; + +/** The input fields for metaobject capabilities. */ +export type MetaobjectCapabilityDataInput = { + /** Online Store capability input. */ + onlineStore?: InputMaybe; + /** Publishable capability input. */ + publishable?: InputMaybe; +}; + +/** The Online Store capability for the parent metaobject. */ +export type MetaobjectCapabilityDataOnlineStore = { + __typename?: 'MetaobjectCapabilityDataOnlineStore'; + /** The theme template used when viewing the metaobject in a store. */ + templateSuffix?: Maybe; +}; + +/** The input fields for the Online Store capability to control renderability on the Online Store. */ +export type MetaobjectCapabilityDataOnlineStoreInput = { + /** The theme template used when viewing the metaobject in a store. */ + templateSuffix?: InputMaybe; +}; + +/** The publishable capability for the parent metaobject. */ +export type MetaobjectCapabilityDataPublishable = { + __typename?: 'MetaobjectCapabilityDataPublishable'; + /** The visibility status of this metaobject across all channels. */ + status: MetaobjectStatus; +}; + +/** The input fields for publishable capability to adjust visibility on channels. */ +export type MetaobjectCapabilityDataPublishableInput = { + /** The visibility status of this metaobject across all channels. */ + status: MetaobjectStatus; +}; + +/** The Online Store capability data for the metaobject definition. */ +export type MetaobjectCapabilityDefinitionDataOnlineStore = { + __typename?: 'MetaobjectCapabilityDefinitionDataOnlineStore'; + /** Flag indicating if a sufficient number of redirects are available to redirect all published entries. */ + canCreateRedirects: Scalars['Boolean']['output']; + /** The URL handle for accessing pages of this metaobject type in the Online Store. */ + urlHandle: Scalars['String']['output']; +}; + +/** The input fields of the Online Store capability. */ +export type MetaobjectCapabilityDefinitionDataOnlineStoreInput = { + /** Whether to redirect published metaobjects automatically when the URL handle changes. */ + createRedirects?: InputMaybe; + /** The URL handle for accessing pages of this metaobject type in the Online Store. */ + urlHandle: Scalars['String']['input']; +}; + +/** The renderable capability data for the metaobject definition. */ +export type MetaobjectCapabilityDefinitionDataRenderable = { + __typename?: 'MetaobjectCapabilityDefinitionDataRenderable'; + /** The metaobject field used as an alias for the SEO page description. */ + metaDescriptionKey?: Maybe; + /** The metaobject field used as an alias for the SEO page title. */ + metaTitleKey?: Maybe; +}; + +/** The input fields of the renderable capability for SEO aliases. */ +export type MetaobjectCapabilityDefinitionDataRenderableInput = { + /** The metaobject field used as an alias for the SEO page description. */ + metaDescriptionKey?: InputMaybe; + /** The metaobject field used as an alias for the SEO page title. */ + metaTitleKey?: InputMaybe; +}; + +/** The input fields for enabling and disabling the Online Store capability. */ +export type MetaobjectCapabilityOnlineStoreInput = { + /** The data associated with the Online Store capability. */ + data?: InputMaybe; + /** Indicates whether the capability should be enabled or disabled. */ + enabled: Scalars['Boolean']['input']; +}; + +/** The input fields for enabling and disabling the publishable capability. */ +export type MetaobjectCapabilityPublishableInput = { + /** Indicates whether the capability should be enabled or disabled. */ + enabled: Scalars['Boolean']['input']; +}; + +/** The input fields for enabling and disabling the renderable capability. */ +export type MetaobjectCapabilityRenderableInput = { + /** The data associated with the renderable capability. */ + data?: InputMaybe; + /** Indicates whether the capability should be enabled or disabled. */ + enabled: Scalars['Boolean']['input']; +}; + +/** The input fields for enabling and disabling the translatable capability. */ +export type MetaobjectCapabilityTranslatableInput = { + /** Indicates whether the capability should be enabled or disabled. */ + enabled: Scalars['Boolean']['input']; +}; + +/** The input fields for updating a metaobject capability. */ +export type MetaobjectCapabilityUpdateInput = { + /** The input for enabling the Online Store capability. */ + onlineStore?: InputMaybe; + /** The input for updating the publishable capability. */ + publishable?: InputMaybe; + /** The input for enabling the renderable capability. */ + renderable?: InputMaybe; + /** The input for updating the translatable capability. */ + translatable?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Metaobjects. */ +export type MetaobjectConnection = { + __typename?: 'MetaobjectConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetaobjectEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for creating a metaobject. */ +export type MetaobjectCreateInput = { + /** Capabilities for the metaobject. */ + capabilities?: InputMaybe; + /** Values for fields. These are mapped by key to fields of the metaobject definition. */ + fields?: InputMaybe>; + /** A unique handle for the metaobject. This value is auto-generated when omitted. */ + handle?: InputMaybe; + /** The type of the metaobject. Must match an existing metaobject definition type. */ + type: Scalars['String']['input']; +}; + +/** Return type for `metaobjectCreate` mutation. */ +export type MetaobjectCreatePayload = { + __typename?: 'MetaobjectCreatePayload'; + /** The created metaobject. */ + metaobject?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Provides the definition of a generic object structure composed of metafields. */ +export type MetaobjectDefinition = Node & { + __typename?: 'MetaobjectDefinition'; + /** Access configuration for the metaobject definition. */ + access: MetaobjectAccess; + /** The capabilities of the metaobject definition. */ + capabilities: MetaobjectCapabilities; + /** The app used to create the metaobject definition. */ + createdByApp: App; + /** The staff member who created the metaobject definition. */ + createdByStaff?: Maybe; + /** The administrative description. */ + description?: Maybe; + /** The key of a field to reference as the display name for each object. */ + displayNameKey?: Maybe; + /** The fields defined for this object type. */ + fieldDefinitions: Array; + /** Whether this metaobject definition has field whose type can visually represent a metaobject with the `thumbnailField`. */ + hasThumbnailField: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** A paginated connection to the metaobjects associated with the definition. */ + metaobjects: MetaobjectConnection; + /** The count of metaobjects created for the definition. */ + metaobjectsCount: Scalars['Int']['output']; + /** The human-readable name. */ + name: Scalars['String']['output']; + /** The type of the object definition. Defines the namespace of associated metafields. */ + type: Scalars['String']['output']; +}; + + +/** Provides the definition of a generic object structure composed of metafields. */ +export type MetaobjectDefinitionMetaobjectsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple MetaobjectDefinitions. */ +export type MetaobjectDefinitionConnection = { + __typename?: 'MetaobjectDefinitionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MetaobjectDefinitionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for creating a metaobject definition. */ +export type MetaobjectDefinitionCreateInput = { + /** Access configuration for the metaobjects created with this definition. */ + access?: InputMaybe; + /** The capabilities of the metaobject definition. */ + capabilities?: InputMaybe; + /** An administrative description of the definition. */ + description?: InputMaybe; + /** The key of a field to reference as the display name for metaobjects of this type. */ + displayNameKey?: InputMaybe; + /** A set of field definitions to create on this metaobject definition. */ + fieldDefinitions: Array; + /** A human-readable name for the definition. This can be changed at any time. */ + name?: InputMaybe; + /** + * The type of the metaobject definition. This can't be changed. + * + * Must be 3-255 characters long and only contain alphanumeric, hyphen, and underscore characters. + */ + type: Scalars['String']['input']; +}; + +/** Return type for `metaobjectDefinitionCreate` mutation. */ +export type MetaobjectDefinitionCreatePayload = { + __typename?: 'MetaobjectDefinitionCreatePayload'; + /** The created metaobject definition. */ + metaobjectDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `metaobjectDefinitionDelete` mutation. */ +export type MetaobjectDefinitionDeletePayload = { + __typename?: 'MetaobjectDefinitionDeletePayload'; + /** The ID of the deleted metaobjects definition. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one MetaobjectDefinition and a cursor during pagination. */ +export type MetaobjectDefinitionEdge = { + __typename?: 'MetaobjectDefinitionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetaobjectDefinitionEdge. */ + node: MetaobjectDefinition; +}; + +/** The input fields for updating a metaobject definition. */ +export type MetaobjectDefinitionUpdateInput = { + /** Access configuration for the metaobjects created with this definition. */ + access?: InputMaybe; + /** The capabilities of the metaobject definition. */ + capabilities?: InputMaybe; + /** An administrative description of the definition. */ + description?: InputMaybe; + /** The key of a metafield to reference as the display name for objects of this type. */ + displayNameKey?: InputMaybe; + /** A set of operations for modifying field definitions. */ + fieldDefinitions?: InputMaybe>; + /** A human-readable name for the definition. */ + name?: InputMaybe; + /** + * Whether the field order should be reset while updating. + * If `true`, then the order is assigned based on submitted fields followed by alphabetized field omissions. + * If `false`, then no changes are made to the existing field order and new fields are appended at the end. + */ + resetFieldOrder?: InputMaybe; +}; + +/** Return type for `metaobjectDefinitionUpdate` mutation. */ +export type MetaobjectDefinitionUpdatePayload = { + __typename?: 'MetaobjectDefinitionUpdatePayload'; + /** The updated metaobject definition. */ + metaobjectDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `metaobjectDelete` mutation. */ +export type MetaobjectDeletePayload = { + __typename?: 'MetaobjectDeletePayload'; + /** The ID of the deleted metaobject. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Metaobject and a cursor during pagination. */ +export type MetaobjectEdge = { + __typename?: 'MetaobjectEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MetaobjectEdge. */ + node: Metaobject; +}; + +/** Provides a field definition and the data value assigned to it. */ +export type MetaobjectField = { + __typename?: 'MetaobjectField'; + /** The field definition for this object key. */ + definition: MetaobjectFieldDefinition; + /** The assigned field value in JSON format. */ + jsonValue?: Maybe; + /** The object key of this field. */ + key: Scalars['String']['output']; + /** For resource reference fields, provides the referenced object. */ + reference?: Maybe; + /** For resource reference list fields, provides the list of referenced objects. */ + references?: Maybe; + /** For file reference or color fields, provides visual attributes for this field. */ + thumbnail?: Maybe; + /** The type of the field. */ + type: Scalars['String']['output']; + /** The assigned field value, always stored as a string regardless of the field type. */ + value?: Maybe; +}; + + +/** Provides a field definition and the data value assigned to it. */ +export type MetaobjectFieldReferencesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** + * Defines a field for a MetaobjectDefinition with properties + * such as the field's data type and validations. + */ +export type MetaobjectFieldDefinition = { + __typename?: 'MetaobjectFieldDefinition'; + /** The administrative description. */ + description?: Maybe; + /** A key name used to identify the field within the metaobject composition. */ + key: Scalars['String']['output']; + /** The human-readable name. */ + name: Scalars['String']['output']; + /** Required status of the field within the metaobject composition. */ + required: Scalars['Boolean']['output']; + /** The type of data that the field stores. */ + type: MetafieldDefinitionType; + /** + * A list of [validation options](https://shopify.dev/apps/metafields/definitions/validation) for + * the field. For example, a field with the type `date` can set a minimum date requirement. + */ + validations: Array; +}; + +/** The input fields for creating a metaobject field definition. */ +export type MetaobjectFieldDefinitionCreateInput = { + /** An administrative description of the field. */ + description?: InputMaybe; + /** + * The key of the new field definition. This can't be changed. + * + * Must be 3-64 characters long and only contain alphanumeric, hyphen, and underscore characters. + */ + key: Scalars['String']['input']; + /** A human-readable name for the field. This can be changed at any time. */ + name?: InputMaybe; + /** Whether metaobjects require a saved value for the field. */ + required?: InputMaybe; + /** The metafield type applied to values of the field. */ + type: Scalars['String']['input']; + /** Custom validations that apply to values assigned to the field. */ + validations?: InputMaybe>; +}; + +/** The input fields for deleting a metaobject field definition. */ +export type MetaobjectFieldDefinitionDeleteInput = { + /** The key of the field definition to delete. */ + key: Scalars['String']['input']; +}; + +/** The input fields for possible operations for modifying field definitions. Exactly one option is required. */ +export type MetaobjectFieldDefinitionOperationInput = { + /** The input fields for creating a metaobject field definition. */ + create?: InputMaybe; + /** The input fields for deleting a metaobject field definition. */ + delete?: InputMaybe; + /** The input fields for updating a metaobject field definition. */ + update?: InputMaybe; +}; + +/** The input fields for updating a metaobject field definition. */ +export type MetaobjectFieldDefinitionUpdateInput = { + /** An administrative description of the field. */ + description?: InputMaybe; + /** The key of the field definition to update. */ + key: Scalars['String']['input']; + /** A human-readable name for the field. */ + name?: InputMaybe; + /** Whether metaobjects require a saved value for the field. */ + required?: InputMaybe; + /** Custom validations that apply to values assigned to the field. */ + validations?: InputMaybe>; +}; + +/** The input fields for a metaobject field value. */ +export type MetaobjectFieldInput = { + /** The key of the field. */ + key: Scalars['String']['input']; + /** The value of the field. */ + value: Scalars['String']['input']; +}; + +/** The input fields for retrieving a metaobject by handle. */ +export type MetaobjectHandleInput = { + /** The handle of the metaobject to create or update. */ + handle: Scalars['String']['input']; + /** The type of the metaobject. Must match an existing metaobject definition type. */ + type: Scalars['String']['input']; +}; + +/** Defines visibility status for metaobjects. */ +export enum MetaobjectStatus { + /** The metaobjects is active for public use. */ + Active = 'ACTIVE', + /** The metaobjects is an internal record. */ + Draft = 'DRAFT' +} + +/** Defines how the metaobjects of a definition can be accessed in Storefront API surface areas, including Liquid and the GraphQL Storefront API. */ +export enum MetaobjectStorefrontAccess { + /** Metaobjects are not accessible in any Storefront API surface area. */ + None = 'NONE', + /** + * Metaobjects are accessible in the GraphQL Storefront API by any application with the `unauthenticated_read_metaobjects` access scope. + * Metaobjects are accessible in online store Liquid templates. + */ + PublicRead = 'PUBLIC_READ' +} + +/** Provides attributes for visual representation. */ +export type MetaobjectThumbnail = { + __typename?: 'MetaobjectThumbnail'; + /** The file to be used for visual representation of this metaobject. */ + file?: Maybe; + /** The hexadecimal color code to be used for respresenting this metaobject. */ + hex?: Maybe; +}; + +/** The input fields for updating a metaobject. */ +export type MetaobjectUpdateInput = { + /** Capabilities for the metaobject. */ + capabilities?: InputMaybe; + /** Values for fields. These are mapped by key to fields of the metaobject definition. */ + fields?: InputMaybe>; + /** A unique handle for the metaobject. */ + handle?: InputMaybe; + /** Whether to create a redirect for the metaobject. */ + redirectNewHandle?: InputMaybe; +}; + +/** Return type for `metaobjectUpdate` mutation. */ +export type MetaobjectUpdatePayload = { + __typename?: 'MetaobjectUpdatePayload'; + /** The updated metaobject. */ + metaobject?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for upserting a metaobject. */ +export type MetaobjectUpsertInput = { + /** Capabilities for the metaobject. */ + capabilities?: InputMaybe; + /** Values for fields. These are mapped by key to fields of the metaobject definition. */ + fields?: InputMaybe>; + /** The handle of the metaobject. */ + handle?: InputMaybe; +}; + +/** Return type for `metaobjectUpsert` mutation. */ +export type MetaobjectUpsertPayload = { + __typename?: 'MetaobjectUpsertPayload'; + /** The created or updated metaobject. */ + metaobject?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Defines errors encountered while managing metaobject resources. */ +export type MetaobjectUserError = DisplayableError & { + __typename?: 'MetaobjectUserError'; + /** The error code. */ + code?: Maybe; + /** The index of the failing list element in an array. */ + elementIndex?: Maybe; + /** The key of the failing object element. */ + elementKey?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MetaobjectUserError`. */ +export enum MetaobjectUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** The capability you are using is not enabled. */ + CapabilityNotEnabled = 'CAPABILITY_NOT_ENABLED', + /** The display name cannot be the same when using the metaobject as a product option. */ + DisplayNameConflict = 'DISPLAY_NAME_CONFLICT', + /** Duplicate inputs were provided for this field key. */ + DuplicateFieldInput = 'DUPLICATE_FIELD_INPUT', + /** Renderable data input is referencing an invalid field. */ + FieldTypeInvalid = 'FIELD_TYPE_INVALID', + /** The targeted object cannot be modified. */ + Immutable = 'IMMUTABLE', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** An unexpected error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The value for the metafield definition option was invalid. */ + InvalidOption = 'INVALID_OPTION', + /** The metafield type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The value is invalid for the metafield type or the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** The maximum number of metaobjects definitions has been exceeded. */ + MaxDefinitionsExceeded = 'MAX_DEFINITIONS_EXCEEDED', + /** The maximum number of metaobjects per shop has been exceeded. */ + MaxObjectsExceeded = 'MAX_OBJECTS_EXCEEDED', + /** The input is missing required keys. */ + MissingRequiredKeys = 'MISSING_REQUIRED_KEYS', + /** Not authorized. */ + NotAuthorized = 'NOT_AUTHORIZED', + /** Missing required fields were found for this object. */ + ObjectFieldRequired = 'OBJECT_FIELD_REQUIRED', + /** The specified field key is already in use. */ + ObjectFieldTaken = 'OBJECT_FIELD_TAKEN', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The requested record couldn't be found. */ + RecordNotFound = 'RECORD_NOT_FOUND', + /** The provided name is reserved for system use. */ + ReservedName = 'RESERVED_NAME', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** No field definition found for this key. */ + UndefinedObjectField = 'UNDEFINED_OBJECT_FIELD', + /** No metaobject definition found for this type. */ + UndefinedObjectType = 'UNDEFINED_OBJECT_TYPE', + /** The Online Store URL handle cannot be blank. */ + UrlHandleBlank = 'URL_HANDLE_BLANK', + /** The Online Store URL handle is invalid. */ + UrlHandleInvalid = 'URL_HANDLE_INVALID', + /** The Online Store URL handle is already taken. */ + UrlHandleTaken = 'URL_HANDLE_TAKEN' +} + +/** The set of valid sort keys for the MethodDefinition query. */ +export enum MethodDefinitionSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `rate_provider_type` value. */ + RateProviderType = 'RATE_PROVIDER_TYPE', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** + * You can use the `MobilePlatformApplication` resource to enable + * [shared web credentials](https://developer.apple.com/documentation/security/shared_web_credentials) for Shopify iOS apps, + * as well as to create [iOS universal link](https://developer.apple.com/ios/universal-links/) + * or [Android app link](https://developer.android.com/training/app-links/) verification endpoints for merchant Shopify iOS or Android apps. + * Shared web credentials let iOS users access a native app after logging into the respective website in Safari without re-entering + * their username and password. If a user changes their credentials in the app, then those changes are reflected in Safari. + * You must use a custom domain to integrate shared web credentials with Shopify. With each platform's link system, + * users can tap a link to a shop's website and get seamlessly redirected to a merchant's installed app without going + * through a browser or manually selecting an app. + * + * For full configuration instructions on iOS shared web credentials, + * see the [associated domains setup](https://developer.apple.com/documentation/security/password_autofill/setting_up_an_app_s_associated_domains) technical documentation. + * + * For full configuration instructions on iOS universal links or Android App Links, + * see the respective [iOS universal link](https://developer.apple.com/documentation/uikit/core_app/allowing_apps_and_websites_to_link_to_your_content) + * or [Android app link](https://developer.android.com/training/app-links) technical documentation. + */ +export type MobilePlatformApplication = AndroidApplication | AppleApplication; + +/** An auto-generated type for paginating through multiple MobilePlatformApplications. */ +export type MobilePlatformApplicationConnection = { + __typename?: 'MobilePlatformApplicationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in MobilePlatformApplicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for an Android based mobile platform application. */ +export type MobilePlatformApplicationCreateAndroidInput = { + /** Whether Android App Links are supported by this app. */ + appLinksEnabled: Scalars['Boolean']['input']; + /** Android application ID. */ + applicationId?: InputMaybe; + /** The SHA256 fingerprints of the app’s signing certificate. */ + sha256CertFingerprints: Array; +}; + +/** The input fields for an Apple based mobile platform application. */ +export type MobilePlatformApplicationCreateAppleInput = { + /** The Apple app clip application ID. */ + appClipApplicationId?: InputMaybe; + /** Whether Apple app clips are enabled for this app. */ + appClipsEnabled?: InputMaybe; + /** Apple application ID. */ + appId?: InputMaybe; + /** Whether Apple shared web credentials are enabled for this app. */ + sharedWebCredentialsEnabled: Scalars['Boolean']['input']; + /** Whether Apple Universal Links are supported by this app. */ + universalLinksEnabled: Scalars['Boolean']['input']; +}; + +/** The input fields for a mobile application platform type. */ +export type MobilePlatformApplicationCreateInput = { + /** Android based mobile platform application. */ + android?: InputMaybe; + /** Apple based mobile platform application. */ + apple?: InputMaybe; +}; + +/** Return type for `mobilePlatformApplicationCreate` mutation. */ +export type MobilePlatformApplicationCreatePayload = { + __typename?: 'MobilePlatformApplicationCreatePayload'; + /** Created mobile platform application. */ + mobilePlatformApplication?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `mobilePlatformApplicationDelete` mutation. */ +export type MobilePlatformApplicationDeletePayload = { + __typename?: 'MobilePlatformApplicationDeletePayload'; + /** The ID of the mobile platform application that was just deleted. */ + deletedMobilePlatformApplicationId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one MobilePlatformApplication and a cursor during pagination. */ +export type MobilePlatformApplicationEdge = { + __typename?: 'MobilePlatformApplicationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of MobilePlatformApplicationEdge. */ + node: MobilePlatformApplication; +}; + +/** The input fields for an Android based mobile platform application. */ +export type MobilePlatformApplicationUpdateAndroidInput = { + /** Whether Android App Links are supported by this app. */ + appLinksEnabled?: InputMaybe; + /** Android application ID. */ + applicationId?: InputMaybe; + /** The SHA256 fingerprints of the app’s signing certificate. */ + sha256CertFingerprints?: InputMaybe>; +}; + +/** The input fields for an Apple based mobile platform application. */ +export type MobilePlatformApplicationUpdateAppleInput = { + /** The Apple App Clip application ID. */ + appClipApplicationId?: InputMaybe; + /** Whether Apple App Clips are enabled for this app. */ + appClipsEnabled?: InputMaybe; + /** Apple application ID. */ + appId?: InputMaybe; + /** Whether Apple shared web credentials are enabled for this app. */ + sharedWebCredentialsEnabled?: InputMaybe; + /** Whether Apple Universal Links are supported by this app. */ + universalLinksEnabled?: InputMaybe; +}; + +/** The input fields for the mobile platform application platform type. */ +export type MobilePlatformApplicationUpdateInput = { + /** Android based Mobile Platform Application. */ + android?: InputMaybe; + /** Apple based Mobile Platform Application. */ + apple?: InputMaybe; +}; + +/** Return type for `mobilePlatformApplicationUpdate` mutation. */ +export type MobilePlatformApplicationUpdatePayload = { + __typename?: 'MobilePlatformApplicationUpdatePayload'; + /** Created mobile platform application. */ + mobilePlatformApplication?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents an error in the input of a mutation. */ +export type MobilePlatformApplicationUserError = DisplayableError & { + __typename?: 'MobilePlatformApplicationUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `MobilePlatformApplicationUserError`. */ +export enum MobilePlatformApplicationUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** Represents a Shopify hosted 3D model. */ +export type Model3d = File & Media & Node & { + __typename?: 'Model3d'; + /** A word or phrase to describe the contents or the function of a file. */ + alt?: Maybe; + /** The 3d model's bounding box information. */ + boundingBox?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created. */ + createdAt: Scalars['DateTime']['output']; + /** Any errors that have occurred on the file. */ + fileErrors: Array; + /** The status of the file. */ + fileStatus: FileStatus; + /** The 3d model's filename. */ + filename: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The media content type. */ + mediaContentType: MediaContentType; + /** Any errors which have occurred on the media. */ + mediaErrors: Array; + /** The warnings attached to the media. */ + mediaWarnings: Array; + /** The 3d model's original source. */ + originalSource?: Maybe; + /** The preview image for the media. */ + preview?: Maybe; + /** The 3d model's sources. */ + sources: Array; + /** Current status of the media. */ + status: MediaStatus; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** Bounding box information of a 3d model. */ +export type Model3dBoundingBox = { + __typename?: 'Model3dBoundingBox'; + /** Size in meters of the smallest volume which contains the 3d model. */ + size: Vector3; +}; + +/** + * A source for a Shopify-hosted 3d model. + * + * Types of sources include GLB and USDZ formatted 3d models, where the former + * is an original 3d model and the latter has been converted from the original. + * + * If the original source is in GLB format and over 15 MBs in size, then both the + * original and the USDZ formatted source are optimized to reduce the file size. + */ +export type Model3dSource = { + __typename?: 'Model3dSource'; + /** The 3d model source's filesize. */ + filesize: Scalars['Int']['output']; + /** The 3d model source's format. */ + format: Scalars['String']['output']; + /** The 3d model source's MIME type. */ + mimeType: Scalars['String']['output']; + /** The 3d model source's URL. */ + url: Scalars['String']['output']; +}; + +/** + * A collection of monetary values in their respective currencies. Typically used in the context of multi-currency pricing and transactions, + * when an amount in the shop's currency is converted to the customer's currency of choice (the presentment currency). + */ +export type MoneyBag = { + __typename?: 'MoneyBag'; + /** Amount in presentment currency. */ + presentmentMoney: MoneyV2; + /** Amount in shop currency. */ + shopMoney: MoneyV2; +}; + +/** + * An input collection of monetary values in their respective currencies. + * Represents an amount in the shop's currency and the amount as converted to the customer's currency of choice (the presentment currency). + */ +export type MoneyBagInput = { + /** Amount in presentment currency. If this isn't given then we assume that the presentment currency is the same as the shop's currency. */ + presentmentMoney?: InputMaybe; + /** Amount in shop currency. */ + shopMoney: MoneyInput; +}; + +/** The input fields for a monetary value with currency. */ +export type MoneyInput = { + /** Decimal money amount. */ + amount: Scalars['Decimal']['input']; + /** Currency of the money. */ + currencyCode: CurrencyCode; +}; + +/** A monetary value with currency. */ +export type MoneyV2 = { + __typename?: 'MoneyV2'; + /** Decimal money amount. */ + amount: Scalars['Decimal']['output']; + /** Currency of the money. */ + currencyCode: CurrencyCode; +}; + +/** The input fields for a single move of an object to a specific position in a set, using a zero-based index. */ +export type MoveInput = { + /** The ID of the object to be moved. */ + id: Scalars['ID']['input']; + /** The new position of the object in the set. */ + newPosition: Scalars['UnsignedInt64']['input']; +}; + +/** The schema's entry point for all mutation operations. */ +export type Mutation = { + __typename?: 'Mutation'; + /** + * Updates the email state value for an abandonment. + * @deprecated Use `abandonmentUpdateActivitiesDeliveryStatuses` instead. + */ + abandonmentEmailStateUpdate?: Maybe; + /** Updates the marketing activities delivery statuses for an abandonment. */ + abandonmentUpdateActivitiesDeliveryStatuses?: Maybe; + /** + * Charges a shop for features or services one time. + * This type of charge is recommended for apps that aren't billed on a recurring basis. + * Test and demo shops aren't charged. + */ + appPurchaseOneTimeCreate?: Maybe; + /** Revokes access scopes previously granted for an app installation. */ + appRevokeAccessScopes?: Maybe; + /** Cancels an app subscription on a store. */ + appSubscriptionCancel?: Maybe; + /** Allows an app to charge a store for features or services on a recurring basis. */ + appSubscriptionCreate?: Maybe; + /** Updates the capped amount on the usage pricing plan of an app subscription line item. */ + appSubscriptionLineItemUpdate?: Maybe; + /** Extends the trial of an app subscription. */ + appSubscriptionTrialExtend?: Maybe; + /** + * Enables an app to charge a store for features or services on a per-use basis. + * The usage charge value is counted towards the `cappedAmount` limit that was specified in the `appUsagePricingDetails` field when the app subscription was created. + * If you create an app usage charge that causes the total usage charges in a billing interval to exceed the capped amount, then a `Total price exceeds balance remaining` error is returned. + */ + appUsageRecordCreate?: Maybe; + /** Creates an article. */ + articleCreate?: Maybe; + /** Deletes an article. */ + articleDelete?: Maybe; + /** Updates an article. */ + articleUpdate?: Maybe; + /** Creates a blog. */ + blogCreate?: Maybe; + /** Deletes a blog. */ + blogDelete?: Maybe; + /** Updates a blog. */ + blogUpdate?: Maybe; + /** + * Starts the cancelation process of a running bulk operation. + * + * There may be a short delay from when a cancelation starts until the operation is actually canceled. + */ + bulkOperationCancel?: Maybe; + /** + * Creates and runs a bulk operation mutation. + * + * To learn how to bulk import large volumes of data asynchronously, refer to the + * [bulk import data guide](https://shopify.dev/api/usage/bulk-operations/imports). + */ + bulkOperationRunMutation?: Maybe; + /** + * Creates and runs a bulk operation query. + * + * See the [bulk operations guide](https://shopify.dev/api/usage/bulk-operations/queries) for more details. + */ + bulkOperationRunQuery?: Maybe; + /** Creates product feedback for multiple products. */ + bulkProductResourceFeedbackCreate?: Maybe; + /** Creates a new carrier service. */ + carrierServiceCreate?: Maybe; + /** Removes an existing carrier service. */ + carrierServiceDelete?: Maybe; + /** Updates a carrier service. Only the app that creates a carrier service can update it. */ + carrierServiceUpdate?: Maybe; + /** Create a CartTransform function to the Shop. */ + cartTransformCreate?: Maybe; + /** Destroy a cart transform function from the Shop. */ + cartTransformDelete?: Maybe; + /** Updates the context of a catalog. */ + catalogContextUpdate?: Maybe; + /** Creates a new catalog. */ + catalogCreate?: Maybe; + /** Delete a catalog. */ + catalogDelete?: Maybe; + /** Updates an existing catalog. */ + catalogUpdate?: Maybe; + /** + * Updates the checkout branding settings for a + * [checkout profile](https://shopify.dev/api/admin-graphql/unstable/queries/checkoutProfile). + * + * If the settings don't exist, then new settings are created. The checkout branding settings applied to a + * published checkout profile will be immediately visible within the store's checkout. The checkout branding + * settings applied to a draft checkout profile could be previewed within the admin checkout editor. + * + * To learn more about updating checkout branding settings, refer to the checkout branding + * [tutorial](https://shopify.dev/docs/apps/checkout/styling). + */ + checkoutBrandingUpsert?: Maybe; + /** Adds products to a collection. */ + collectionAddProducts?: Maybe; + /** Asynchronously adds a set of products to a given collection. It can take a long time to run. Instead of returning a collection, it returns a job which should be polled. */ + collectionAddProductsV2?: Maybe; + /** Creates a collection. */ + collectionCreate?: Maybe; + /** Deletes a collection. */ + collectionDelete?: Maybe; + /** + * Publishes a collection to a channel. + * @deprecated Use `publishablePublish` instead. + */ + collectionPublish?: Maybe; + /** Removes a set of products from a given collection. The mutation can take a long time to run. Instead of returning an updated collection the mutation returns a job, which should be [polled](https://shopify.dev/api/admin-graphql/latest/queries/job). For use with manual collections only. */ + collectionRemoveProducts?: Maybe; + /** Asynchronously reorders a set of products within a specified collection. Instead of returning an updated collection, this mutation returns a job, which should be [polled](https://shopify.dev/api/admin-graphql/latest/queries/job). The [`Collection.sortOrder`](https://shopify.dev/api/admin-graphql/latest/objects/Collection#field-collection-sortorder) must be `MANUAL`. Displaced products will have their position altered in a consistent manner, with no gaps. */ + collectionReorderProducts?: Maybe; + /** + * Unpublishes a collection. + * @deprecated Use `publishableUnpublish` instead. + */ + collectionUnpublish?: Maybe; + /** Updates a collection. */ + collectionUpdate?: Maybe; + /** + * Add, remove and update `CombinedListing`s of a given Product. + * + * `CombinedListing`s are comprised of multiple products to create a single listing. There are two kinds of products used in a `CombinedListing`: + * + * 1. Parent products + * 2. Child products + * + * The parent product is created with a `productCreate` with a `CombinedListingRole` of `PARENT`. Once created, you can associate child products with the parent product using this mutation. Parent products represent the idea of a product (e.g. Shoe). + * + * Child products represent a particular option value (or combination of option values) of a parent product. For instance, with your Shoe parent product, you may have several child products representing specific colors of the shoe (e.g. Shoe - Blue). You could also have child products representing more than a single option (e.g. Shoe - Blue/Canvas, Shoe - Blue/Leather, etc...). + * + * The combined listing is the association of parent product to one or more child products. + * + * Learn more about [Combined Listings](https://shopify.dev/apps/selling-strategies/combined-listings). + */ + combinedListingUpdate?: Maybe; + /** Approves a comment. */ + commentApprove?: Maybe; + /** Deletes a comment. */ + commentDelete?: Maybe; + /** Marks a comment as not spam. */ + commentNotSpam?: Maybe; + /** Marks a comment as spam. */ + commentSpam?: Maybe; + /** Deletes a list of companies. */ + companiesDelete?: Maybe; + /** Deletes a company address. */ + companyAddressDelete?: Maybe; + /** Assigns the customer as a company contact. */ + companyAssignCustomerAsContact?: Maybe; + /** Assigns the main contact for the company. */ + companyAssignMainContact?: Maybe; + /** Assigns a role to a contact for a location. */ + companyContactAssignRole?: Maybe; + /** Assigns roles on a company contact. */ + companyContactAssignRoles?: Maybe; + /** Creates a company contact. */ + companyContactCreate?: Maybe; + /** Deletes a company contact. */ + companyContactDelete?: Maybe; + /** Removes a company contact from a Company. */ + companyContactRemoveFromCompany?: Maybe; + /** Revokes a role on a company contact. */ + companyContactRevokeRole?: Maybe; + /** Revokes roles on a company contact. */ + companyContactRevokeRoles?: Maybe; + /** Sends the company contact a welcome email. */ + companyContactSendWelcomeEmail?: Maybe; + /** Updates a company contact. */ + companyContactUpdate?: Maybe; + /** Deletes one or more company contacts. */ + companyContactsDelete?: Maybe; + /** Creates a company. */ + companyCreate?: Maybe; + /** Deletes a company. */ + companyDelete?: Maybe; + /** Updates an address on a company location. */ + companyLocationAssignAddress?: Maybe; + /** Assigns roles on a company location. */ + companyLocationAssignRoles?: Maybe; + /** Creates one or more mappings between a staff member at a shop and a company location. */ + companyLocationAssignStaffMembers?: Maybe; + /** Assigns tax exemptions to the company location. */ + companyLocationAssignTaxExemptions?: Maybe; + /** Creates a company location. */ + companyLocationCreate?: Maybe; + /** Creates a tax registration for a company location. */ + companyLocationCreateTaxRegistration?: Maybe; + /** Deletes a company location. */ + companyLocationDelete?: Maybe; + /** Deletes one or more existing mappings between a staff member at a shop and a company location. */ + companyLocationRemoveStaffMembers?: Maybe; + /** Revokes roles on a company location. */ + companyLocationRevokeRoles?: Maybe; + /** Revokes tax exemptions from the company location. */ + companyLocationRevokeTaxExemptions?: Maybe; + /** Revokes tax registration on a company location. */ + companyLocationRevokeTaxRegistration?: Maybe; + /** Updates a company location. */ + companyLocationUpdate?: Maybe; + /** Deletes a list of company locations. */ + companyLocationsDelete?: Maybe; + /** Revokes the main contact from the company. */ + companyRevokeMainContact?: Maybe; + /** Updates a company. */ + companyUpdate?: Maybe; + /** Add tax exemptions for the customer. */ + customerAddTaxExemptions?: Maybe; + /** + * Cancels a pending erasure of a customer's data. + * + * To request an erasure of a customer's data use the [customerRequestDataErasure mutation](https://shopify.dev/api/admin-graphql/unstable/mutations/customerRequestDataErasure). + */ + customerCancelDataErasure?: Maybe; + /** Create a new 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). */ + customerCreate?: Maybe; + /** 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). */ + customerDelete?: Maybe; + /** Update a customer's email marketing information information. */ + customerEmailMarketingConsentUpdate?: Maybe; + /** Generate an account activation URL for a customer. */ + customerGenerateAccountActivationUrl?: Maybe; + /** Merges two customers. */ + customerMerge?: Maybe; + /** + * Creates a vaulted payment method for a customer from duplication data. + * + * This data must be obtained from another shop within the same organization. + * + * Currently, this only supports Shop Pay payment methods. This is only available for selected partner apps. + */ + customerPaymentMethodCreateFromDuplicationData?: Maybe; + /** + * Creates a credit card payment method for a customer using a session id. + * These values are only obtained through card imports happening from a PCI compliant environment. + * Please use customerPaymentMethodRemoteCreate if you are not managing credit cards directly. + */ + customerPaymentMethodCreditCardCreate?: Maybe; + /** Updates the credit card payment method for a customer. */ + customerPaymentMethodCreditCardUpdate?: Maybe; + /** + * Returns encrypted data that can be used to duplicate the payment method in another shop within the same organization. + * + * Currently, this only supports Shop Pay payment methods. This is only available for selected partner apps. + */ + customerPaymentMethodGetDuplicationData?: Maybe; + /** + * Returns a URL that allows the customer to update a specific payment method. + * + * Currently, `customerPaymentMethodGetUpdateUrl` only supports Shop Pay. + */ + customerPaymentMethodGetUpdateUrl?: Maybe; + /** Creates a PayPal billing agreement for a customer. */ + customerPaymentMethodPaypalBillingAgreementCreate?: Maybe; + /** Updates a PayPal billing agreement for a customer. */ + customerPaymentMethodPaypalBillingAgreementUpdate?: Maybe; + /** Create a payment method from remote gateway identifiers. */ + customerPaymentMethodRemoteCreate?: Maybe; + /** + * Create a payment method from a credit card stored by Stripe. + * @deprecated Use `customerPaymentMethodRemoteCreate` instead. + */ + customerPaymentMethodRemoteCreditCardCreate?: Maybe; + /** Revokes a customer's payment method. */ + customerPaymentMethodRevoke?: Maybe; + /** Sends a link to the customer so they can update a specific payment method. */ + customerPaymentMethodSendUpdateEmail?: Maybe; + /** Remove tax exemptions from a customer. */ + customerRemoveTaxExemptions?: Maybe; + /** Replace tax exemptions for a customer. */ + customerReplaceTaxExemptions?: Maybe; + /** + * Enqueues a request to erase customer's data. Read more [here](https://help.shopify.com/manual/privacy-and-security/privacy/processing-customer-data-requests#erase-customer-personal-data). + * + * To cancel the data erasure request use the [customerCancelDataErasure mutation](https://shopify.dev/api/admin-graphql/unstable/mutations/customerCancelDataErasure). + */ + customerRequestDataErasure?: Maybe; + /** Creates a customer segment members query. */ + customerSegmentMembersQueryCreate?: Maybe; + /** Sends the customer an account invite email. */ + customerSendAccountInviteEmail?: Maybe; + /** Update a customer's SMS marketing consent information. */ + customerSmsMarketingConsentUpdate?: Maybe; + /** Update a customer's attributes. 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). */ + customerUpdate?: Maybe; + /** Updates a customer's default address. */ + customerUpdateDefaultAddress?: Maybe; + /** Opt out a customer from data sale. */ + dataSaleOptOut?: Maybe; + /** + * 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). + */ + delegateAccessTokenCreate?: Maybe; + /** Destroys a delegate access token. */ + delegateAccessTokenDestroy?: Maybe; + /** Activates and deactivates delivery customizations. */ + deliveryCustomizationActivation?: Maybe; + /** Creates a delivery customization. */ + deliveryCustomizationCreate?: Maybe; + /** Creates a delivery customization. */ + deliveryCustomizationDelete?: Maybe; + /** Updates a delivery customization. */ + deliveryCustomizationUpdate?: Maybe; + /** Create a delivery profile. */ + deliveryProfileCreate?: Maybe; + /** Enqueue the removal of a delivery profile. */ + deliveryProfileRemove?: Maybe; + /** Update a delivery profile. */ + deliveryProfileUpdate?: Maybe; + /** Creates or updates a delivery promise provider. Currently restricted to select approved delivery promise partners. */ + deliveryPromiseProviderUpsert?: Maybe; + /** Set the delivery settings for a shop. */ + deliverySettingUpdate?: Maybe; + /** Assigns a location as the shipping origin while using legacy compatibility mode for multi-location delivery profiles. */ + deliveryShippingOriginAssign?: Maybe; + /** Activates an automatic discount. */ + discountAutomaticActivate?: Maybe; + /** Creates an app discount. */ + discountAutomaticAppCreate?: Maybe; + /** Updates an automatic app discount. */ + discountAutomaticAppUpdate?: Maybe; + /** Creates a basic automatic discount. */ + discountAutomaticBasicCreate?: Maybe; + /** Updates a basic automatic discount. */ + discountAutomaticBasicUpdate?: Maybe; + /** + * Asynchronously delete automatic discounts in bulk if a `search` or `saved_search_id` argument is provided or if a + * maximum discount threshold is reached (1,000). Otherwise, deletions will occur inline. + * **Warning:** All automatic discounts will be deleted if a blank `search` argument is provided. + */ + discountAutomaticBulkDelete?: Maybe; + /** Creates a BXGY automatic discount. */ + discountAutomaticBxgyCreate?: Maybe; + /** Updates an existing Buy X, Get Y (BXGY) automatic discount. */ + discountAutomaticBxgyUpdate?: Maybe; + /** Deactivates an automatic discount. */ + discountAutomaticDeactivate?: Maybe; + /** Deletes an automatic discount. */ + discountAutomaticDelete?: Maybe; + /** Creates a free shipping automatic discount. */ + discountAutomaticFreeShippingCreate?: Maybe; + /** Updates a free shipping automatic discount. */ + discountAutomaticFreeShippingUpdate?: Maybe; + /** Activates a code discount. */ + discountCodeActivate?: Maybe; + /** Creates a code app discount. */ + discountCodeAppCreate?: Maybe; + /** Updates a code app discount. */ + discountCodeAppUpdate?: Maybe; + /** Creates a basic code discount. */ + discountCodeBasicCreate?: Maybe; + /** Updates a basic code discount. */ + discountCodeBasicUpdate?: Maybe; + /** Asynchronously activate code discounts in bulk using a search query, a saved search ID, or a list of code discount IDs. */ + discountCodeBulkActivate?: Maybe; + /** Asynchronously deactivate code discounts in bulk using a search query, a saved search ID, or a list of code discount IDs. */ + discountCodeBulkDeactivate?: Maybe; + /** Asynchronously delete code discounts in bulk using a search query, a saved search ID, or a list of code discount IDs. */ + discountCodeBulkDelete?: Maybe; + /** Creates a Buy X get Y (BXGY) code discount. */ + discountCodeBxgyCreate?: Maybe; + /** Updates a Buy X, Get Y (BXGY) code discount. */ + discountCodeBxgyUpdate?: Maybe; + /** Deactivates a code discount. */ + discountCodeDeactivate?: Maybe; + /** Deletes a code discount. */ + discountCodeDelete?: Maybe; + /** Creates a free shipping code discount. */ + discountCodeFreeShippingCreate?: Maybe; + /** Updates a free shipping code discount. */ + discountCodeFreeShippingUpdate?: Maybe; + /** + * Asynchronously delete discount redeem codes in bulk. Specify the redeem codes to delete by providing a + * search query, a saved search ID, or a list of redeem code IDs. + */ + discountCodeRedeemCodeBulkDelete?: Maybe; + /** + * Asynchronously add discount redeem codes in bulk. Specify the codes to add + * and the discount code ID that the codes will belong to. + */ + discountRedeemCodeBulkAdd?: Maybe; + /** Updates a dispute evidence. */ + disputeEvidenceUpdate?: Maybe; + /** Adds tags to multiple draft orders. */ + draftOrderBulkAddTags?: Maybe; + /** Deletes multiple draft orders. */ + draftOrderBulkDelete?: Maybe; + /** Removes tags from multiple draft orders. */ + draftOrderBulkRemoveTags?: Maybe; + /** + * Calculates the properties of a draft order. Useful for determining information + * such as total taxes or price without actually creating a draft order. + */ + draftOrderCalculate?: Maybe; + /** Completes a draft order and creates an order. */ + draftOrderComplete?: Maybe; + /** Creates a draft order. */ + draftOrderCreate?: Maybe; + /** Creates a draft order from order. */ + draftOrderCreateFromOrder?: Maybe; + /** Creates a merchant checkout for the given draft order. */ + draftOrderCreateMerchantCheckout?: Maybe; + /** Deletes a draft order. */ + draftOrderDelete?: Maybe; + /** Duplicates a draft order. */ + draftOrderDuplicate?: Maybe; + /** Previews a draft order invoice email. */ + draftOrderInvoicePreview?: Maybe; + /** Sends an email invoice for a draft order. */ + draftOrderInvoiceSend?: Maybe; + /** + * Updates a draft order. + * + * If a checkout has been started for a draft order, any update to the draft will unlink the checkout. Checkouts + * are created but not immediately completed when opening the merchant credit card modal in the admin, and when a + * buyer opens the invoice URL. This is usually fine, but there is an edge case where a checkout is in progress + * and the draft is updated before the checkout completes. This will not interfere with the checkout and order + * creation, but if the link from draft to checkout is broken the draft will remain open even after the order is + * created. + */ + draftOrderUpdate?: Maybe; + /** + * Updates the server pixel to connect to an EventBridge endpoint. + * Running this mutation deletes any previous subscriptions for the server pixel. + */ + eventBridgeServerPixelUpdate?: Maybe; + /** + * Creates a new Amazon EventBridge webhook subscription. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + eventBridgeWebhookSubscriptionCreate?: Maybe; + /** + * Updates an Amazon EventBridge webhook subscription. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + eventBridgeWebhookSubscriptionUpdate?: Maybe; + /** Acknowledges file update failure by resetting FAILED status to READY and clearing any media errors. */ + fileAcknowledgeUpdateFailed?: Maybe; + /** + * Creates file assets using an external URL or for files that were previously uploaded using the + * [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). + * These files are added to the [Files page](https://shopify.com/admin/settings/files) in Shopify admin. + * + * Files are processed asynchronously. Some data is not available until processing is completed. + * Check [fileStatus](https://shopify.dev/api/admin-graphql/latest/interfaces/File#field-file-filestatus) + * to know when the files are READY or FAILED. See the [FileStatus](https://shopify.dev/api/admin-graphql/latest/enums/filestatus) + * for the complete set of possible fileStatus values. + * + * To get a list of all files, use the [files query](https://shopify.dev/api/admin-graphql/latest/queries/files). + */ + fileCreate?: Maybe; + /** Deletes existing file assets that were uploaded to Shopify. */ + fileDelete?: Maybe; + /** Updates an existing file asset that was uploaded to Shopify. */ + fileUpdate?: Maybe; + /** Generates a signature for a Flow action payload. */ + flowGenerateSignature?: Maybe; + /** Triggers any workflows that begin with the trigger specified in the request body. To learn more, refer to [_Create Shopify Flow triggers_](https://shopify.dev/apps/flow/triggers). */ + flowTriggerReceive?: Maybe; + /** Cancels a fulfillment. */ + fulfillmentCancel?: Maybe; + /** Creates a fulfillment constraint rule and its metafield. */ + fulfillmentConstraintRuleCreate?: Maybe; + /** Deletes a fulfillment constraint rule and its metafields. */ + fulfillmentConstraintRuleDelete?: Maybe; + /** Update a fulfillment constraint rule. */ + fulfillmentConstraintRuleUpdate?: Maybe; + /** + * Creates a fulfillment for one or many fulfillment orders. + * The fulfillment orders are associated with the same order and are assigned to the same location. + */ + fulfillmentCreate?: Maybe; + /** + * Creates a fulfillment for one or many fulfillment orders. + * The fulfillment orders are associated with the same order and are assigned to the same location. + * @deprecated Use `fulfillmentCreate` instead. + */ + fulfillmentCreateV2?: Maybe; + /** Creates a fulfillment event for a specified fulfillment. */ + fulfillmentEventCreate?: Maybe; + /** Accept a cancellation request sent to a fulfillment service for a fulfillment order. */ + fulfillmentOrderAcceptCancellationRequest?: Maybe; + /** Accepts a fulfillment request sent to a fulfillment service for a fulfillment order. */ + fulfillmentOrderAcceptFulfillmentRequest?: Maybe; + /** Marks a fulfillment order as canceled. */ + fulfillmentOrderCancel?: Maybe; + /** Marks an in-progress fulfillment order as incomplete, indicating the fulfillment service is unable to ship any remaining items and intends to close the fulfillment order. */ + fulfillmentOrderClose?: Maybe; + /** Applies a fulfillment hold on a fulfillment order. */ + fulfillmentOrderHold?: Maybe; + /** + * Mark line items associated with a fulfillment order as being ready for pickup by a customer. + * + * Sends a Ready For Pickup notification to the customer to let them know that their order is ready + * to be picked up. + */ + fulfillmentOrderLineItemsPreparedForPickup?: Maybe; + /** + * Merges a set or multiple sets of fulfillment orders together into one based on + * line item inputs and quantities. + */ + fulfillmentOrderMerge?: Maybe; + /** + * Changes the location which is assigned to fulfill a number of unfulfilled fulfillment order line items. + * + * Moving a fulfillment order will fail in the following circumstances: + * + * * The fulfillment order is closed. + * * The destination location has never stocked the requested inventory item. + * * The API client doesn't have the correct permissions. + * + * Line items which have already been fulfilled can't be re-assigned + * and will always remain assigned to the original location. + * + * You can't change the assigned location while a fulfillment order has a + * [request status](https://shopify.dev/docs/api/admin-graphql/latest/enums/FulfillmentOrderRequestStatus) + * of `SUBMITTED`, `ACCEPTED`, `CANCELLATION_REQUESTED`, or `CANCELLATION_REJECTED`. + * These request statuses mean that a fulfillment order is awaiting action by a fulfillment service + * and can't be re-assigned without first having the fulfillment service accept a cancellation request. + * This behavior is intended to prevent items from being fulfilled by multiple locations or fulfillment services. + * + * ### How re-assigning line items affects fulfillment orders + * + * **First scenario:** Re-assign all line items belonging to a fulfillment order to a new location. + * + * In this case, the + * [assignedLocation](https://shopify.dev/docs/api/admin-graphql/latest/objects/fulfillmentorder#field-fulfillmentorder-assignedlocation) + * of the original fulfillment order will be updated to the new location. + * + * **Second scenario:** Re-assign a subset of the line items belonging to a fulfillment order to a new location. + * You can specify a subset of line items using the `fulfillmentOrderLineItems` parameter + * (available as of the `2023-04` API version), + * or specify that the original fulfillment order contains line items which have already been fulfilled. + * + * If the new location is already assigned to another active fulfillment order, on the same order, then + * a new fulfillment order is created. The existing fulfillment order is closed and line items are recreated + * in a new fulfillment order. + */ + fulfillmentOrderMove?: Maybe; + /** Marks a scheduled fulfillment order as open. */ + fulfillmentOrderOpen?: Maybe; + /** Rejects a cancellation request sent to a fulfillment service for a fulfillment order. */ + fulfillmentOrderRejectCancellationRequest?: Maybe; + /** Rejects a fulfillment request sent to a fulfillment service for a fulfillment order. */ + fulfillmentOrderRejectFulfillmentRequest?: Maybe; + /** Releases the fulfillment hold on a fulfillment order. */ + fulfillmentOrderReleaseHold?: Maybe; + /** + * Reschedules a scheduled fulfillment order. + * + * Updates the value of the `fulfillAt` field on a scheduled fulfillment order. + * + * The fulfillment order will be marked as ready for fulfillment at this date and time. + */ + fulfillmentOrderReschedule?: Maybe; + /** Splits a fulfillment order or orders based on line item inputs and quantities. */ + fulfillmentOrderSplit?: Maybe; + /** Sends a cancellation request to the fulfillment service of a fulfillment order. */ + fulfillmentOrderSubmitCancellationRequest?: Maybe; + /** Sends a fulfillment request to the fulfillment service of a fulfillment order. */ + fulfillmentOrderSubmitFulfillmentRequest?: Maybe; + /** Sets the latest date and time by which the fulfillment orders need to be fulfilled. */ + fulfillmentOrdersSetFulfillmentDeadline?: Maybe; + /** + * Creates a fulfillment service. + * + * ## Fulfillment service location + * + * When creating a fulfillment service, a new location will be automatically created on the shop + * and will be associated with this fulfillment service. + * This location will be named after the fulfillment service and inherit the shop's address. + * + * If you are using API version `2023-10` or later, and you need to specify custom attributes for the fulfillment service location + * (for example, to change its address to a country different from the shop's country), + * use the + * [LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit) + * mutation after creating the fulfillment service. + */ + fulfillmentServiceCreate?: Maybe; + /** Deletes a fulfillment service. */ + fulfillmentServiceDelete?: Maybe; + /** + * Updates a fulfillment service. + * + * If you are using API version `2023-10` or later, + * and you need to update the location managed by the fulfillment service + * (for example, to change the address of a fulfillment service), + * use the + * [LocationEdit](https://shopify.dev/api/admin-graphql/latest/mutations/locationEdit) + * mutation. + */ + fulfillmentServiceUpdate?: Maybe; + /** Updates tracking information for a fulfillment. */ + fulfillmentTrackingInfoUpdate?: Maybe; + /** + * Updates tracking information for a fulfillment. + * @deprecated Use `fulfillmentTrackingInfoUpdate` instead. + */ + fulfillmentTrackingInfoUpdateV2?: Maybe; + /** Create a gift card. */ + giftCardCreate?: Maybe; + /** Credit a gift card. */ + giftCardCredit?: Maybe; + /** + * Deactivate a gift card. A deactivated gift card cannot be used by a customer. + * A deactivated gift card cannot be re-enabled. + */ + giftCardDeactivate?: Maybe; + /** Debit a gift card. */ + giftCardDebit?: Maybe; + /** Send notification to the customer of a gift card. */ + giftCardSendNotificationToCustomer?: Maybe; + /** Send notification to the recipient of a gift card. */ + giftCardSendNotificationToRecipient?: Maybe; + /** Update a gift card. */ + giftCardUpdate?: Maybe; + /** Activate an inventory item at a location. */ + inventoryActivate?: Maybe; + /** Apply changes to inventory quantities. */ + inventoryAdjustQuantities?: Maybe; + /** Modify the activation status of an inventory item at locations. Activating an inventory item at a particular location allows that location to stock that inventory item. Deactivating an inventory item at a location removes the inventory item's quantities and turns off the inventory item from that location. */ + inventoryBulkToggleActivation?: Maybe; + /** Removes an inventory item's quantities from a location, and turns off inventory at the location. */ + inventoryDeactivate?: Maybe; + /** Updates an inventory item. */ + inventoryItemUpdate?: Maybe; + /** Moves inventory between inventory quantity names at a single location. */ + inventoryMoveQuantities?: Maybe; + /** + * Set inventory on-hand quantities using absolute values. + * @deprecated Use `inventorySetQuantities` to set on_hand or available quantites instead. + */ + inventorySetOnHandQuantities?: Maybe; + /** + * Set quantities of specified name using absolute values. This mutation supports compare-and-set functionality to handle + * concurrent requests properly. If `ignoreCompareQuantity` is not set to true, + * the mutation will only update the quantity if the persisted quantity matches the `compareQuantity` value. + * If the `compareQuantity` value does not match the persisted value, the mutation will return an error. In order to opt out + * of the `compareQuantity` check, the `ignoreCompareQuantity` argument can be set to true. + * + * > Note: + * > Only use this mutation if calling on behalf of a system that acts as the source of truth for inventory quantities, + * > otherwise please consider using the [inventoryAdjustQuantities](https://shopify.dev/api/admin-graphql/latest/mutations/inventoryAdjustQuantities) mutation. + * > + * > + * > Opting out of the `compareQuantity` check can lead to inaccurate inventory quantities if multiple requests are made concurrently. + * > It is recommended to always include the `compareQuantity` value to ensure the accuracy of the inventory quantities and to opt out + * > of the check using `ignoreCompareQuantity` only when necessary. + */ + inventorySetQuantities?: Maybe; + /** Set up scheduled changes of inventory items. */ + inventorySetScheduledChanges?: Maybe; + /** + * Activates a location so that you can stock inventory at the location. Refer to the + * [`isActive`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location#field-isactive) and + * [`activatable`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Location#field-activatable) + * fields on the `Location` object. + */ + locationActivate?: Maybe; + /** Adds a new location. */ + locationAdd?: Maybe; + /** Deactivates a location and moves inventory, pending orders, and moving transfers to a destination location. */ + locationDeactivate?: Maybe; + /** Deletes a location. */ + locationDelete?: Maybe; + /** + * Edits an existing location. + * + * [As of the 2023-10 API version](https://shopify.dev/changelog/apps-can-now-change-the-name-and-address-of-their-fulfillment-service-locations), apps can change the name and address of their fulfillment service locations. + */ + locationEdit?: Maybe; + /** Disables local pickup for a location. */ + locationLocalPickupDisable?: Maybe; + /** Enables local pickup for a location. */ + locationLocalPickupEnable?: Maybe; + /** Creates a new market. */ + marketCreate?: Maybe; + /** Updates currency settings of a market. */ + marketCurrencySettingsUpdate?: Maybe; + /** Deletes a market definition. */ + marketDelete?: Maybe; + /** Creates or updates market localizations. */ + marketLocalizationsRegister?: Maybe; + /** Deletes market localizations. */ + marketLocalizationsRemove?: Maybe; + /** Deletes a market region. */ + marketRegionDelete?: Maybe; + /** Creates regions that belong to an existing market. */ + marketRegionsCreate?: Maybe; + /** Deletes a list of market regions. */ + marketRegionsDelete?: Maybe; + /** Updates the properties of a market. */ + marketUpdate?: Maybe; + /** Creates a web presence for a market. */ + marketWebPresenceCreate?: Maybe; + /** Deletes a market web presence. */ + marketWebPresenceDelete?: Maybe; + /** Updates a market web presence. */ + marketWebPresenceUpdate?: Maybe; + /** Deletes all external marketing activities. Deletion is performed by a background job, as it may take a bit of time to complete if a large number of activities are to be deleted. Attempting to create or modify external activities before the job has completed will result in the create/update/upsert mutation returning an error. */ + marketingActivitiesDeleteAllExternal?: Maybe; + /** Create new marketing activity. */ + marketingActivityCreate?: Maybe; + /** Creates a new external marketing activity. */ + marketingActivityCreateExternal?: Maybe; + /** Deletes an external marketing activity. */ + marketingActivityDeleteExternal?: Maybe; + /** Updates a marketing activity with the latest information. */ + marketingActivityUpdate?: Maybe; + /** Update an external marketing activity. */ + marketingActivityUpdateExternal?: Maybe; + /** Creates a new external marketing activity or updates an existing one. When optional fields are absent or null, associated information will be removed from an existing marketing activity. */ + marketingActivityUpsertExternal?: Maybe; + /** Creates a new marketing engagement for a marketing activity or a marketing channel. */ + marketingEngagementCreate?: Maybe; + /** + * Marks channel-level engagement data such that it no longer appears in reports. + * Activity-level data cannot be deleted directly, instead the MarketingActivity itself should be deleted to + * hide it from reports. + */ + marketingEngagementsDelete?: Maybe; + /** Creates a menu. */ + menuCreate?: Maybe; + /** Deletes a menu. */ + menuDelete?: Maybe; + /** Updates a menu. */ + menuUpdate?: Maybe; + /** + * Creates a metafield definition. Any metafields existing under the same owner type, namespace, and key will be + * checked against this definition and will have their type updated accordingly. For metafields that are not + * valid, they will remain unchanged but any attempts to update them must align with this definition. + */ + metafieldDefinitionCreate?: Maybe; + /** + * Delete a metafield definition. + * Optionally deletes all associated metafields asynchronously when specified. + */ + metafieldDefinitionDelete?: Maybe; + /** + * You can organize your metafields in your Shopify admin by pinning/unpinning metafield definitions. + * The order of your pinned metafield definitions determines the order in which your metafields are displayed + * on the corresponding pages in your Shopify admin. By default, only pinned metafields are automatically displayed. + */ + metafieldDefinitionPin?: Maybe; + /** + * You can organize your metafields in your Shopify admin by pinning/unpinning metafield definitions. + * The order of your pinned metafield definitions determines the order in which your metafields are displayed + * on the corresponding pages in your Shopify admin. By default, only pinned metafields are automatically displayed. + */ + metafieldDefinitionUnpin?: Maybe; + /** Updates a metafield definition. */ + metafieldDefinitionUpdate?: Maybe; + /** + * Deletes a metafield. + * @deprecated This mutation will be removed in a future version. Use `metafieldsDelete` instead. + */ + metafieldDelete?: Maybe; + /** + * Creates a `MetafieldStorefrontVisibility` record to make all metafields that belong to the specified resource + * and have the established `namespace` and `key` combination visible in the Storefront API. + * @deprecated This mutation will be removed in a future version. Use the `metafieldDefinitionCreate` or `metafieldDefinitionUpdate` mutations with `access.storefront` set instead. + * + */ + metafieldStorefrontVisibilityCreate?: Maybe; + /** + * Deletes a `MetafieldStorefrontVisibility` record. All metafields that belongs to the specified record will no + * longer be visible in the Storefront API. + * @deprecated This mutation will be removed in a future version. Use the `metafieldDefinitionUpdate` mutation with `access.storefront` set instead. + * + */ + metafieldStorefrontVisibilityDelete?: Maybe; + /** Deletes multiple metafields in bulk. */ + metafieldsDelete?: Maybe; + /** + * Sets metafield values. Metafield values will be set regardless if they were previously created or not. + * + * Allows a maximum of 25 metafields to be set at a time. + * + * This operation is atomic, meaning no changes are persisted if an error is encountered. + * + * As of `2024-07`, this operation supports compare-and-set functionality to better handle concurrent requests. + * If `compareDigest` is set for any metafield, the mutation will only set that metafield if the persisted metafield value matches the digest used on `compareDigest`. + * If the metafield doesn't exist yet, but you want to guarantee that the operation will run in a safe manner, set `compareDigest` to `null`. + * The `compareDigest` value can be acquired by querying the metafield object and selecting `compareDigest` as a field. + * If the `compareDigest` value does not match the digest for the persisted value, the mutation will return an error. + * You can opt out of write guarantees by not sending `compareDigest` in the request. + */ + metafieldsSet?: Maybe; + /** Asynchronously delete metaobjects and their associated metafields in bulk. */ + metaobjectBulkDelete?: Maybe; + /** Creates a new metaobject. */ + metaobjectCreate?: Maybe; + /** Creates a new metaobject definition. */ + metaobjectDefinitionCreate?: Maybe; + /** + * Deletes the specified metaobject definition. + * Also deletes all related metafield definitions, metaobjects, and metafields asynchronously. + */ + metaobjectDefinitionDelete?: Maybe; + /** Updates a metaobject definition with new settings and metafield definitions. */ + metaobjectDefinitionUpdate?: Maybe; + /** Deletes the specified metaobject and its associated metafields. */ + metaobjectDelete?: Maybe; + /** Updates an existing metaobject. */ + metaobjectUpdate?: Maybe; + /** + * Retrieves a metaobject by handle, then updates it with the provided input values. + * If no matching metaobject is found, a new metaobject is created with the provided input values. + */ + metaobjectUpsert?: Maybe; + /** Create a mobile platform application. */ + mobilePlatformApplicationCreate?: Maybe; + /** Delete a mobile platform application. */ + mobilePlatformApplicationDelete?: Maybe; + /** Update a mobile platform application. */ + mobilePlatformApplicationUpdate?: Maybe; + /** Cancels an order. */ + orderCancel?: Maybe; + /** Captures payment for an authorized transaction on an order. An order can only be captured if it has a successful authorization transaction. Capturing an order will claim the money reserved by the authorization. orderCapture can be used to capture multiple times as long as the OrderTransaction is multi-capturable. To capture a partial payment, the included `amount` value should be less than the total order amount. Multi-capture is available only to stores on a Shopify Plus plan. */ + orderCapture?: Maybe; + /** Closes an open order. */ + orderClose?: Maybe; + /** Creates an order. */ + orderCreate?: Maybe; + /** Creates a payment for an order by mandate. */ + orderCreateMandatePayment?: Maybe; + /** Deletes an order. For more information on which orders can be deleted, refer to [Delete an order](https://help.shopify.com/manual/orders/cancel-delete-order#delete-an-order). */ + orderDelete?: Maybe; + /** Adds a custom line item to an existing order. For example, you could add a gift wrapping service as a [custom line item](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing#add-a-custom-line-item). To learn how to edit existing orders, refer to [Edit an existing order with Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditAddCustomItem?: Maybe; + /** Adds a discount to a line item on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditAddLineItemDiscount?: Maybe; + /** Adds a shipping line to an existing order. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditAddShippingLine?: Maybe; + /** Adds a line item from an existing product variant. */ + orderEditAddVariant?: Maybe; + /** + * Starts editing an order. Mutations are operating on `OrderEdit`. + * All order edits start with `orderEditBegin`, have any number of `orderEdit`* mutations made, and end with `orderEditCommit`. + */ + orderEditBegin?: Maybe; + /** + * Applies and saves staged changes to an order. Mutations are operating on `OrderEdit`. + * All order edits start with `orderEditBegin`, have any number of `orderEdit`* mutations made, and end with `orderEditCommit`. + */ + orderEditCommit?: Maybe; + /** Removes a discount on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditRemoveDiscount?: Maybe; + /** + * Removes a line item discount that was applied as part of an order edit. + * @deprecated Use `orderEditRemoveDiscount` instead. + */ + orderEditRemoveLineItemDiscount?: Maybe; + /** Removes a shipping line from an existing order. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditRemoveShippingLine?: Maybe; + /** Sets the quantity of a line item on an order that is being edited. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditSetQuantity?: Maybe; + /** Updates a manual line level discount on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditUpdateDiscount?: Maybe; + /** Updates a shipping line on the current order edit. For more information on how to use the GraphQL Admin API to edit an existing order, refer to [Edit existing orders](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). */ + orderEditUpdateShippingLine?: Maybe; + /** Sends an email invoice for an order. */ + orderInvoiceSend?: Maybe; + /** Marks an order as paid. You can only mark an order as paid if it isn't already fully paid. */ + orderMarkAsPaid?: Maybe; + /** Opens a closed order. */ + orderOpen?: Maybe; + /** Create a risk assessment for an order. */ + orderRiskAssessmentCreate?: Maybe; + /** Updates the fields of an order. */ + orderUpdate?: Maybe; + /** Creates a page. */ + pageCreate?: Maybe; + /** Deletes a page. */ + pageDelete?: Maybe; + /** Updates a page. */ + pageUpdate?: Maybe; + /** Activates and deactivates payment customizations. */ + paymentCustomizationActivation?: Maybe; + /** Creates a payment customization. */ + paymentCustomizationCreate?: Maybe; + /** Deletes a payment customization. */ + paymentCustomizationDelete?: Maybe; + /** Updates a payment customization. */ + paymentCustomizationUpdate?: Maybe; + /** Sends an email payment reminder for a payment schedule. */ + paymentReminderSend?: Maybe; + /** Create payment terms on an order. To create payment terms on a draft order, use a draft order mutation and include the request with the `DraftOrderInput`. */ + paymentTermsCreate?: Maybe; + /** Delete payment terms for an order. To delete payment terms on a draft order, use a draft order mutation and include the request with the `DraftOrderInput`. */ + paymentTermsDelete?: Maybe; + /** Update payment terms on an order. To update payment terms on a draft order, use a draft order mutation and include the request with the `DraftOrderInput`. */ + paymentTermsUpdate?: Maybe; + /** Creates a price list. You can use the `priceListCreate` mutation to create a new price list and associate it with a catalog. This enables you to sell your products with contextual pricing. */ + priceListCreate?: Maybe; + /** Deletes a price list. For example, you can delete a price list so that it no longer applies for products in the associated market. */ + priceListDelete?: Maybe; + /** Creates or updates fixed prices on a price list. You can use the `priceListFixedPricesAdd` mutation to set a fixed price for specific product variants. This lets you change product variant pricing on a per country basis. Any existing fixed price list prices for these variants will be overwritten. */ + priceListFixedPricesAdd?: Maybe; + /** Updates the fixed prices for all variants for a product on a price list. You can use the `priceListFixedPricesByProductUpdate` mutation to set or remove a fixed price for all variants of a product associated with the price list. */ + priceListFixedPricesByProductUpdate?: Maybe; + /** Deletes specific fixed prices from a price list using a product variant ID. You can use the `priceListFixedPricesDelete` mutation to delete a set of fixed prices from a price list. After deleting the set of fixed prices from the price list, the price of each product variant reverts to the original price that was determined by the price list adjustment. */ + priceListFixedPricesDelete?: Maybe; + /** Updates fixed prices on a price list. You can use the `priceListFixedPricesUpdate` mutation to set a fixed price for specific product variants or to delete prices for variants associated with the price list. */ + priceListFixedPricesUpdate?: Maybe; + /** + * Updates a price list. + * If you modify the currency, then any fixed prices set on the price list will be deleted. + */ + priceListUpdate?: Maybe; + /** + * Deletes a private metafield. + * Private metafields are automatically deleted when the app that created them is uninstalled. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafieldDelete?: Maybe; + /** + * Creates or updates a private metafield. Use private metafields when you don't want the metafield data to be accessible by merchants or other apps. + * Private metafields are accessible only by the application that created them and only from the GraphQL Admin API. + * + * An application can create a maximum of 10 private metafields per shop resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafieldUpsert?: Maybe; + /** Creates a new componentized product. */ + productBundleCreate?: Maybe; + /** Updates a componentized product. */ + productBundleUpdate?: Maybe; + /** + * Changes the status of a product. This allows you to set the availability of the product across all channels. + * @deprecated Use `productUpdate` instead. + */ + productChangeStatus?: Maybe; + /** + * 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). + */ + productCreate?: Maybe; + /** Creates media for a product. */ + productCreateMedia?: Maybe; + /** + * 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. + */ + productDelete?: Maybe; + /** Deletes media for a product. */ + productDeleteMedia?: Maybe; + /** + * 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). + */ + productDuplicate?: Maybe; + /** Creates a product feed for a specific publication. */ + productFeedCreate?: Maybe; + /** Deletes a product feed for a specific publication. */ + productFeedDelete?: Maybe; + /** Runs the full product sync for a given shop. */ + productFullSync?: Maybe; + /** Adds multiple selling plan groups to a product. */ + productJoinSellingPlanGroups?: Maybe; + /** Removes multiple groups from a product. */ + productLeaveSellingPlanGroups?: Maybe; + /** Updates a product option. */ + productOptionUpdate?: Maybe; + /** Creates options on a product. */ + productOptionsCreate?: Maybe; + /** Deletes the specified options. */ + productOptionsDelete?: Maybe; + /** + * Reorders options and option values on a product, causing product variants to alter their position. + * + * Options order take precedence over option values order. Depending on the existing product variants, + * some input orders might not be achieved. + * + * Example: + * Existing product variants: + * ["Red / Small", "Green / Medium", "Blue / Small"]. + * + * New order: + * [ + * { + * name: "Size", values: [{ name: "Small" }, { name: "Medium" }], + * name: "Color", values: [{ name: "Green" }, { name: "Red" }, { name: "Blue" }] + * } + * ]. + * + * Description: + * Variants with "Green" value are expected to appear before variants with "Red" and "Blue" values. + * However, "Size" option appears before "Color". + * + * Therefore, output will be: + * ["Small / "Red", "Small / Blue", "Medium / Green"]. + */ + productOptionsReorder?: Maybe; + /** + * Publishes a product. Products that are sold exclusively on subscription (`requiresSellingPlan: true`) can only be published on online stores. + * @deprecated Use `publishablePublish` instead. + */ + productPublish?: Maybe; + /** Asynchronously reorders the media attached to a product. */ + productReorderMedia?: Maybe; + /** + * Creates or updates a product in a single request. + * + * Use this mutation when syncing information from an external data source into Shopify. + * + * When using this mutation to update a product, specify that product's `id` in the input. + * + * Any list field (e.g. + * [collections](https://shopify.dev/api/admin-graphql/current/input-objects/ProductSetInput#field-productsetinput-collections), + * [metafields](https://shopify.dev/api/admin-graphql/current/input-objects/ProductSetInput#field-productsetinput-metafields), + * [variants](https://shopify.dev/api/admin-graphql/current/input-objects/ProductSetInput#field-productsetinput-variants)) + * will be updated so that all included entries are either created or updated, and all existing entries not + * included will be deleted. + * + * All other fields will be updated to the value passed. Omitted fields will not be updated. + * + * When run in synchronous mode, the `productSet` mutation has an input limit of 100 variants. If you anticipate + * any of your use cases requiring support for more than 100 variants, please use the mutation in asynchronous + * mode (default). + * + * When run in synchronous mode, you will get the product back in the response. + * + * In asynchronous mode, you will instead get a + * [ProductSetOperation](https://shopify.dev/api/admin-graphql/current/objects/ProductSetOperation) + * object back. You can then use the + * [productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query to + * retrieve the updated product data. This query uses the `ProductSetOperation` object to + * check the status of the operation and to retrieve the details of the updated product and its variants. + * + * If you need to update a subset of variants, use one of the bulk variant mutations: + * - [productVariantsBulkCreate](https://shopify.dev/api/admin-graphql/current/mutations/productVariantsBulkCreate) + * - [productVariantsBulkUpdate](https://shopify.dev/api/admin-graphql/current/mutations/productVariantsBulkUpdate) + * - [productVariantsBulkDelete](https://shopify.dev/api/admin-graphql/current/mutations/productVariantsBulkDelete) + * + * If you need to update options, use one of the product option mutations: + * - [productOptionsCreate](https://shopify.dev/api/admin-graphql/current/mutations/productOptionsCreate) + * - [productOptionUpdate](https://shopify.dev/api/admin-graphql/current/mutations/productOptionUpdate) + * - [productOptionsDelete](https://shopify.dev/api/admin-graphql/current/mutations/productOptionsDelete) + * - [productOptionsReorder](https://shopify.dev/api/admin-graphql/current/mutations/productOptionsReorder) + * + * See our guide to + * [sync product data from an external source](https://shopify.dev/api/admin/migrate/new-product-model/sync-data) + * for more. + */ + productSet?: Maybe; + /** + * Unpublishes a product. + * @deprecated Use `publishableUnpublish` instead. + */ + productUnpublish?: Maybe; + /** + * Updates a product. + * + * For versions `2024-01` and older: + * If you update a product and only include some variants in the update, + * then any variants not included will be deleted. + * + * To safely manage variants without the risk of + * deleting excluded variants, use + * [productVariantsBulkUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/productvariantsbulkupdate). + * + * If you want to update a single variant, then use + * [productVariantUpdate](https://shopify.dev/api/admin-graphql/latest/mutations/productvariantupdate). + */ + productUpdate?: Maybe; + /** Updates media for a product. */ + productUpdateMedia?: Maybe; + /** Appends media from a product to variants of the product. */ + productVariantAppendMedia?: Maybe; + /** Detaches media from product variants. */ + productVariantDetachMedia?: Maybe; + /** Adds multiple selling plan groups to a product variant. */ + productVariantJoinSellingPlanGroups?: Maybe; + /** Remove multiple groups from a product variant. */ + productVariantLeaveSellingPlanGroups?: Maybe; + /** Creates new bundles, updates existing bundles, and removes bundle components for one or multiple bundles. */ + productVariantRelationshipBulkUpdate?: Maybe; + /** Creates multiple variants in a single product. This mutation can be called directly or via the bulkOperation. */ + productVariantsBulkCreate?: Maybe; + /** Deletes multiple variants in a single product. This mutation can be called directly or via the bulkOperation. */ + productVariantsBulkDelete?: Maybe; + /** Reorders multiple variants in a single product. This mutation can be called directly or via the bulkOperation. */ + productVariantsBulkReorder?: Maybe; + /** Updates multiple variants in a single product. This mutation can be called directly or via the bulkOperation. */ + productVariantsBulkUpdate?: Maybe; + /** + * Updates the server pixel to connect to a Google PubSub endpoint. + * Running this mutation deletes any previous subscriptions for the server pixel. + */ + pubSubServerPixelUpdate?: Maybe; + /** + * Creates a new Google Cloud Pub/Sub webhook subscription. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + pubSubWebhookSubscriptionCreate?: Maybe; + /** + * Updates a Google Cloud Pub/Sub webhook subscription. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + pubSubWebhookSubscriptionUpdate?: Maybe; + /** Creates a publication. */ + publicationCreate?: Maybe; + /** Deletes a publication. */ + publicationDelete?: Maybe; + /** Updates a publication. */ + publicationUpdate?: Maybe; + /** 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. */ + publishablePublish?: Maybe; + /** 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. */ + publishablePublishToCurrentChannel?: Maybe; + /** 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`. */ + publishableUnpublish?: Maybe; + /** 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`. */ + publishableUnpublishToCurrentChannel?: Maybe; + /** Updates quantity pricing on a price list. You can use the `quantityPricingByVariantUpdate` mutation to set fixed prices, quantity rules, and quantity price breaks. This mutation does not allow partial successes. If any of the requested resources fail to update, none of the requested resources will be updated. Delete operations are executed before create operations. */ + quantityPricingByVariantUpdate?: Maybe; + /** + * Creates or updates existing quantity rules on a price list. + * You can use the `quantityRulesAdd` mutation to set order level minimums, maximumums and increments for specific product variants. + */ + quantityRulesAdd?: Maybe; + /** + * Deletes specific quantity rules from a price list using a product variant ID. + * You can use the `quantityRulesDelete` mutation to delete a set of quantity rules from a price list. + */ + quantityRulesDelete?: Maybe; + /** Creates a refund. */ + refundCreate?: Maybe; + /** + * Approves a customer's return request. + * If this mutation is successful, then the `Return.status` field of the + * approved return is set to `OPEN`. + */ + returnApproveRequest?: Maybe; + /** + * Cancels a return and restores the items back to being fulfilled. + * Canceling a return is only available before any work has been done + * on the return (such as an inspection or refund). + */ + returnCancel?: Maybe; + /** + * Indicates a return is complete, either when a refund has been made and items restocked, + * or simply when it has been marked as returned in the system. + */ + returnClose?: Maybe; + /** Creates a return. */ + returnCreate?: Maybe; + /** + * Declines a return on an order. + * When a return is declined, each `ReturnLineItem.fulfillmentLineItem` can be associated to a new return. + * Use the `ReturnCreate` or `ReturnRequest` mutation to initiate a new return. + */ + returnDeclineRequest?: Maybe; + /** Removes return lines from a return. */ + returnLineItemRemoveFromReturn?: Maybe; + /** Refunds a return when its status is `OPEN` or `CLOSED` and associates it with the related return request. */ + returnRefund?: Maybe; + /** Reopens a closed return. */ + returnReopen?: Maybe; + /** + * A customer's return request that hasn't been approved or declined. + * This mutation sets the value of the `Return.status` field to `REQUESTED`. + * To create a return that has the `Return.status` field set to `OPEN`, use the `returnCreate` mutation. + */ + returnRequest?: Maybe; + /** Creates a new reverse delivery with associated external shipping information. */ + reverseDeliveryCreateWithShipping?: Maybe; + /** Updates a reverse delivery with associated external shipping information. */ + reverseDeliveryShippingUpdate?: Maybe; + /** Disposes reverse fulfillment order line items. */ + reverseFulfillmentOrderDispose?: Maybe; + /** Creates a saved search. */ + savedSearchCreate?: Maybe; + /** Delete a saved search. */ + savedSearchDelete?: Maybe; + /** Updates a saved search. */ + savedSearchUpdate?: Maybe; + /** + *

Theme app extensions

+ *

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

+ * + *

Script tag deprecation

+ *

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ * + * + * Creates a new script tag. + */ + scriptTagCreate?: Maybe; + /** + *

Theme app extensions

+ *

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

+ * + *

Script tag deprecation

+ *

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ * + * + * Deletes a script tag. + */ + scriptTagDelete?: Maybe; + /** + *

Theme app extensions

+ *

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

+ * + *

Script tag deprecation

+ *

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ * + * + * Updates a script tag. + */ + scriptTagUpdate?: Maybe; + /** Creates a segment. */ + segmentCreate?: Maybe; + /** Deletes a segment. */ + segmentDelete?: Maybe; + /** Updates a segment. */ + segmentUpdate?: Maybe; + /** Adds multiple product variants to a selling plan group. */ + sellingPlanGroupAddProductVariants?: Maybe; + /** Adds multiple products to a selling plan group. */ + sellingPlanGroupAddProducts?: Maybe; + /** Creates a Selling Plan Group. */ + sellingPlanGroupCreate?: Maybe; + /** Delete a Selling Plan Group. This does not affect subscription contracts. */ + sellingPlanGroupDelete?: Maybe; + /** Removes multiple product variants from a selling plan group. */ + sellingPlanGroupRemoveProductVariants?: Maybe; + /** Removes multiple products from a selling plan group. */ + sellingPlanGroupRemoveProducts?: Maybe; + /** Update a Selling Plan Group. */ + sellingPlanGroupUpdate?: Maybe; + /** Creates a new unconfigured server pixel. A single server pixel can exist for an app and shop combination. If you call this mutation when a server pixel already exists, then an error will return. */ + serverPixelCreate?: Maybe; + /** Deletes the Server Pixel associated with the current app & shop. */ + serverPixelDelete?: Maybe; + /** Deletes a shipping package. */ + shippingPackageDelete?: Maybe; + /** + * Set a shipping package as the default. + * The default shipping package is the one used to calculate shipping costs on checkout. + */ + shippingPackageMakeDefault?: Maybe; + /** Updates a shipping package. */ + shippingPackageUpdate?: Maybe; + /** Deletes a locale for a shop. This also deletes all translations of this locale. */ + shopLocaleDisable?: Maybe; + /** Adds a locale for a shop. The newly added locale is in the unpublished state. */ + shopLocaleEnable?: Maybe; + /** Updates a locale for a shop. */ + shopLocaleUpdate?: Maybe; + /** Updates a shop policy. */ + shopPolicyUpdate?: Maybe; + /** + * The `ResourceFeedback` object lets your app report the status of shops and their resources. For example, if + * your app is a marketplace channel, then you can use resource feedback to alert merchants that they need to connect their marketplace account by signing in. + * + * Resource feedback notifications are displayed to the merchant on the home screen of their Shopify admin, and in the product details view for any products that are published to your app. + * + * This resource should be used only in cases where you're describing steps that a merchant is required to complete. If your app offers optional or promotional set-up steps, or if it makes recommendations, then don't use resource feedback to let merchants know about them. + * + * ## Sending feedback on a shop + * + * You can send resource feedback on a shop to let the merchant know what steps they need to take to make sure that your app is set up correctly. Feedback can have one of two states: `requires_action` or `success`. You need to send a `requires_action` feedback request for each step that the merchant is required to complete. + * + * If there are multiple set-up steps that require merchant action, then send feedback with a state of `requires_action` as merchants complete prior steps. And to remove the feedback message from the Shopify admin, send a `success` feedback request. + * + * #### Important + * Sending feedback replaces previously sent feedback for the shop. Send a new `shopResourceFeedbackCreate` mutation to push the latest state of a shop or its resources to Shopify. + */ + shopResourceFeedbackCreate?: Maybe; + /** + * Generates the URL and signed paramaters needed to upload an asset to Shopify. + * @deprecated Use `stagedUploadsCreate` instead. + */ + stagedUploadTargetGenerate?: Maybe; + /** + * Uploads multiple images. + * @deprecated Use `stagedUploadsCreate` instead. + */ + stagedUploadTargetsGenerate?: Maybe; + /** + * Creates staged upload targets for each input. This is the first step in the upload process. + * The returned staged upload targets' URL and parameter fields can be used to send a request + * to upload the file described in the corresponding input. + * + * For more information on the upload process, refer to + * [Upload media to Shopify](https://shopify.dev/apps/online-store/media/products#step-1-upload-media-to-shopify). + */ + stagedUploadsCreate?: Maybe; + /** + * Activates the specified standard metafield definition from its template. + * + * Refer to the [list of standard metafield definition templates](https://shopify.dev/apps/metafields/definitions/standard-definitions). + */ + standardMetafieldDefinitionEnable?: Maybe; + /** Enables the specified standard metaobject definition from its template. */ + standardMetaobjectDefinitionEnable?: Maybe; + /** + * Creates a credit transaction that increases the store credit account balance by the given amount. + * This operation will create an account if one does not already exist. + */ + storeCreditAccountCredit?: Maybe; + /** Creates a debit transaction that decreases the store credit account balance by the given amount. */ + storeCreditAccountDebit?: Maybe; + /** + * 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). + */ + storefrontAccessTokenCreate?: Maybe; + /** Deletes a storefront access token. */ + storefrontAccessTokenDelete?: Maybe; + /** Creates a new subscription billing attempt. For more information, refer to [Create a subscription contract](https://shopify.dev/docs/apps/selling-strategies/subscriptions/contracts/create#step-4-create-a-billing-attempt). */ + subscriptionBillingAttemptCreate?: Maybe; + /** Asynchronously queries and charges all subscription billing cycles whose [billingAttemptExpectedDate](https://shopify.dev/api/admin-graphql/latest/objects/SubscriptionBillingCycle#field-billingattemptexpecteddate) values fall within a specified date range and meet additional filtering criteria. The results of this action can be retrieved using the [subscriptionBillingCycleBulkResults](https://shopify.dev/api/admin-graphql/latest/queries/subscriptionBillingCycleBulkResults) query. */ + subscriptionBillingCycleBulkCharge?: Maybe; + /** Asynchronously queries all subscription billing cycles whose [billingAttemptExpectedDate](https://shopify.dev/api/admin-graphql/latest/objects/SubscriptionBillingCycle#field-billingattemptexpecteddate) values fall within a specified date range and meet additional filtering criteria. The results of this action can be retrieved using the [subscriptionBillingCycleBulkResults](https://shopify.dev/api/admin-graphql/latest/queries/subscriptionBillingCycleBulkResults) query. */ + subscriptionBillingCycleBulkSearch?: Maybe; + /** Creates a new subscription billing attempt for a specified billing cycle. This is the alternative mutation for [subscriptionBillingAttemptCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionBillingAttemptCreate). For more information, refer to [Create a subscription contract](https://shopify.dev/docs/apps/selling-strategies/subscriptions/contracts/create#step-4-create-a-billing-attempt). */ + subscriptionBillingCycleCharge?: Maybe; + /** Commits the updates of a Subscription Billing Cycle Contract draft. */ + subscriptionBillingCycleContractDraftCommit?: Maybe; + /** Concatenates a contract to a Subscription Draft. */ + subscriptionBillingCycleContractDraftConcatenate?: Maybe; + /** Edit the contents of a subscription contract for the specified billing cycle. */ + subscriptionBillingCycleContractEdit?: Maybe; + /** Delete the schedule and contract edits of the selected subscription billing cycle. */ + subscriptionBillingCycleEditDelete?: Maybe; + /** Delete the current and future schedule and contract edits of a list of subscription billing cycles. */ + subscriptionBillingCycleEditsDelete?: Maybe; + /** Modify the schedule of a specific billing cycle. */ + subscriptionBillingCycleScheduleEdit?: Maybe; + /** Skips a Subscription Billing Cycle. */ + subscriptionBillingCycleSkip?: Maybe; + /** Unskips a Subscription Billing Cycle. */ + subscriptionBillingCycleUnskip?: Maybe; + /** Activates a Subscription Contract. */ + subscriptionContractActivate?: Maybe; + /** Creates a Subscription Contract. */ + subscriptionContractAtomicCreate?: Maybe; + /** Cancels a Subscription Contract. */ + subscriptionContractCancel?: Maybe; + /** + * Creates a Subscription Contract Draft. + * You can submit all the desired information for the draft using [Subscription Draft Input object](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/SubscriptionDraftInput). + * You can also update the draft using the [Subscription Contract Update](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionContractUpdate) mutation. + * The draft is not saved until you call the [Subscription Draft Commit](https://shopify.dev/docs/api/admin-graphql/latest/mutations/subscriptionDraftCommit) mutation. + */ + subscriptionContractCreate?: Maybe; + /** Expires a Subscription Contract. */ + subscriptionContractExpire?: Maybe; + /** Fails a Subscription Contract. */ + subscriptionContractFail?: Maybe; + /** Pauses a Subscription Contract. */ + subscriptionContractPause?: Maybe; + /** Allows for the easy change of a Product in a Contract or a Product price change. */ + subscriptionContractProductChange?: Maybe; + /** + * Sets the next billing date of a Subscription Contract. This field is managed by the apps. + * Alternatively you can utilize our + * [Billing Cycles APIs](https://shopify.dev/docs/apps/selling-strategies/subscriptions/billing-cycles), + * which provide auto-computed billing dates and additional functionalities. + */ + subscriptionContractSetNextBillingDate?: Maybe; + /** The subscriptionContractUpdate mutation allows you to create a draft of an existing subscription contract. This [draft](https://shopify.dev/api/admin-graphql/latest/objects/SubscriptionDraft) can be reviewed and modified as needed. Once the draft is committed with [subscriptionDraftCommit](https://shopify.dev/api/admin-graphql/latest/mutations/subscriptionDraftCommit), the changes are applied to the original subscription contract. */ + subscriptionContractUpdate?: Maybe; + /** Commits the updates of a Subscription Contract draft. */ + subscriptionDraftCommit?: Maybe; + /** Adds a subscription discount to a subscription draft. */ + subscriptionDraftDiscountAdd?: Maybe; + /** Applies a code discount on the subscription draft. */ + subscriptionDraftDiscountCodeApply?: Maybe; + /** Removes a subscription discount from a subscription draft. */ + subscriptionDraftDiscountRemove?: Maybe; + /** Updates a subscription discount on a subscription draft. */ + subscriptionDraftDiscountUpdate?: Maybe; + /** Adds a subscription free shipping discount to a subscription draft. */ + subscriptionDraftFreeShippingDiscountAdd?: Maybe; + /** Updates a subscription free shipping discount on a subscription draft. */ + subscriptionDraftFreeShippingDiscountUpdate?: Maybe; + /** Adds a subscription line to a subscription draft. */ + subscriptionDraftLineAdd?: Maybe; + /** Removes a subscription line from a subscription draft. */ + subscriptionDraftLineRemove?: Maybe; + /** Updates a subscription line on a subscription draft. */ + subscriptionDraftLineUpdate?: Maybe; + /** Updates a Subscription Draft. */ + subscriptionDraftUpdate?: Maybe; + /** Add tags to an order, a draft order, a customer, a product, or an online store article. */ + tagsAdd?: Maybe; + /** Remove tags from an order, a draft order, a customer, a product, or an online store article. */ + tagsRemove?: Maybe; + /** Allows tax app configurations for tax partners. */ + taxAppConfigure?: Maybe; + /** + * Creates a theme using an external URL or for files that were previously uploaded using the + * [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stageduploadscreate). + * These themes are added to the [Themes page](https://admin.shopify.com/themes) in Shopify admin. + */ + themeCreate?: Maybe; + /** Deletes a theme. */ + themeDelete?: Maybe; + /** Copy theme files. Copying to existing theme files will overwrite them. */ + themeFilesCopy?: Maybe; + /** Deletes a theme's files. */ + themeFilesDelete?: Maybe; + /** Create or update theme files. */ + themeFilesUpsert?: Maybe; + /** Publishes a theme. */ + themePublish?: Maybe; + /** Updates a theme. */ + themeUpdate?: Maybe; + /** Trigger the voiding of an uncaptured authorization transaction. */ + transactionVoid?: Maybe; + /** Creates or updates translations. */ + translationsRegister?: Maybe; + /** Deletes translations. */ + translationsRemove?: Maybe; + /** Asynchronously delete [URL redirects](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) in bulk. */ + urlRedirectBulkDeleteAll?: Maybe; + /** + * Asynchronously delete [URLRedirect](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) + * objects in bulk by IDs. + * Learn more about [URLRedirect](https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect) + * objects. + */ + urlRedirectBulkDeleteByIds?: Maybe; + /** Asynchronously delete redirects in bulk. */ + urlRedirectBulkDeleteBySavedSearch?: Maybe; + /** Asynchronously delete redirects in bulk. */ + urlRedirectBulkDeleteBySearch?: Maybe; + /** Creates a [`UrlRedirect`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) object. */ + urlRedirectCreate?: Maybe; + /** Deletes a [`UrlRedirect`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) object. */ + urlRedirectDelete?: Maybe; + /** + * Creates a [`UrlRedirectImport`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirectImport) object. + * + * After creating the `UrlRedirectImport` object, the `UrlRedirectImport` request can be performed using the [`urlRedirectImportSubmit`](https://shopify.dev/api/admin-graphql/latest/mutations/urlRedirectImportSubmit) mutation. + */ + urlRedirectImportCreate?: Maybe; + /** + * Submits a `UrlRedirectImport` request to be processed. + * + * The `UrlRedirectImport` request is first created with the [`urlRedirectImportCreate`](https://shopify.dev/api/admin-graphql/latest/mutations/urlRedirectImportCreate) mutation. + */ + urlRedirectImportSubmit?: Maybe; + /** Updates a URL redirect. */ + urlRedirectUpdate?: Maybe; + /** Creates a validation. */ + validationCreate?: Maybe; + /** Deletes a validation. */ + validationDelete?: Maybe; + /** Update a validation. */ + validationUpdate?: Maybe; + /** Creates a new web pixel settings. */ + webPixelCreate?: Maybe; + /** Deletes the web pixel shop settings. */ + webPixelDelete?: Maybe; + /** Updates the web pixel settings. */ + webPixelUpdate?: Maybe; + /** + * Creates a new webhook subscription. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + webhookSubscriptionCreate?: Maybe; + /** + * Deletes a webhook subscription. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + webhookSubscriptionDelete?: Maybe; + /** + * Updates a webhook subscription. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + webhookSubscriptionUpdate?: Maybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAbandonmentEmailStateUpdateArgs = { + emailSentAt?: InputMaybe; + emailState: AbandonmentEmailState; + emailStateChangeReason?: InputMaybe; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAbandonmentUpdateActivitiesDeliveryStatusesArgs = { + abandonmentId: Scalars['ID']['input']; + deliveredAt?: InputMaybe; + deliveryStatus: AbandonmentDeliveryState; + deliveryStatusChangeReason?: InputMaybe; + marketingActivityId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAppPurchaseOneTimeCreateArgs = { + name: Scalars['String']['input']; + price: MoneyInput; + returnUrl: Scalars['URL']['input']; + test?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAppRevokeAccessScopesArgs = { + scopes: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAppSubscriptionCancelArgs = { + id: Scalars['ID']['input']; + prorate?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAppSubscriptionCreateArgs = { + lineItems: Array; + name: Scalars['String']['input']; + replacementBehavior?: InputMaybe; + returnUrl: Scalars['URL']['input']; + test?: InputMaybe; + trialDays?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAppSubscriptionLineItemUpdateArgs = { + cappedAmount: MoneyInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAppSubscriptionTrialExtendArgs = { + days: Scalars['Int']['input']; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationAppUsageRecordCreateArgs = { + description: Scalars['String']['input']; + idempotencyKey?: InputMaybe; + price: MoneyInput; + subscriptionLineItemId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationArticleCreateArgs = { + article: ArticleCreateInput; + blog?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationArticleDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationArticleUpdateArgs = { + article: ArticleUpdateInput; + blog?: InputMaybe; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationBlogCreateArgs = { + blog: BlogCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationBlogDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationBlogUpdateArgs = { + blog: BlogUpdateInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationBulkOperationCancelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationBulkOperationRunMutationArgs = { + clientIdentifier?: InputMaybe; + mutation: Scalars['String']['input']; + stagedUploadPath: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationBulkOperationRunQueryArgs = { + query: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationBulkProductResourceFeedbackCreateArgs = { + feedbackInput: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCarrierServiceCreateArgs = { + input: DeliveryCarrierServiceCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCarrierServiceDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCarrierServiceUpdateArgs = { + input: DeliveryCarrierServiceUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCartTransformCreateArgs = { + blockOnFailure?: InputMaybe; + functionId: Scalars['String']['input']; + metafields?: InputMaybe>; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCartTransformDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCatalogContextUpdateArgs = { + catalogId: Scalars['ID']['input']; + contextsToAdd?: InputMaybe; + contextsToRemove?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCatalogCreateArgs = { + input: CatalogCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCatalogDeleteArgs = { + deleteDependentResources?: InputMaybe; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCatalogUpdateArgs = { + id: Scalars['ID']['input']; + input: CatalogUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCheckoutBrandingUpsertArgs = { + checkoutBrandingInput?: InputMaybe; + checkoutProfileId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionAddProductsArgs = { + id: Scalars['ID']['input']; + productIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionAddProductsV2Args = { + id: Scalars['ID']['input']; + productIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionCreateArgs = { + input: CollectionInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionDeleteArgs = { + input: CollectionDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionPublishArgs = { + input: CollectionPublishInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionRemoveProductsArgs = { + id: Scalars['ID']['input']; + productIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionReorderProductsArgs = { + id: Scalars['ID']['input']; + moves: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionUnpublishArgs = { + input: CollectionUnpublishInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCollectionUpdateArgs = { + input: CollectionInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCombinedListingUpdateArgs = { + optionsAndValues?: InputMaybe>; + parentProductId: Scalars['ID']['input']; + productsAdded?: InputMaybe>; + productsEdited?: InputMaybe>; + productsRemovedIds?: InputMaybe>; + title?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCommentApproveArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCommentDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCommentNotSpamArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCommentSpamArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompaniesDeleteArgs = { + companyIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyAddressDeleteArgs = { + addressId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyAssignCustomerAsContactArgs = { + companyId: Scalars['ID']['input']; + customerId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyAssignMainContactArgs = { + companyContactId: Scalars['ID']['input']; + companyId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactAssignRoleArgs = { + companyContactId: Scalars['ID']['input']; + companyContactRoleId: Scalars['ID']['input']; + companyLocationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactAssignRolesArgs = { + companyContactId: Scalars['ID']['input']; + rolesToAssign: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactCreateArgs = { + companyId: Scalars['ID']['input']; + input: CompanyContactInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactDeleteArgs = { + companyContactId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactRemoveFromCompanyArgs = { + companyContactId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactRevokeRoleArgs = { + companyContactId: Scalars['ID']['input']; + companyContactRoleAssignmentId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactRevokeRolesArgs = { + companyContactId: Scalars['ID']['input']; + revokeAll?: InputMaybe; + roleAssignmentIds?: InputMaybe>; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactSendWelcomeEmailArgs = { + companyContactId: Scalars['ID']['input']; + email?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactUpdateArgs = { + companyContactId: Scalars['ID']['input']; + input: CompanyContactInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyContactsDeleteArgs = { + companyContactIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyCreateArgs = { + input: CompanyCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationAssignAddressArgs = { + address: CompanyAddressInput; + addressTypes: Array; + locationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationAssignRolesArgs = { + companyLocationId: Scalars['ID']['input']; + rolesToAssign: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationAssignStaffMembersArgs = { + companyLocationId: Scalars['ID']['input']; + staffMemberIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationAssignTaxExemptionsArgs = { + companyLocationId: Scalars['ID']['input']; + taxExemptions: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationCreateArgs = { + companyId: Scalars['ID']['input']; + input: CompanyLocationInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationCreateTaxRegistrationArgs = { + locationId: Scalars['ID']['input']; + taxId: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationDeleteArgs = { + companyLocationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationRemoveStaffMembersArgs = { + companyLocationStaffMemberAssignmentIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationRevokeRolesArgs = { + companyLocationId: Scalars['ID']['input']; + rolesToRevoke: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationRevokeTaxExemptionsArgs = { + companyLocationId: Scalars['ID']['input']; + taxExemptions: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationRevokeTaxRegistrationArgs = { + companyLocationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationUpdateArgs = { + companyLocationId: Scalars['ID']['input']; + input: CompanyLocationUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyLocationsDeleteArgs = { + companyLocationIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyRevokeMainContactArgs = { + companyId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCompanyUpdateArgs = { + companyId: Scalars['ID']['input']; + input: CompanyInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerAddTaxExemptionsArgs = { + customerId: Scalars['ID']['input']; + taxExemptions: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerCancelDataErasureArgs = { + customerId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerCreateArgs = { + input: CustomerInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerDeleteArgs = { + input: CustomerDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerEmailMarketingConsentUpdateArgs = { + input: CustomerEmailMarketingConsentUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerGenerateAccountActivationUrlArgs = { + customerId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerMergeArgs = { + customerOneId: Scalars['ID']['input']; + customerTwoId: Scalars['ID']['input']; + overrideFields?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodCreateFromDuplicationDataArgs = { + billingAddress: MailingAddressInput; + customerId: Scalars['ID']['input']; + encryptedDuplicationData: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodCreditCardCreateArgs = { + billingAddress: MailingAddressInput; + customerId: Scalars['ID']['input']; + sessionId: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodCreditCardUpdateArgs = { + billingAddress: MailingAddressInput; + id: Scalars['ID']['input']; + sessionId: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodGetDuplicationDataArgs = { + customerPaymentMethodId: Scalars['ID']['input']; + targetCustomerId: Scalars['ID']['input']; + targetShopId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodGetUpdateUrlArgs = { + customerPaymentMethodId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodPaypalBillingAgreementCreateArgs = { + billingAddress?: InputMaybe; + billingAgreementId: Scalars['String']['input']; + customerId: Scalars['ID']['input']; + inactive?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodPaypalBillingAgreementUpdateArgs = { + billingAddress: MailingAddressInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodRemoteCreateArgs = { + customerId: Scalars['ID']['input']; + remoteReference: CustomerPaymentMethodRemoteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodRemoteCreditCardCreateArgs = { + customerId: Scalars['ID']['input']; + stripeCustomerId: Scalars['String']['input']; + stripePaymentMethodId?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodRevokeArgs = { + customerPaymentMethodId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerPaymentMethodSendUpdateEmailArgs = { + customerPaymentMethodId: Scalars['ID']['input']; + email?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerRemoveTaxExemptionsArgs = { + customerId: Scalars['ID']['input']; + taxExemptions: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerReplaceTaxExemptionsArgs = { + customerId: Scalars['ID']['input']; + taxExemptions: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerRequestDataErasureArgs = { + customerId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerSegmentMembersQueryCreateArgs = { + input: CustomerSegmentMembersQueryInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerSendAccountInviteEmailArgs = { + customerId: Scalars['ID']['input']; + email?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerSmsMarketingConsentUpdateArgs = { + input: CustomerSmsMarketingConsentUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerUpdateArgs = { + input: CustomerInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationCustomerUpdateDefaultAddressArgs = { + addressId: Scalars['ID']['input']; + customerId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDataSaleOptOutArgs = { + email: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDelegateAccessTokenCreateArgs = { + input: DelegateAccessTokenInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDelegateAccessTokenDestroyArgs = { + accessToken: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryCustomizationActivationArgs = { + enabled: Scalars['Boolean']['input']; + ids: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryCustomizationCreateArgs = { + deliveryCustomization: DeliveryCustomizationInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryCustomizationDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryCustomizationUpdateArgs = { + deliveryCustomization: DeliveryCustomizationInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryProfileCreateArgs = { + profile: DeliveryProfileInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryProfileRemoveArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryProfileUpdateArgs = { + id: Scalars['ID']['input']; + leaveLegacyModeProfiles?: InputMaybe; + profile: DeliveryProfileInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryPromiseProviderUpsertArgs = { + active?: InputMaybe; + fulfillmentDelay?: InputMaybe; + locationId: Scalars['ID']['input']; + timeZone?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliverySettingUpdateArgs = { + setting: DeliverySettingInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDeliveryShippingOriginAssignArgs = { + locationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticActivateArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticAppCreateArgs = { + automaticAppDiscount: DiscountAutomaticAppInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticAppUpdateArgs = { + automaticAppDiscount: DiscountAutomaticAppInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticBasicCreateArgs = { + automaticBasicDiscount: DiscountAutomaticBasicInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticBasicUpdateArgs = { + automaticBasicDiscount: DiscountAutomaticBasicInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticBulkDeleteArgs = { + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticBxgyCreateArgs = { + automaticBxgyDiscount: DiscountAutomaticBxgyInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticBxgyUpdateArgs = { + automaticBxgyDiscount: DiscountAutomaticBxgyInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticDeactivateArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticFreeShippingCreateArgs = { + freeShippingAutomaticDiscount: DiscountAutomaticFreeShippingInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountAutomaticFreeShippingUpdateArgs = { + freeShippingAutomaticDiscount: DiscountAutomaticFreeShippingInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeActivateArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeAppCreateArgs = { + codeAppDiscount: DiscountCodeAppInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeAppUpdateArgs = { + codeAppDiscount: DiscountCodeAppInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeBasicCreateArgs = { + basicCodeDiscount: DiscountCodeBasicInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeBasicUpdateArgs = { + basicCodeDiscount: DiscountCodeBasicInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeBulkActivateArgs = { + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeBulkDeactivateArgs = { + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeBulkDeleteArgs = { + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeBxgyCreateArgs = { + bxgyCodeDiscount: DiscountCodeBxgyInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeBxgyUpdateArgs = { + bxgyCodeDiscount: DiscountCodeBxgyInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeDeactivateArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeFreeShippingCreateArgs = { + freeShippingCodeDiscount: DiscountCodeFreeShippingInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeFreeShippingUpdateArgs = { + freeShippingCodeDiscount: DiscountCodeFreeShippingInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountCodeRedeemCodeBulkDeleteArgs = { + discountId: Scalars['ID']['input']; + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDiscountRedeemCodeBulkAddArgs = { + codes: Array; + discountId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDisputeEvidenceUpdateArgs = { + id: Scalars['ID']['input']; + input: ShopifyPaymentsDisputeEvidenceUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderBulkAddTagsArgs = { + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; + tags: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderBulkDeleteArgs = { + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderBulkRemoveTagsArgs = { + ids?: InputMaybe>; + savedSearchId?: InputMaybe; + search?: InputMaybe; + tags: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderCalculateArgs = { + input: DraftOrderInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderCompleteArgs = { + id: Scalars['ID']['input']; + paymentGatewayId?: InputMaybe; + sourceName?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderCreateArgs = { + input: DraftOrderInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderCreateFromOrderArgs = { + orderId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderCreateMerchantCheckoutArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderDeleteArgs = { + input: DraftOrderDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderDuplicateArgs = { + id?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderInvoicePreviewArgs = { + email?: InputMaybe; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderInvoiceSendArgs = { + email?: InputMaybe; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationDraftOrderUpdateArgs = { + id: Scalars['ID']['input']; + input: DraftOrderInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationEventBridgeServerPixelUpdateArgs = { + arn: Scalars['ARN']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationEventBridgeWebhookSubscriptionCreateArgs = { + topic: WebhookSubscriptionTopic; + webhookSubscription: EventBridgeWebhookSubscriptionInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationEventBridgeWebhookSubscriptionUpdateArgs = { + id: Scalars['ID']['input']; + webhookSubscription: EventBridgeWebhookSubscriptionInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFileAcknowledgeUpdateFailedArgs = { + fileIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFileCreateArgs = { + files: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFileDeleteArgs = { + fileIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFileUpdateArgs = { + files: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFlowGenerateSignatureArgs = { + id: Scalars['ID']['input']; + payload: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFlowTriggerReceiveArgs = { + handle?: InputMaybe; + payload?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentCancelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentConstraintRuleCreateArgs = { + deliveryMethodTypes: Array; + functionId: Scalars['String']['input']; + metafields?: InputMaybe>; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentConstraintRuleDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentConstraintRuleUpdateArgs = { + deliveryMethodTypes: Array; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentCreateArgs = { + fulfillment: FulfillmentInput; + message?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentCreateV2Args = { + fulfillment: FulfillmentV2Input; + message?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentEventCreateArgs = { + fulfillmentEvent: FulfillmentEventInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderAcceptCancellationRequestArgs = { + id: Scalars['ID']['input']; + message?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderAcceptFulfillmentRequestArgs = { + id: Scalars['ID']['input']; + message?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderCancelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderCloseArgs = { + id: Scalars['ID']['input']; + message?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderHoldArgs = { + fulfillmentHold: FulfillmentOrderHoldInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderLineItemsPreparedForPickupArgs = { + input: FulfillmentOrderLineItemsPreparedForPickupInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderMergeArgs = { + fulfillmentOrderMergeInputs: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderMoveArgs = { + fulfillmentOrderLineItems?: InputMaybe>; + id: Scalars['ID']['input']; + newLocationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderOpenArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderRejectCancellationRequestArgs = { + id: Scalars['ID']['input']; + message?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderRejectFulfillmentRequestArgs = { + id: Scalars['ID']['input']; + lineItems?: InputMaybe>; + message?: InputMaybe; + reason?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderReleaseHoldArgs = { + externalId?: InputMaybe; + holdIds?: InputMaybe>; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderRescheduleArgs = { + fulfillAt: Scalars['DateTime']['input']; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderSplitArgs = { + fulfillmentOrderSplits: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderSubmitCancellationRequestArgs = { + id: Scalars['ID']['input']; + message?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrderSubmitFulfillmentRequestArgs = { + fulfillmentOrderLineItems?: InputMaybe>; + id: Scalars['ID']['input']; + message?: InputMaybe; + notifyCustomer?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentOrdersSetFulfillmentDeadlineArgs = { + fulfillmentDeadline: Scalars['DateTime']['input']; + fulfillmentOrderIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentServiceCreateArgs = { + callbackUrl: Scalars['URL']['input']; + inventoryManagement?: InputMaybe; + name: Scalars['String']['input']; + trackingSupport?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentServiceDeleteArgs = { + destinationLocationId?: InputMaybe; + id: Scalars['ID']['input']; + inventoryAction?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentServiceUpdateArgs = { + callbackUrl?: InputMaybe; + id: Scalars['ID']['input']; + inventoryManagement?: InputMaybe; + name?: InputMaybe; + trackingSupport?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentTrackingInfoUpdateArgs = { + fulfillmentId: Scalars['ID']['input']; + notifyCustomer?: InputMaybe; + trackingInfoInput: FulfillmentTrackingInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationFulfillmentTrackingInfoUpdateV2Args = { + fulfillmentId: Scalars['ID']['input']; + notifyCustomer?: InputMaybe; + trackingInfoInput: FulfillmentTrackingInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationGiftCardCreateArgs = { + input: GiftCardCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationGiftCardCreditArgs = { + creditInput: GiftCardCreditInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationGiftCardDeactivateArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationGiftCardDebitArgs = { + debitInput: GiftCardDebitInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationGiftCardSendNotificationToCustomerArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationGiftCardSendNotificationToRecipientArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationGiftCardUpdateArgs = { + id: Scalars['ID']['input']; + input: GiftCardUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventoryActivateArgs = { + available?: InputMaybe; + inventoryItemId: Scalars['ID']['input']; + locationId: Scalars['ID']['input']; + onHand?: InputMaybe; + stockAtLegacyLocation?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventoryAdjustQuantitiesArgs = { + input: InventoryAdjustQuantitiesInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventoryBulkToggleActivationArgs = { + inventoryItemId: Scalars['ID']['input']; + inventoryItemUpdates: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventoryDeactivateArgs = { + inventoryLevelId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventoryItemUpdateArgs = { + id: Scalars['ID']['input']; + input: InventoryItemInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventoryMoveQuantitiesArgs = { + input: InventoryMoveQuantitiesInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventorySetOnHandQuantitiesArgs = { + input: InventorySetOnHandQuantitiesInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventorySetQuantitiesArgs = { + input: InventorySetQuantitiesInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationInventorySetScheduledChangesArgs = { + input: InventorySetScheduledChangesInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationLocationActivateArgs = { + locationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationLocationAddArgs = { + input: LocationAddInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationLocationDeactivateArgs = { + destinationLocationId?: InputMaybe; + locationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationLocationDeleteArgs = { + locationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationLocationEditArgs = { + id: Scalars['ID']['input']; + input: LocationEditInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationLocationLocalPickupDisableArgs = { + locationId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationLocationLocalPickupEnableArgs = { + localPickupSettings: DeliveryLocationLocalPickupEnableInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketCreateArgs = { + input: MarketCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketCurrencySettingsUpdateArgs = { + input: MarketCurrencySettingsUpdateInput; + marketId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketLocalizationsRegisterArgs = { + marketLocalizations: Array; + resourceId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketLocalizationsRemoveArgs = { + marketIds: Array; + marketLocalizationKeys: Array; + resourceId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketRegionDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketRegionsCreateArgs = { + marketId: Scalars['ID']['input']; + regions: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketRegionsDeleteArgs = { + ids: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketUpdateArgs = { + id: Scalars['ID']['input']; + input: MarketUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketWebPresenceCreateArgs = { + marketId: Scalars['ID']['input']; + webPresence: MarketWebPresenceCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketWebPresenceDeleteArgs = { + webPresenceId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketWebPresenceUpdateArgs = { + webPresence: MarketWebPresenceUpdateInput; + webPresenceId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingActivityCreateArgs = { + input: MarketingActivityCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingActivityCreateExternalArgs = { + input: MarketingActivityCreateExternalInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingActivityDeleteExternalArgs = { + marketingActivityId?: InputMaybe; + remoteId?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingActivityUpdateArgs = { + input: MarketingActivityUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingActivityUpdateExternalArgs = { + input: MarketingActivityUpdateExternalInput; + marketingActivityId?: InputMaybe; + remoteId?: InputMaybe; + utm?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingActivityUpsertExternalArgs = { + input: MarketingActivityUpsertExternalInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingEngagementCreateArgs = { + channelHandle?: InputMaybe; + marketingActivityId?: InputMaybe; + marketingEngagement: MarketingEngagementInput; + remoteId?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMarketingEngagementsDeleteArgs = { + channelHandle?: InputMaybe; + deleteEngagementsForAllChannels?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMenuCreateArgs = { + handle: Scalars['String']['input']; + items: Array; + title: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMenuDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMenuUpdateArgs = { + handle?: InputMaybe; + id: Scalars['ID']['input']; + items: Array; + title: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldDefinitionCreateArgs = { + definition: MetafieldDefinitionInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldDefinitionDeleteArgs = { + deleteAllAssociatedMetafields?: InputMaybe; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldDefinitionPinArgs = { + definitionId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldDefinitionUnpinArgs = { + definitionId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldDefinitionUpdateArgs = { + definition: MetafieldDefinitionUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldDeleteArgs = { + input: MetafieldDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldStorefrontVisibilityCreateArgs = { + input: MetafieldStorefrontVisibilityInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldStorefrontVisibilityDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldsDeleteArgs = { + metafields: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetafieldsSetArgs = { + metafields: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectBulkDeleteArgs = { + where: MetaobjectBulkDeleteWhereCondition; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectCreateArgs = { + metaobject: MetaobjectCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectDefinitionCreateArgs = { + definition: MetaobjectDefinitionCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectDefinitionDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectDefinitionUpdateArgs = { + definition: MetaobjectDefinitionUpdateInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectUpdateArgs = { + id: Scalars['ID']['input']; + metaobject: MetaobjectUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMetaobjectUpsertArgs = { + handle: MetaobjectHandleInput; + metaobject: MetaobjectUpsertInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMobilePlatformApplicationCreateArgs = { + input: MobilePlatformApplicationCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMobilePlatformApplicationDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationMobilePlatformApplicationUpdateArgs = { + id: Scalars['ID']['input']; + input: MobilePlatformApplicationUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderCancelArgs = { + notifyCustomer?: InputMaybe; + orderId: Scalars['ID']['input']; + reason: OrderCancelReason; + refund: Scalars['Boolean']['input']; + restock: Scalars['Boolean']['input']; + staffNote?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderCaptureArgs = { + input: OrderCaptureInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderCloseArgs = { + input: OrderCloseInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderCreateArgs = { + options?: InputMaybe; + order: OrderCreateOrderInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderCreateMandatePaymentArgs = { + amount?: InputMaybe; + autoCapture?: InputMaybe; + id: Scalars['ID']['input']; + idempotencyKey: Scalars['String']['input']; + mandateId: Scalars['ID']['input']; + paymentScheduleId?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderDeleteArgs = { + orderId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditAddCustomItemArgs = { + id: Scalars['ID']['input']; + locationId?: InputMaybe; + price: MoneyInput; + quantity: Scalars['Int']['input']; + requiresShipping?: InputMaybe; + taxable?: InputMaybe; + title: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditAddLineItemDiscountArgs = { + discount: OrderEditAppliedDiscountInput; + id: Scalars['ID']['input']; + lineItemId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditAddShippingLineArgs = { + id: Scalars['ID']['input']; + shippingLine: OrderEditAddShippingLineInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditAddVariantArgs = { + allowDuplicates?: InputMaybe; + id: Scalars['ID']['input']; + locationId?: InputMaybe; + quantity: Scalars['Int']['input']; + variantId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditBeginArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditCommitArgs = { + id: Scalars['ID']['input']; + notifyCustomer?: InputMaybe; + staffNote?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditRemoveDiscountArgs = { + discountApplicationId: Scalars['ID']['input']; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditRemoveLineItemDiscountArgs = { + discountApplicationId: Scalars['ID']['input']; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditRemoveShippingLineArgs = { + id: Scalars['ID']['input']; + shippingLineId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditSetQuantityArgs = { + id: Scalars['ID']['input']; + lineItemId: Scalars['ID']['input']; + quantity: Scalars['Int']['input']; + restock?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditUpdateDiscountArgs = { + discount: OrderEditAppliedDiscountInput; + discountApplicationId: Scalars['ID']['input']; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderEditUpdateShippingLineArgs = { + id: Scalars['ID']['input']; + shippingLine: OrderEditUpdateShippingLineInput; + shippingLineId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderInvoiceSendArgs = { + email?: InputMaybe; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderMarkAsPaidArgs = { + input: OrderMarkAsPaidInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderOpenArgs = { + input: OrderOpenInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderRiskAssessmentCreateArgs = { + orderRiskAssessmentInput: OrderRiskAssessmentCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationOrderUpdateArgs = { + input: OrderInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPageCreateArgs = { + page: PageCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPageDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPageUpdateArgs = { + id: Scalars['ID']['input']; + page: PageUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentCustomizationActivationArgs = { + enabled: Scalars['Boolean']['input']; + ids: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentCustomizationCreateArgs = { + paymentCustomization: PaymentCustomizationInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentCustomizationDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentCustomizationUpdateArgs = { + id: Scalars['ID']['input']; + paymentCustomization: PaymentCustomizationInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentReminderSendArgs = { + paymentScheduleId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentTermsCreateArgs = { + paymentTermsAttributes: PaymentTermsCreateInput; + referenceId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentTermsDeleteArgs = { + input: PaymentTermsDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPaymentTermsUpdateArgs = { + input: PaymentTermsUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPriceListCreateArgs = { + input: PriceListCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPriceListDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPriceListFixedPricesAddArgs = { + priceListId: Scalars['ID']['input']; + prices: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPriceListFixedPricesByProductUpdateArgs = { + priceListId: Scalars['ID']['input']; + pricesToAdd?: InputMaybe>; + pricesToDeleteByProductIds?: InputMaybe>; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPriceListFixedPricesDeleteArgs = { + priceListId: Scalars['ID']['input']; + variantIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPriceListFixedPricesUpdateArgs = { + priceListId: Scalars['ID']['input']; + pricesToAdd: Array; + variantIdsToDelete: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPriceListUpdateArgs = { + id: Scalars['ID']['input']; + input: PriceListUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPrivateMetafieldDeleteArgs = { + input: PrivateMetafieldDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPrivateMetafieldUpsertArgs = { + input: PrivateMetafieldInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductBundleCreateArgs = { + input: ProductBundleCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductBundleUpdateArgs = { + input: ProductBundleUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductChangeStatusArgs = { + productId: Scalars['ID']['input']; + status: ProductStatus; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductCreateArgs = { + media?: InputMaybe>; + product?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductCreateMediaArgs = { + media: Array; + productId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductDeleteArgs = { + input: ProductDeleteInput; + synchronous?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductDeleteMediaArgs = { + mediaIds: Array; + productId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductDuplicateArgs = { + includeImages?: InputMaybe; + includeTranslations?: InputMaybe; + newStatus?: InputMaybe; + newTitle: Scalars['String']['input']; + productId: Scalars['ID']['input']; + synchronous?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductFeedCreateArgs = { + input?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductFeedDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductFullSyncArgs = { + beforeUpdatedAt?: InputMaybe; + id: Scalars['ID']['input']; + updatedAtSince?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductJoinSellingPlanGroupsArgs = { + id: Scalars['ID']['input']; + sellingPlanGroupIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductLeaveSellingPlanGroupsArgs = { + id: Scalars['ID']['input']; + sellingPlanGroupIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductOptionUpdateArgs = { + option: OptionUpdateInput; + optionValuesToAdd?: InputMaybe>; + optionValuesToDelete?: InputMaybe>; + optionValuesToUpdate?: InputMaybe>; + productId: Scalars['ID']['input']; + variantStrategy?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductOptionsCreateArgs = { + options: Array; + productId: Scalars['ID']['input']; + variantStrategy?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductOptionsDeleteArgs = { + options: Array; + productId: Scalars['ID']['input']; + strategy?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductOptionsReorderArgs = { + options: Array; + productId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductPublishArgs = { + input: ProductPublishInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductReorderMediaArgs = { + id: Scalars['ID']['input']; + moves: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductSetArgs = { + input: ProductSetInput; + synchronous?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductUnpublishArgs = { + input: ProductUnpublishInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductUpdateArgs = { + media?: InputMaybe>; + product?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductUpdateMediaArgs = { + media: Array; + productId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantAppendMediaArgs = { + productId: Scalars['ID']['input']; + variantMedia: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantDetachMediaArgs = { + productId: Scalars['ID']['input']; + variantMedia: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantJoinSellingPlanGroupsArgs = { + id: Scalars['ID']['input']; + sellingPlanGroupIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantLeaveSellingPlanGroupsArgs = { + id: Scalars['ID']['input']; + sellingPlanGroupIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantRelationshipBulkUpdateArgs = { + input: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantsBulkCreateArgs = { + media?: InputMaybe>; + productId: Scalars['ID']['input']; + strategy?: InputMaybe; + variants: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantsBulkDeleteArgs = { + productId: Scalars['ID']['input']; + variantsIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantsBulkReorderArgs = { + positions: Array; + productId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationProductVariantsBulkUpdateArgs = { + allowPartialUpdates?: InputMaybe; + media?: InputMaybe>; + productId: Scalars['ID']['input']; + variants: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPubSubServerPixelUpdateArgs = { + pubSubProject: Scalars['String']['input']; + pubSubTopic: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPubSubWebhookSubscriptionCreateArgs = { + topic: WebhookSubscriptionTopic; + webhookSubscription: PubSubWebhookSubscriptionInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPubSubWebhookSubscriptionUpdateArgs = { + id: Scalars['ID']['input']; + webhookSubscription?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPublicationCreateArgs = { + input: PublicationCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPublicationDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPublicationUpdateArgs = { + id: Scalars['ID']['input']; + input: PublicationUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPublishablePublishArgs = { + id: Scalars['ID']['input']; + input: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPublishablePublishToCurrentChannelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPublishableUnpublishArgs = { + id: Scalars['ID']['input']; + input: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationPublishableUnpublishToCurrentChannelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationQuantityPricingByVariantUpdateArgs = { + input: QuantityPricingByVariantUpdateInput; + priceListId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationQuantityRulesAddArgs = { + priceListId: Scalars['ID']['input']; + quantityRules: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationQuantityRulesDeleteArgs = { + priceListId: Scalars['ID']['input']; + variantIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationRefundCreateArgs = { + input: RefundInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnApproveRequestArgs = { + input: ReturnApproveRequestInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnCancelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnCloseArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnCreateArgs = { + returnInput: ReturnInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnDeclineRequestArgs = { + input: ReturnDeclineRequestInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnLineItemRemoveFromReturnArgs = { + returnId: Scalars['ID']['input']; + returnLineItems: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnRefundArgs = { + returnRefundInput: ReturnRefundInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnReopenArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReturnRequestArgs = { + input: ReturnRequestInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReverseDeliveryCreateWithShippingArgs = { + labelInput?: InputMaybe; + notifyCustomer?: InputMaybe; + reverseDeliveryLineItems: Array; + reverseFulfillmentOrderId: Scalars['ID']['input']; + trackingInput?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReverseDeliveryShippingUpdateArgs = { + labelInput?: InputMaybe; + notifyCustomer?: InputMaybe; + reverseDeliveryId: Scalars['ID']['input']; + trackingInput?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationReverseFulfillmentOrderDisposeArgs = { + dispositionInputs: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSavedSearchCreateArgs = { + input: SavedSearchCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSavedSearchDeleteArgs = { + input: SavedSearchDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSavedSearchUpdateArgs = { + input: SavedSearchUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationScriptTagCreateArgs = { + input: ScriptTagInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationScriptTagDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationScriptTagUpdateArgs = { + id: Scalars['ID']['input']; + input: ScriptTagInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSegmentCreateArgs = { + name: Scalars['String']['input']; + query: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSegmentDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSegmentUpdateArgs = { + id: Scalars['ID']['input']; + name?: InputMaybe; + query?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSellingPlanGroupAddProductVariantsArgs = { + id: Scalars['ID']['input']; + productVariantIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSellingPlanGroupAddProductsArgs = { + id: Scalars['ID']['input']; + productIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSellingPlanGroupCreateArgs = { + input: SellingPlanGroupInput; + resources?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSellingPlanGroupDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSellingPlanGroupRemoveProductVariantsArgs = { + id: Scalars['ID']['input']; + productVariantIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSellingPlanGroupRemoveProductsArgs = { + id: Scalars['ID']['input']; + productIds: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSellingPlanGroupUpdateArgs = { + id: Scalars['ID']['input']; + input: SellingPlanGroupInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShippingPackageDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShippingPackageMakeDefaultArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShippingPackageUpdateArgs = { + id: Scalars['ID']['input']; + shippingPackage: CustomShippingPackageInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShopLocaleDisableArgs = { + locale: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShopLocaleEnableArgs = { + locale: Scalars['String']['input']; + marketWebPresenceIds?: InputMaybe>; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShopLocaleUpdateArgs = { + locale: Scalars['String']['input']; + shopLocale: ShopLocaleInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShopPolicyUpdateArgs = { + shopPolicy: ShopPolicyInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationShopResourceFeedbackCreateArgs = { + input: ResourceFeedbackCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStagedUploadTargetGenerateArgs = { + input: StagedUploadTargetGenerateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStagedUploadTargetsGenerateArgs = { + input: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStagedUploadsCreateArgs = { + input: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStandardMetafieldDefinitionEnableArgs = { + access?: InputMaybe; + id?: InputMaybe; + key?: InputMaybe; + namespace?: InputMaybe; + ownerType: MetafieldOwnerType; + pin?: Scalars['Boolean']['input']; + useAsCollectionCondition?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStandardMetaobjectDefinitionEnableArgs = { + type: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStoreCreditAccountCreditArgs = { + creditInput: StoreCreditAccountCreditInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStoreCreditAccountDebitArgs = { + debitInput: StoreCreditAccountDebitInput; + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStorefrontAccessTokenCreateArgs = { + input: StorefrontAccessTokenInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationStorefrontAccessTokenDeleteArgs = { + input: StorefrontAccessTokenDeleteInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingAttemptCreateArgs = { + subscriptionBillingAttemptInput: SubscriptionBillingAttemptInput; + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleBulkChargeArgs = { + billingAttemptExpectedDateRange: SubscriptionBillingCyclesDateRangeSelector; + filters?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleBulkSearchArgs = { + billingAttemptExpectedDateRange: SubscriptionBillingCyclesDateRangeSelector; + filters?: InputMaybe; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleChargeArgs = { + billingCycleSelector: SubscriptionBillingCycleSelector; + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleContractDraftCommitArgs = { + draftId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleContractDraftConcatenateArgs = { + concatenatedBillingCycleContracts: Array; + draftId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleContractEditArgs = { + billingCycleInput: SubscriptionBillingCycleInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleEditDeleteArgs = { + billingCycleInput: SubscriptionBillingCycleInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleEditsDeleteArgs = { + contractId: Scalars['ID']['input']; + targetSelection: SubscriptionBillingCyclesTargetSelection; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleScheduleEditArgs = { + billingCycleInput: SubscriptionBillingCycleInput; + input: SubscriptionBillingCycleScheduleEditInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleSkipArgs = { + billingCycleInput: SubscriptionBillingCycleInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionBillingCycleUnskipArgs = { + billingCycleInput: SubscriptionBillingCycleInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractActivateArgs = { + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractAtomicCreateArgs = { + input: SubscriptionContractAtomicCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractCancelArgs = { + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractCreateArgs = { + input: SubscriptionContractCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractExpireArgs = { + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractFailArgs = { + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractPauseArgs = { + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractProductChangeArgs = { + input: SubscriptionContractProductChangeInput; + lineId: Scalars['ID']['input']; + subscriptionContractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractSetNextBillingDateArgs = { + contractId: Scalars['ID']['input']; + date: Scalars['DateTime']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionContractUpdateArgs = { + contractId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftCommitArgs = { + draftId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftDiscountAddArgs = { + draftId: Scalars['ID']['input']; + input: SubscriptionManualDiscountInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftDiscountCodeApplyArgs = { + draftId: Scalars['ID']['input']; + redeemCode: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftDiscountRemoveArgs = { + discountId: Scalars['ID']['input']; + draftId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftDiscountUpdateArgs = { + discountId: Scalars['ID']['input']; + draftId: Scalars['ID']['input']; + input: SubscriptionManualDiscountInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftFreeShippingDiscountAddArgs = { + draftId: Scalars['ID']['input']; + input: SubscriptionFreeShippingDiscountInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftFreeShippingDiscountUpdateArgs = { + discountId: Scalars['ID']['input']; + draftId: Scalars['ID']['input']; + input: SubscriptionFreeShippingDiscountInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftLineAddArgs = { + draftId: Scalars['ID']['input']; + input: SubscriptionLineInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftLineRemoveArgs = { + draftId: Scalars['ID']['input']; + lineId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftLineUpdateArgs = { + draftId: Scalars['ID']['input']; + input: SubscriptionLineUpdateInput; + lineId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationSubscriptionDraftUpdateArgs = { + draftId: Scalars['ID']['input']; + input: SubscriptionDraftInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationTagsAddArgs = { + id: Scalars['ID']['input']; + tags: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationTagsRemoveArgs = { + id: Scalars['ID']['input']; + tags: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationTaxAppConfigureArgs = { + ready: Scalars['Boolean']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationThemeCreateArgs = { + name?: InputMaybe; + source: Scalars['URL']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationThemeDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationThemeFilesCopyArgs = { + files: Array; + themeId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationThemeFilesDeleteArgs = { + files: Array; + themeId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationThemeFilesUpsertArgs = { + files: Array; + themeId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationThemePublishArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationThemeUpdateArgs = { + id: Scalars['ID']['input']; + input: OnlineStoreThemeInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationTransactionVoidArgs = { + parentTransactionId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationTranslationsRegisterArgs = { + resourceId: Scalars['ID']['input']; + translations: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationTranslationsRemoveArgs = { + locales: Array; + marketIds?: InputMaybe>; + resourceId: Scalars['ID']['input']; + translationKeys: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectBulkDeleteByIdsArgs = { + ids: Array; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectBulkDeleteBySavedSearchArgs = { + savedSearchId: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectBulkDeleteBySearchArgs = { + search: Scalars['String']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectCreateArgs = { + urlRedirect: UrlRedirectInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectImportCreateArgs = { + url: Scalars['URL']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectImportSubmitArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationUrlRedirectUpdateArgs = { + id: Scalars['ID']['input']; + urlRedirect: UrlRedirectInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationValidationCreateArgs = { + validation: ValidationCreateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationValidationDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationValidationUpdateArgs = { + id: Scalars['ID']['input']; + validation: ValidationUpdateInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationWebPixelCreateArgs = { + webPixel: WebPixelInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationWebPixelDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationWebPixelUpdateArgs = { + id: Scalars['ID']['input']; + webPixel: WebPixelInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationWebhookSubscriptionCreateArgs = { + topic: WebhookSubscriptionTopic; + webhookSubscription: WebhookSubscriptionInput; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationWebhookSubscriptionDeleteArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry point for all mutation operations. */ +export type MutationWebhookSubscriptionUpdateArgs = { + id: Scalars['ID']['input']; + webhookSubscription: WebhookSubscriptionInput; +}; + +/** + * A signed upload parameter for uploading an asset to Shopify. + * + * Deprecated in favor of + * [StagedUploadParameter](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadParameter), + * which is used in + * [StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget) + * and returned by the + * [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate). + */ +export type MutationsStagedUploadTargetGenerateUploadParameter = { + __typename?: 'MutationsStagedUploadTargetGenerateUploadParameter'; + /** The upload parameter name. */ + name: Scalars['String']['output']; + /** The upload parameter value. */ + value: Scalars['String']['output']; +}; + +/** + * A default cursor that you can use in queries to paginate your results. Each edge in a connection can + * return a cursor, which is a reference to the edge's position in the connection. You can use an edge's cursor as + * the starting point to retrieve the nodes before or after it in a connection. + * + * To learn more about using cursor-based pagination, refer to + * [Paginating results with GraphQL](https://shopify.dev/api/usage/pagination-graphql). + */ +export type Navigable = { + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; +}; + +/** A navigation item, holding basic link attributes. */ +export type NavigationItem = { + __typename?: 'NavigationItem'; + /** The unique identifier of the navigation item. */ + id: Scalars['String']['output']; + /** The name of the navigation item. */ + title: Scalars['String']['output']; + /** The URL of the page that the navigation item links to. */ + url: Scalars['URL']['output']; +}; + +/** + * An object with an ID field to support global identification, in accordance with the + * [Relay specification](https://relay.dev/graphql/objectidentification.htm#sec-Node-Interface). + * This interface is used by the [node](https://shopify.dev/api/admin-graphql/unstable/queries/node) + * and [nodes](https://shopify.dev/api/admin-graphql/unstable/queries/nodes) queries. + */ +export type Node = { + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** The input fields for dimensions of an object. */ +export type ObjectDimensionsInput = { + /** The height in `unit`s. */ + height: Scalars['Float']['input']; + /** The length in `unit`s. */ + length: Scalars['Float']['input']; + /** Unit of measurement for `length`, `width`, and `height`. */ + unit: LengthUnit; + /** The width in `unit`s. */ + width: Scalars['Float']['input']; +}; + +/** The shop's online store channel. */ +export type OnlineStore = { + __typename?: 'OnlineStore'; + /** Storefront password information. */ + passwordProtection: OnlineStorePasswordProtection; +}; + +/** Storefront password information. */ +export type OnlineStorePasswordProtection = { + __typename?: 'OnlineStorePasswordProtection'; + /** Whether the storefront password is enabled. */ + enabled: Scalars['Boolean']['output']; +}; + +/** Online Store preview URL of the object. */ +export type OnlineStorePreviewable = { + /** The [preview URL](https://help.shopify.com/manual/online-store/setting-up#preview-your-store) for the online store. */ + onlineStorePreviewUrl?: Maybe; +}; + +/** A theme for display on the storefront. */ +export type OnlineStoreTheme = HasPublishedTranslations & Node & { + __typename?: 'OnlineStoreTheme'; + /** The date and time when the theme was created. */ + createdAt: Scalars['DateTime']['output']; + /** The files in the theme. */ + files?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the theme, set by the merchant. */ + name: Scalars['String']['output']; + /** The prefix of the theme. */ + prefix: Scalars['String']['output']; + /** Whether the theme is processing. */ + processing: Scalars['Boolean']['output']; + /** Whether the theme processing failed. */ + processingFailed: Scalars['Boolean']['output']; + /** The role of the theme. */ + role: ThemeRole; + /** The theme store ID. */ + themeStoreId?: Maybe; + /** The published translations associated with the resource. */ + translations: Array; + /** The date and time when the theme was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** A theme for display on the storefront. */ +export type OnlineStoreThemeFilesArgs = { + after?: InputMaybe; + filenames?: InputMaybe>; + first?: InputMaybe; +}; + + +/** A theme for display on the storefront. */ +export type OnlineStoreThemeTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple OnlineStoreThemes. */ +export type OnlineStoreThemeConnection = { + __typename?: 'OnlineStoreThemeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in OnlineStoreThemeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one OnlineStoreTheme and a cursor during pagination. */ +export type OnlineStoreThemeEdge = { + __typename?: 'OnlineStoreThemeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of OnlineStoreThemeEdge. */ + node: OnlineStoreTheme; +}; + +/** Represents a theme file. */ +export type OnlineStoreThemeFile = { + __typename?: 'OnlineStoreThemeFile'; + /** The body of the theme file. */ + body: OnlineStoreThemeFileBody; + /** The md5 digest of the theme file for data integrity. */ + checksumMd5?: Maybe; + /** The content type of the theme file. */ + contentType: Scalars['String']['output']; + /** The date and time when the theme file was created. */ + createdAt: Scalars['DateTime']['output']; + /** The unique identifier of the theme file. */ + filename: Scalars['String']['output']; + /** The size of the theme file in bytes. */ + size: Scalars['UnsignedInt64']['output']; + /** The date and time when the theme file was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** Represents the body of a theme file. */ +export type OnlineStoreThemeFileBody = OnlineStoreThemeFileBodyBase64 | OnlineStoreThemeFileBodyText | OnlineStoreThemeFileBodyUrl; + +/** Represents the base64 encoded body of a theme file. */ +export type OnlineStoreThemeFileBodyBase64 = { + __typename?: 'OnlineStoreThemeFileBodyBase64'; + /** The body of the theme file, base64 encoded. */ + contentBase64: Scalars['String']['output']; +}; + +/** The input fields for the theme file body. */ +export type OnlineStoreThemeFileBodyInput = { + /** The input type of the theme file body. */ + type: OnlineStoreThemeFileBodyInputType; + /** The body of the theme file. */ + value: Scalars['String']['input']; +}; + +/** The input type for a theme file body. */ +export enum OnlineStoreThemeFileBodyInputType { + /** The base64 encoded body of a theme file. */ + Base64 = 'BASE64', + /** The text body of the theme file. */ + Text = 'TEXT', + /** The url of the body of a theme file. */ + Url = 'URL' +} + +/** Represents the body of a theme file. */ +export type OnlineStoreThemeFileBodyText = { + __typename?: 'OnlineStoreThemeFileBodyText'; + /** The body of the theme file. */ + content: Scalars['String']['output']; +}; + +/** Represents the url of the body of a theme file. */ +export type OnlineStoreThemeFileBodyUrl = { + __typename?: 'OnlineStoreThemeFileBodyUrl'; + /** The url for the body of the theme file. */ + url: Scalars['URL']['output']; +}; + +/** An auto-generated type for paginating through multiple OnlineStoreThemeFiles. */ +export type OnlineStoreThemeFileConnection = { + __typename?: 'OnlineStoreThemeFileConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in OnlineStoreThemeFileEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; + /** List of errors that occurred during the request. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one OnlineStoreThemeFile and a cursor during pagination. */ +export type OnlineStoreThemeFileEdge = { + __typename?: 'OnlineStoreThemeFileEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of OnlineStoreThemeFileEdge. */ + node: OnlineStoreThemeFile; +}; + +/** Represents the result of a copy, delete, or write operation performed on a theme file. */ +export type OnlineStoreThemeFileOperationResult = { + __typename?: 'OnlineStoreThemeFileOperationResult'; + /** Unique identifier of the theme file. */ + filename: Scalars['String']['output']; +}; + +/** Represents the result of a read operation performed on a theme asset. */ +export type OnlineStoreThemeFileReadResult = { + __typename?: 'OnlineStoreThemeFileReadResult'; + /** Type that indicates the result of the operation. */ + code: OnlineStoreThemeFileResultType; + /** Unique identifier associated with the operation and the theme file. */ + filename: Scalars['String']['output']; +}; + +/** Type of a theme file operation result. */ +export enum OnlineStoreThemeFileResultType { + /** Operation was malformed or invalid. */ + BadRequest = 'BAD_REQUEST', + /** Operation faced a conflict with the current state of the file. */ + Conflict = 'CONFLICT', + /** Operation encountered an error. */ + Error = 'ERROR', + /** Operation file could not be found. */ + NotFound = 'NOT_FOUND', + /** Operation was successful. */ + Success = 'SUCCESS', + /** Operation timed out. */ + Timeout = 'TIMEOUT', + /** Operation could not be processed due to issues with input data. */ + UnprocessableEntity = 'UNPROCESSABLE_ENTITY' +} + +/** The input fields for the file to create or update. */ +export type OnlineStoreThemeFilesUpsertFileInput = { + /** The body of the theme file. */ + body: OnlineStoreThemeFileBodyInput; + /** The filename of the theme file. */ + filename: Scalars['String']['input']; +}; + +/** User errors for theme file operations. */ +export type OnlineStoreThemeFilesUserErrors = DisplayableError & { + __typename?: 'OnlineStoreThemeFilesUserErrors'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The filename of the theme file. */ + filename?: Maybe; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OnlineStoreThemeFilesUserErrors`. */ +export enum OnlineStoreThemeFilesUserErrorsCode { + /** Access denied. */ + AccessDenied = 'ACCESS_DENIED', + /** There are files with the same filename. */ + DuplicateFileInput = 'DUPLICATE_FILE_INPUT', + /** Error. */ + Error = 'ERROR', + /** The file is invalid. */ + FileValidationError = 'FILE_VALIDATION_ERROR', + /** The input value should be less than or equal to the maximum value allowed. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** There are theme files with conflicts. */ + ThemeFilesConflict = 'THEME_FILES_CONFLICT', + /** This action is not available on your current plan. Please upgrade to access theme editing features. */ + ThemeLimitedPlan = 'THEME_LIMITED_PLAN' +} + +/** The input fields for Theme attributes to update. */ +export type OnlineStoreThemeInput = { + /** The new name of the theme. */ + name?: InputMaybe; +}; + +/** The input fields for the options and values of the combined listing. */ +export type OptionAndValueInput = { + /** The linked metafield for the product's option. */ + linkedMetafield?: InputMaybe; + /** The name of the Product's Option. */ + name: Scalars['String']['input']; + /** The ID of the option to update. If not present, the option will be created. */ + optionId?: InputMaybe; + /** The ordered values of the Product's Option. */ + values: Array; +}; + +/** The input fields for creating a product option. */ +export type OptionCreateInput = { + /** Specifies the metafield the option is linked to. */ + linkedMetafield?: InputMaybe; + /** Name of the option. */ + name?: InputMaybe; + /** Position of the option. */ + position?: InputMaybe; + /** Values associated with the option. */ + values?: InputMaybe>; +}; + +/** The input fields for reordering a product option and/or its values. */ +export type OptionReorderInput = { + /** Specifies the product option to reorder by ID. */ + id?: InputMaybe; + /** Specifies the product option to reorder by name. */ + name?: InputMaybe; + /** Values associated with the option. */ + values?: InputMaybe>; +}; + +/** The input fields for creating or updating a product option. */ +export type OptionSetInput = { + /** Specifies the product option to update. */ + id?: InputMaybe; + /** Specifies the metafield the option is linked to. */ + linkedMetafield?: InputMaybe; + /** Name of the option. */ + name?: InputMaybe; + /** Position of the option. */ + position?: InputMaybe; + /** Value associated with an option. */ + values?: InputMaybe>; +}; + +/** The input fields for updating a product option. */ +export type OptionUpdateInput = { + /** Specifies the product option to update. */ + id: Scalars['ID']['input']; + /** Specifies the metafield the option is linked to. */ + linkedMetafield?: InputMaybe; + /** Name of the option. */ + name?: InputMaybe; + /** Position of the option. */ + position?: InputMaybe; +}; + +/** The input fields required to create a product option value. */ +export type OptionValueCreateInput = { + /** Metafield value associated with an option. */ + linkedMetafieldValue?: InputMaybe; + /** Value associated with an option. */ + name?: InputMaybe; +}; + +/** The input fields for reordering a product option value. */ +export type OptionValueReorderInput = { + /** Specifies the product option value by ID. */ + id?: InputMaybe; + /** Specifies the product option value by name. */ + name?: InputMaybe; +}; + +/** The input fields for creating or updating a product option value. */ +export type OptionValueSetInput = { + /** Specifies the product option value. */ + id?: InputMaybe; + /** Value associated with an option. */ + name?: InputMaybe; +}; + +/** The input fields for updating a product option value. */ +export type OptionValueUpdateInput = { + /** Specifies the product option value. */ + id: Scalars['ID']['input']; + /** Metafield value associated with an option. */ + linkedMetafieldValue?: InputMaybe; + /** Value associated with an option. */ + name?: InputMaybe; +}; + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type Order = CommentEventSubject & HasEvents & HasLocalizationExtensions & HasMetafieldDefinitions & HasMetafields & LegacyInteroperability & Node & { + __typename?: 'Order'; + /** A list of additional fees applied to the order. */ + additionalFees: Array; + /** A list of sales agreements associated with the order. */ + agreements: SalesAgreementConnection; + /** A list of messages that appear on the order page in the Shopify admin. */ + alerts: Array; + /** The application that created the order. */ + app?: Maybe; + /** The billing address of the customer. */ + billingAddress?: Maybe; + /** Whether the billing address matches the shipping address. */ + billingAddressMatchesShippingAddress: Scalars['Boolean']['output']; + /** Whether the order can be manually marked as paid. */ + canMarkAsPaid: Scalars['Boolean']['output']; + /** Whether a customer email exists for the order. */ + canNotifyCustomer: Scalars['Boolean']['output']; + /** + * The reason provided when the order was canceled. + * Returns `null` if the order wasn't canceled. + */ + cancelReason?: Maybe; + /** Cancellation details for the order. */ + cancellation?: Maybe; + /** + * The date and time when the order was canceled. + * Returns `null` if the order wasn't canceled. + */ + cancelledAt?: Maybe; + /** Whether payment for the order can be captured. */ + capturable: Scalars['Boolean']['output']; + /** + * The total order-level discount amount, before returns, in shop currency. + * @deprecated Use `cartDiscountAmountSet` instead. + */ + cartDiscountAmount?: Maybe; + /** The total order-level discount amount, before returns, in shop and presentment currencies. */ + cartDiscountAmountSet?: Maybe; + /** + * The channel that created the order. + * @deprecated Use `publication` instead. + */ + channel?: Maybe; + /** Details about the channel that created the order. */ + channelInformation?: Maybe; + /** The IP address of the API client that created the order. */ + clientIp?: Maybe; + /** Whether the order is closed. */ + closed: Scalars['Boolean']['output']; + /** + * The date and time when the order was closed. + * Returns `null` if the order isn't closed. + */ + closedAt?: Maybe; + /** + * A randomly generated alpha-numeric identifier for the order that may be shown to the customer + * instead of the sequential order name. For example, "XPAV284CT", "R50KELTJP" or "35PKUN0UJ". + * This value isn't guaranteed to be unique. + */ + confirmationNumber?: Maybe; + /** Whether inventory has been reserved for the order. */ + confirmed: Scalars['Boolean']['output']; + /** Date and time when the order was created in Shopify. */ + createdAt: Scalars['DateTime']['output']; + /** The shop currency when the order was placed. */ + currencyCode: CurrencyCode; + /** The current order-level discount amount after all order updates, in shop and presentment currencies. */ + currentCartDiscountAmountSet: MoneyBag; + /** The current shipping price after applying refunds and discounts. If the parent `order.taxesIncluded` field is true, then this price includes taxes. Otherwise, this field is the pre-tax price. */ + currentShippingPriceSet: MoneyBag; + /** The sum of the quantities for all line items that contribute to the order's current subtotal price. */ + currentSubtotalLineItemsQuantity: Scalars['Int']['output']; + /** + * The sum of the prices for all line items after discounts and returns, in shop and presentment currencies. + * If `taxesIncluded` is `true`, then the subtotal also includes tax. + */ + currentSubtotalPriceSet: MoneyBag; + /** + * A list of all tax lines applied to line items on the order, after returns. + * Tax line prices represent the total price for all tax lines with the same `rate` and `title`. + */ + currentTaxLines: Array; + /** + * The total amount of additional fees after returns, in shop and presentment currencies. + * Returns `null` if there are no additional fees for the order. + */ + currentTotalAdditionalFeesSet?: Maybe; + /** + * The total amount discounted on the order after returns, in shop and presentment currencies. + * This includes both order and line level discounts. + */ + currentTotalDiscountsSet: MoneyBag; + /** + * The total amount of duties after returns, in shop and presentment currencies. + * Returns `null` if duties aren't applicable. + */ + currentTotalDutiesSet?: Maybe; + /** + * The total price of the order, after returns, in shop and presentment currencies. + * This includes taxes and discounts. + */ + currentTotalPriceSet: MoneyBag; + /** The sum of the prices of all tax lines applied to line items on the order, after returns, in shop and presentment currencies. */ + currentTotalTaxSet: MoneyBag; + /** The total weight of the order after returns, in grams. */ + currentTotalWeight: Scalars['UnsignedInt64']['output']; + /** A list of additional merchant-facing details that have been added to the order. For example, whether an order is a customer's first. */ + customAttributes: Array; + /** The customer that placed the order. */ + customer?: Maybe; + /** Whether the customer agreed to receive marketing materials. */ + customerAcceptsMarketing: Scalars['Boolean']['output']; + /** + * The customer's visits and interactions with the online store before placing the order. + * @deprecated Use `customerJourneySummary` instead. + */ + customerJourney?: Maybe; + /** The customer's visits and interactions with the online store before placing the order. */ + customerJourneySummary?: Maybe; + /** A two-letter or three-letter language code, optionally followed by a region modifier. */ + customerLocale?: Maybe; + /** A list of discounts that are applied to the order, not including order edits and refunds. */ + discountApplications: DiscountApplicationConnection; + /** The discount code used for the order. */ + discountCode?: Maybe; + /** The discount codes used for the order. */ + discountCodes: Array; + /** + * The primary address of the customer. + * Returns `null` if neither the shipping address nor the billing address was provided. + */ + displayAddress?: Maybe; + /** + * The financial status of the order that can be shown to the merchant. + * This field doesn't capture all the details of an order's financial state. It should only be used for display summary purposes. + */ + displayFinancialStatus?: Maybe; + /** + * The fulfillment status for the order that can be shown to the merchant. + * This field does not capture all the details of an order's fulfillment state. It should only be used for display summary purposes. + * For a more granular view of the fulfillment status, refer to the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object. + */ + displayFulfillmentStatus: OrderDisplayFulfillmentStatus; + /** A list of the disputes associated with the order. */ + disputes: Array; + /** Whether duties are included in the subtotal price of the order. */ + dutiesIncluded: Scalars['Boolean']['output']; + /** Whether the order has had any edits applied. */ + edited: Scalars['Boolean']['output']; + /** The email address associated with the customer. */ + email?: Maybe; + /** + * Whether taxes on the order are estimated. + * This field returns `false` when taxes on the order are finalized and aren't subject to any changes. + */ + estimatedTaxes: Scalars['Boolean']['output']; + /** A list of events associated with the order. */ + events: EventConnection; + /** A list of ExchangeV2s for the order. */ + exchangeV2s: ExchangeV2Connection; + /** + * Whether there are line items that can be fulfilled. + * This field returns `false` when the order has no fulfillable line items. + * For a more granular view of the fulfillment status, refer to the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object. + */ + fulfillable: Scalars['Boolean']['output']; + /** + * A list of fulfillment orders for a specific order. + * + * [FulfillmentOrder API access scopes](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder#api-access-scopes) + * govern which fulfillments orders are returned. + * An API client will only receive a subset of the fulfillment orders which belong to an order + * if they don't have the necessary access scopes to view all of the fulfillment orders. + * In the case that an API client does not have the access scopes necessary to view + * any of the fulfillment orders that belong to an order, an empty array will be returned. + */ + fulfillmentOrders: FulfillmentOrderConnection; + /** List of shipments for the order. */ + fulfillments: Array; + /** The count of fulfillments including the cancelled fulfillments. */ + fulfillmentsCount?: Maybe; + /** Whether the order has been paid in full. */ + fullyPaid: Scalars['Boolean']['output']; + /** Whether the merchant added a timeline comment to the order. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The URL of the first page of the online store that the customer visited before they submitted the order. + * @deprecated Use `customerJourneySummary.lastVisit.landingPageHtml` instead + */ + landingPageDisplayText?: Maybe; + /** + * The first page of the online store that the customer visited before they submitted the order. + * @deprecated Use `customerJourneySummary.lastVisit.landingPage` instead + */ + landingPageUrl?: Maybe; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** A list of the order's line items. */ + lineItems: LineItemConnection; + /** List of localization extensions for the resource. */ + localizationExtensions: LocalizationExtensionConnection; + /** The merchant's business entity associated with the order. */ + merchantBusinessEntity: BusinessEntity; + /** Whether the order can be edited by the merchant. For example, canceled orders can’t be edited. */ + merchantEditable: Scalars['Boolean']['output']; + /** A list of reasons why the order can't be edited. For example, "Canceled orders can't be edited". */ + merchantEditableErrors: Array; + /** The application acting as the Merchant of Record for the order. */ + merchantOfRecordApp?: Maybe; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * The unique identifier for the order that appears on the order page in the Shopify admin and the Order status page. + * For example, "#1001", "EN1001", or "1001-A". + * This value isn't unique across multiple stores. + */ + name: Scalars['String']['output']; + /** + * The net payment for the order, based on the total amount received minus the total amount refunded, in shop currency. + * @deprecated Use `netPaymentSet` instead. + */ + netPayment: Scalars['Money']['output']; + /** The net payment for the order, based on the total amount received minus the total amount refunded, in shop and presentment currencies. */ + netPaymentSet: MoneyBag; + /** + * A list of line items that can't be fulfilled. + * For example, tips and fully refunded line items can't be fulfilled. + * For a more granular view of the fulfillment status, refer to the [FulfillmentOrder](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentOrder) object. + */ + nonFulfillableLineItems: LineItemConnection; + /** The contents of the note associated with the order. */ + note?: Maybe; + /** + * The total amount of additional fees at the time of order creation, in shop and presentment currencies. + * Returns `null` if additional fees aren't applicable. + */ + originalTotalAdditionalFeesSet?: Maybe; + /** + * The total amount of duties at the time of order creation, in shop and presentment currencies. + * Returns `null` if duties aren't applicable. + */ + originalTotalDutiesSet?: Maybe; + /** The total price of the order at the time of order creation, in shop and presentment currencies. */ + originalTotalPriceSet: MoneyBag; + /** The payment collection details for the order. */ + paymentCollectionDetails: OrderPaymentCollectionDetails; + /** + * A list of the names of all payment gateways used for the order. + * For example, "Shopify Payments" and "Cash on Delivery (COD)". + */ + paymentGatewayNames: Array; + /** The payment terms associated with the order. */ + paymentTerms?: Maybe; + /** The phone number associated with the customer. */ + phone?: Maybe; + /** + * The fulfillment location that was assigned when the order was created. + * Orders can have multiple fulfillment orders. These fulfillment orders can each be assigned to a different location which is responsible for fulfilling a subset of the items in an order. The `Order.physicalLocation` field will only point to one of these locations. + * Use the [`FulfillmentOrder`](https://shopify.dev/api/admin-graphql/latest/objects/fulfillmentorder) + * object for up to date fulfillment location information. + * @deprecated Use `fulfillmentOrders` to get the fulfillment location for the order + */ + physicalLocation?: Maybe; + /** The PO number associated with the order. */ + poNumber?: Maybe; + /** The payment `CurrencyCode` of the customer for the order. */ + presentmentCurrencyCode: CurrencyCode; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** + * The date and time when the order was processed. + * This date and time might not match the date and time when the order was created. + */ + processedAt: Scalars['DateTime']['output']; + /** The publication that the order was created from. */ + publication?: Maybe; + /** The purchasing entity for the order. */ + purchasingEntity?: Maybe; + /** + * The marketing referral code from the link that the customer clicked to visit the store. + * Supports the following URL attributes: "ref", "source", or "r". + * For example, if the URL is `{shop}.myshopify.com/products/slide?ref=j2tj1tn2`, then this value is `j2tj1tn2`. + * @deprecated Use `customerJourneySummary.lastVisit.referralCode` instead + */ + referralCode?: Maybe; + /** + * A web domain or short description of the source that sent the customer to your online store. For example, "shopify.com" or "email". + * @deprecated Use `customerJourneySummary.lastVisit.referralInfoHtml` instead + */ + referrerDisplayText?: Maybe; + /** + * The URL of the webpage where the customer clicked a link that sent them to your online store. + * @deprecated Use `customerJourneySummary.lastVisit.referrerUrl` instead + */ + referrerUrl?: Maybe; + /** The difference between the suggested and actual refund amount of all refunds that have been applied to the order. A positive value indicates a difference in the merchant's favor, and a negative value indicates a difference in the customer's favor. */ + refundDiscrepancySet: MoneyBag; + /** Whether the order can be refunded. */ + refundable: Scalars['Boolean']['output']; + /** A list of refunds that have been applied to the order. */ + refunds: Array; + /** The URL of the source that the order originated from, if found in the domain registry. */ + registeredSourceUrl?: Maybe; + /** Whether the order has shipping lines or at least one line item on the order that requires shipping. */ + requiresShipping: Scalars['Boolean']['output']; + /** Whether any line item on the order can be restocked. */ + restockable: Scalars['Boolean']['output']; + /** The physical location where a retail order is created or completed, except for draft POS orders completed via the “mark as paid” flow in Admin, which return null. */ + retailLocation?: Maybe; + /** The order's aggregated return status for display purposes. */ + returnStatus: OrderReturnStatus; + /** A list of returns for the order. */ + returns: ReturnConnection; + /** The risk characteristics for the order. */ + risk: OrderRiskSummary; + /** + * The fraud risk level of the order. + * @deprecated This field is deprecated in version 2024-04. Please use OrderRiskAssessment.riskLevel + */ + riskLevel: OrderRiskLevel; + /** + * A list of risks associated with the order. + * @deprecated This field is deprecated in version 2024-04. Please use OrderRiskAssessment + */ + risks: Array; + /** The mailing address of the customer. */ + shippingAddress?: Maybe; + /** A summary of all shipping costs on the order. */ + shippingLine?: Maybe; + /** A list of the order's shipping lines. */ + shippingLines: ShippingLineConnection; + /** The Shopify Protect details for the order. If Shopify Protect is disabled for the shop, then this will be null. */ + shopifyProtect?: Maybe; + /** + * A unique POS or third party order identifier. + * For example, "1234-12-1000" or "111-98567-54". The `receipt_number` field is derived from this value for POS orders. + */ + sourceIdentifier?: Maybe; + /** The name of the source associated with the order. */ + sourceName?: Maybe; + /** The staff member associated with the order. */ + staffMember?: Maybe; + /** The URL where the customer can check the order's current status. */ + statusPageUrl: Scalars['URL']['output']; + /** The sum of the quantities for all line items that contribute to the order's subtotal price. */ + subtotalLineItemsQuantity: Scalars['Int']['output']; + /** + * The sum of the prices for all line items after discounts and before returns, in shop currency. + * If `taxesIncluded` is `true`, then the subtotal also includes tax. + * @deprecated Use `subtotalPriceSet` instead. + */ + subtotalPrice?: Maybe; + /** + * The sum of the prices for all line items after discounts and before returns, in shop and presentment currencies. + * If `taxesIncluded` is `true`, then the subtotal also includes tax. + */ + subtotalPriceSet?: Maybe; + /** A suggested refund for the order. */ + suggestedRefund?: Maybe; + /** + * A comma separated list of tags associated with the order. Updating `tags` overwrites + * any existing tags that were previously added to the order. To add new tags without overwriting + * existing tags, use the [tagsAdd](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) + * mutation. + */ + tags: Array; + /** Whether taxes are exempt on the order. */ + taxExempt: Scalars['Boolean']['output']; + /** + * A list of all tax lines applied to line items on the order, before returns. + * Tax line prices represent the total price for all tax lines with the same `rate` and `title`. + */ + taxLines: Array; + /** Whether taxes are included in the subtotal price of the order. */ + taxesIncluded: Scalars['Boolean']['output']; + /** + * Whether the order is a test. + * Test orders are made using the Shopify Bogus Gateway or a payment provider with test mode enabled. + * A test order can't be converted into a real order and vice versa. + */ + test: Scalars['Boolean']['output']; + /** + * The authorized amount that's uncaptured or undercaptured, in shop currency. + * This amount isn't adjusted for returns. + * @deprecated Use `totalCapturableSet` instead. + */ + totalCapturable: Scalars['Money']['output']; + /** + * The authorized amount that's uncaptured or undercaptured, in shop and presentment currencies. + * This amount isn't adjusted for returns. + */ + totalCapturableSet: MoneyBag; + /** The total rounding adjustment applied to payments or refunds for an Order involving cash payments. Applies to some countries where cash transactions are rounded to the nearest currency denomination. */ + totalCashRoundingAdjustment: CashRoundingAdjustment; + /** + * The total amount discounted on the order before returns, in shop currency. + * This includes both order and line level discounts. + * @deprecated Use `totalDiscountsSet` instead. + */ + totalDiscounts?: Maybe; + /** + * The total amount discounted on the order before returns, in shop and presentment currencies. + * This includes both order and line level discounts. + */ + totalDiscountsSet?: Maybe; + /** + * The total amount not yet transacted for the order, in shop and presentment currencies. + * A positive value indicates a difference in the merchant's favor (payment from customer to merchant) and a negative value indicates a difference in the customer's favor (refund from merchant to customer). + */ + totalOutstandingSet: MoneyBag; + /** + * The total price of the order, before returns, in shop currency. + * This includes taxes and discounts. + * @deprecated Use `totalPriceSet` instead. + */ + totalPrice: Scalars['Money']['output']; + /** + * The total price of the order, before returns, in shop and presentment currencies. + * This includes taxes and discounts. + */ + totalPriceSet: MoneyBag; + /** + * The total amount received from the customer before returns, in shop currency. + * @deprecated Use `totalReceivedSet` instead. + */ + totalReceived: Scalars['Money']['output']; + /** The total amount received from the customer before returns, in shop and presentment currencies. */ + totalReceivedSet: MoneyBag; + /** + * The total amount that was refunded, in shop currency. + * @deprecated Use `totalRefundedSet` instead. + */ + totalRefunded: Scalars['Money']['output']; + /** The total amount that was refunded, in shop and presentment currencies. */ + totalRefundedSet: MoneyBag; + /** The total amount of shipping that was refunded, in shop and presentment currencies. */ + totalRefundedShippingSet: MoneyBag; + /** + * The total shipping amount before discounts and returns, in shop currency. + * @deprecated Use `totalShippingPriceSet` instead. + */ + totalShippingPrice: Scalars['Money']['output']; + /** The total shipping amount before discounts and returns, in shop and presentment currencies. */ + totalShippingPriceSet: MoneyBag; + /** + * The total tax amount before returns, in shop currency. + * @deprecated Use `totalTaxSet` instead. + */ + totalTax?: Maybe; + /** The total tax amount before returns, in shop and presentment currencies. */ + totalTaxSet?: Maybe; + /** + * The sum of all tip amounts for the order, in shop currency. + * @deprecated Use `totalTipReceivedSet` instead. + */ + totalTipReceived: MoneyV2; + /** The sum of all tip amounts for the order, in shop and presentment currencies. */ + totalTipReceivedSet: MoneyBag; + /** The total weight of the order before returns, in grams. */ + totalWeight?: Maybe; + /** A list of transactions associated with the order. */ + transactions: Array; + /** The number of transactions associated with the order. */ + transactionsCount?: Maybe; + /** Whether no payments have been made for the order. */ + unpaid: Scalars['Boolean']['output']; + /** The date and time when the order was modified last. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderAgreementsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderDiscountApplicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderExchangeV2sArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderFulfillmentOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + displayable?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderFulfillmentsArgs = { + first?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderLocalizationExtensionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + countryCodes?: InputMaybe>; + first?: InputMaybe; + last?: InputMaybe; + purposes?: InputMaybe>; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderNonFulfillableLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderRefundsArgs = { + first?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderReturnsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderRisksArgs = { + first?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderShippingLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + includeRemovals?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderSuggestedRefundArgs = { + refundDuties?: InputMaybe>; + refundLineItems?: InputMaybe>; + refundShipping?: InputMaybe; + shippingAmount?: InputMaybe; + suggestFullRefund?: InputMaybe; +}; + + +/** + * An order is a customer's request to purchase one or more products from a shop. You can retrieve and update orders using the `Order` object. + * Learn more about + * [editing an existing order with the GraphQL Admin API](https://shopify.dev/apps/fulfillment/order-management-apps/order-editing). + * + * Only the last 60 days' worth of orders from a store are accessible from the `Order` object by default. If you want to access older orders, + * then you need to [request access to all orders](https://shopify.dev/api/usage/access-scopes#orders-permissions). If your app is granted + * access, then you can add the `read_all_orders` scope to your app along with `read_orders` or `write_orders`. + * [Private apps](https://shopify.dev/apps/auth/basic-http) are not affected by this change and are automatically granted the scope. + * + * **Caution:** Only use this data if it's required for your app's functionality. Shopify will restrict [access to scopes](https://shopify.dev/api/usage/access-scopes) for apps that don't have a legitimate use for the associated data. + */ +export type OrderTransactionsArgs = { + capturable?: InputMaybe; + first?: InputMaybe; + manuallyResolvable?: InputMaybe; +}; + +/** + * The possible order action types for a + * [sales agreement](https://shopify.dev/api/admin-graphql/latest/interfaces/salesagreement). + */ +export enum OrderActionType { + /** An order with a purchase or charge. */ + Order = 'ORDER', + /** An edit to the order. */ + OrderEdit = 'ORDER_EDIT', + /** A refund on the order. */ + Refund = 'REFUND', + /** A return on the order. */ + Return = 'RETURN', + /** An unknown agreement action. Represents new actions that may be added in future versions. */ + Unknown = 'UNKNOWN' +} + +/** An order adjustment accounts for the difference between a calculated and actual refund amount. */ +export type OrderAdjustment = Node & { + __typename?: 'OrderAdjustment'; + /** The amount of the order adjustment in shop and presentment currencies. */ + amountSet: MoneyBag; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** An optional reason that explains a discrepancy between calculated and actual refund amounts. */ + reason?: Maybe; + /** The tax amount of the order adjustment in shop and presentment currencies. */ + taxAmountSet: MoneyBag; +}; + +/** An auto-generated type for paginating through multiple OrderAdjustments. */ +export type OrderAdjustmentConnection = { + __typename?: 'OrderAdjustmentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in OrderAdjustmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Discrepancy reasons for order adjustments. */ +export enum OrderAdjustmentDiscrepancyReason { + /** The discrepancy reason is customer. */ + Customer = 'CUSTOMER', + /** The discrepancy reason is damage. */ + Damage = 'DAMAGE', + /** The discrepancy reason is balance adjustment. */ + FullReturnBalancingAdjustment = 'FULL_RETURN_BALANCING_ADJUSTMENT', + /** The discrepancy reason is pending refund. */ + PendingRefundDiscrepancy = 'PENDING_REFUND_DISCREPANCY', + /** The discrepancy reason is not one of the predefined reasons. */ + RefundDiscrepancy = 'REFUND_DISCREPANCY', + /** The discrepancy reason is restocking. */ + Restock = 'RESTOCK' +} + +/** An auto-generated type which holds one OrderAdjustment and a cursor during pagination. */ +export type OrderAdjustmentEdge = { + __typename?: 'OrderAdjustmentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of OrderAdjustmentEdge. */ + node: OrderAdjustment; +}; + +/** Discrepancy reasons for order adjustments. */ +export enum OrderAdjustmentInputDiscrepancyReason { + /** The discrepancy reason is customer. */ + Customer = 'CUSTOMER', + /** The discrepancy reason is damage. */ + Damage = 'DAMAGE', + /** The discrepancy reason is not one of the predefined reasons. */ + Other = 'OTHER', + /** The discrepancy reason is restocking. */ + Restock = 'RESTOCK' +} + +/** An agreement associated with an order placement. */ +export type OrderAgreement = SalesAgreement & { + __typename?: 'OrderAgreement'; + /** The application that created the agreement. */ + app?: Maybe; + /** The date and time at which the agreement occured. */ + happenedAt: Scalars['DateTime']['output']; + /** The unique ID for the agreement. */ + id: Scalars['ID']['output']; + /** The order associated with the agreement. */ + order: Order; + /** The reason the agremeent was created. */ + reason: OrderActionType; + /** The sales associated with the agreement. */ + sales: SaleConnection; + /** The staff member associated with the agreement. */ + user?: Maybe; +}; + + +/** An agreement associated with an order placement. */ +export type OrderAgreementSalesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The [application](https://shopify.dev/apps) that created the order. */ +export type OrderApp = { + __typename?: 'OrderApp'; + /** The application icon. */ + icon: Image; + /** The application ID. */ + id: Scalars['ID']['output']; + /** The name of the application. */ + name: Scalars['String']['output']; +}; + +/** Return type for `orderCancel` mutation. */ +export type OrderCancelPayload = { + __typename?: 'OrderCancelPayload'; + /** The job that asynchronously cancels the order. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + orderCancelUserErrors: Array; + /** + * The list of errors that occurred from executing the mutation. + * @deprecated Use `orderCancelUserErrors` instead. + */ + userErrors: Array; +}; + +/** Represents the reason for the order's cancellation. */ +export enum OrderCancelReason { + /** The customer wanted to cancel the order. */ + Customer = 'CUSTOMER', + /** Payment was declined. */ + Declined = 'DECLINED', + /** The order was fraudulent. */ + Fraud = 'FRAUD', + /** There was insufficient inventory. */ + Inventory = 'INVENTORY', + /** The order was canceled for an unlisted reason. */ + Other = 'OTHER', + /** Staff made an error. */ + Staff = 'STAFF' +} + +/** Errors related to order cancellation. */ +export type OrderCancelUserError = DisplayableError & { + __typename?: 'OrderCancelUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderCancelUserError`. */ +export enum OrderCancelUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** An order refund was requested but the user does not have the refund_orders permission. */ + NoRefundPermission = 'NO_REFUND_PERMISSION' +} + +/** Details about the order cancellation. */ +export type OrderCancellation = { + __typename?: 'OrderCancellation'; + /** Staff provided note for the order cancellation. */ + staffNote?: Maybe; +}; + +/** The input fields for the authorized transaction to capture and the total amount to capture from it. */ +export type OrderCaptureInput = { + /** The amount to capture. The capture amount can't be greater than the amount of the authorized transaction. */ + amount: Scalars['Money']['input']; + /** The currency (in ISO format) that's used to capture the order. This must be the presentment currency (the currency used by the customer) and is a required field for orders where the currency and presentment currency differ. */ + currency?: InputMaybe; + /** + * Indicates whether this is to be the final capture for the order transaction. Only applies to + * Shopify Payments authorizations which are multi-capturable. If true, any uncaptured amount from the + * authorization will be voided after the capture is completed. If false, the authorization will remain open + * for future captures. + * + * For multi-capturable authorizations, this defaults to false if not provided. This field has no effect on + * authorizations which aren't multi-capturable (can only be captured once), or on other types of + * transactions. + */ + finalCapture?: InputMaybe; + /** The ID of the order to capture. */ + id: Scalars['ID']['input']; + /** The ID of the authorized transaction to capture. */ + parentTransactionId: Scalars['ID']['input']; +}; + +/** Return type for `orderCapture` mutation. */ +export type OrderCapturePayload = { + __typename?: 'OrderCapturePayload'; + /** The created capture transaction. */ + transaction?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for specifying an open order to close. */ +export type OrderCloseInput = { + /** The ID of the order to close. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `orderClose` mutation. */ +export type OrderClosePayload = { + __typename?: 'OrderClosePayload'; + /** The closed order. */ + order?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple Orders. */ +export type OrderConnection = { + __typename?: 'OrderConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in OrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for a note attribute for an order. */ +export type OrderCreateCustomAttributeInput = { + /** The key or name of the custom attribute. */ + key: Scalars['String']['input']; + /** The value of the custom attribute. */ + value: Scalars['String']['input']; +}; + +/** The input fields for a discount code to apply to an order. Only one type of discount can be applied to an order. */ +export type OrderCreateDiscountCodeInput = { + /** A free shipping discount code applied to the shipping on an order. */ + freeShippingDiscountCode?: InputMaybe; + /** A fixed amount discount code applied to the line items on the order. */ + itemFixedDiscountCode?: InputMaybe; + /** A percentage discount code applied to the line items on the order. */ + itemPercentageDiscountCode?: InputMaybe; +}; + +/** The status of payments associated with the order. Can only be set when the order is created. */ +export enum OrderCreateFinancialStatus { + /** The payments have been authorized. */ + Authorized = 'AUTHORIZED', + /** The payments have been expired. */ + Expired = 'EXPIRED', + /** The payments have been paid. */ + Paid = 'PAID', + /** The order has been partially paid. */ + PartiallyPaid = 'PARTIALLY_PAID', + /** The payments have been partially refunded. */ + PartiallyRefunded = 'PARTIALLY_REFUNDED', + /** The payments are pending. Payment might fail in this state. Check again to confirm whether the payments have been paid successfully. */ + Pending = 'PENDING', + /** The payments have been refunded. */ + Refunded = 'REFUNDED', + /** The payments have been voided. */ + Voided = 'VOIDED' +} + +/** The input fields for a fixed amount discount code to apply to an order. */ +export type OrderCreateFixedDiscountCodeAttributesInput = { + /** The amount that's deducted from the order total. When you create an order, this value is the monetary amount to deduct. */ + amountSet?: InputMaybe; + /** The discount code that was entered at checkout. */ + code: Scalars['String']['input']; +}; + +/** The input fields for a free shipping discount code to apply to an order. */ +export type OrderCreateFreeShippingDiscountCodeAttributesInput = { + /** The discount code that was entered at checkout. */ + code: Scalars['String']['input']; +}; + +/** The input fields for a fulfillment to create for an order. */ +export type OrderCreateFulfillmentInput = { + /** The ID of the location to fulfill the order from. */ + locationId: Scalars['ID']['input']; + /** Whether the customer should be notified of changes with the fulfillment. */ + notifyCustomer?: InputMaybe; + /** The address at which the fulfillment occurred. */ + originAddress?: InputMaybe; + /** The status of the shipment. */ + shipmentStatus?: InputMaybe; + /** + * The name of the tracking company. + * + * If you specify a tracking company name from + * [the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies), + * Shopify will automatically build tracking URLs for all provided tracking numbers, + * which will make the tracking numbers clickable in the interface. + * The same tracking company will be applied to all tracking numbers specified. + * + * Additionally, for the tracking companies listed on the + * [Shipping Carriers help page](https://help.shopify.com/manual/shipping/understanding-shipping/shipping-carriers#integrated-shipping-carriers) + * Shopify will automatically update the fulfillment's `shipment_status` field during the fulfillment process. + * + * > Note: + * > Send the tracking company name exactly as written in + * > [the list](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies) + * > (capitalization matters). + */ + trackingCompany?: InputMaybe; + /** + * The tracking number of the fulfillment. + * + * The tracking number will be clickable in the interface if one of the following applies + * (the highest in the list has the highest priority): + * + * * [Shopify-known tracking company name](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentTrackingInfo#supported-tracking-companies) + * specified in the `company` field. + * Shopify will build the tracking URL automatically based on the tracking number specified. + * * The tracking number has a Shopify-known format. + * Shopify will guess the tracking provider and build the tracking url based on the tracking number format. + * Not all tracking carriers are supported, and multiple tracking carriers may use similarly formatted tracking numbers. + * This can result in an invalid tracking URL. + */ + trackingNumber?: InputMaybe; +}; + +/** The order's status in terms of fulfilled line items. */ +export enum OrderCreateFulfillmentStatus { + /** Every line item in the order has been fulfilled. */ + Fulfilled = 'FULFILLED', + /** At least one line item in the order has been fulfilled. */ + Partial = 'PARTIAL', + /** Every line item in the order has been restocked and the order canceled. */ + Restocked = 'RESTOCKED' +} + +/** The types of behavior to use when updating inventory. */ +export enum OrderCreateInputsInventoryBehavior { + /** Do not claim inventory. */ + Bypass = 'BYPASS', + /** Ignore the product's inventory policy and claim inventory. */ + DecrementIgnoringPolicy = 'DECREMENT_IGNORING_POLICY', + /** Follow the product's inventory policy and claim inventory, if possible. */ + DecrementObeyingPolicy = 'DECREMENT_OBEYING_POLICY' +} + +/** The input fields for a line item to create for an order. */ +export type OrderCreateLineItemInput = { + /** + * The handle of a fulfillment service that stocks the product variant belonging to a line item. + * + * This is a third-party fulfillment service in the following scenarios: + * + * **Scenario 1** + * - The product variant is stocked by a single fulfillment service. + * - The [FulfillmentService](/api/admin-graphql/latest/objects/FulfillmentService) is a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`. + * + * **Scenario 2** + * - Multiple fulfillment services stock the product variant. + * - The last time that the line item was unfulfilled, it was awaiting fulfillment by a third-party fulfillment service. Third-party fulfillment services don't have a handle with the value `manual`. + * + * If none of the above conditions are met, then the fulfillment service has the `manual` handle. + */ + fulfillmentService?: InputMaybe; + /** Whether the item is a gift card. If true, then the item is not taxed or considered for shipping charges. */ + giftCard?: InputMaybe; + /** The price of the item before discounts have been applied in the shop currency. */ + priceSet?: InputMaybe; + /** The ID of the product that the line item belongs to. Can be `null` if the original product associated with the order is deleted at a later date. */ + productId?: InputMaybe; + /** An array of custom information for the item that has been added to the cart. Often used to provide product customization options. */ + properties?: InputMaybe>; + /** The number of items that were purchased. */ + quantity: Scalars['Int']['input']; + /** Whether the item requires shipping. */ + requiresShipping?: InputMaybe; + /** The item's SKU (stock keeping unit). */ + sku?: InputMaybe; + /** A list of tax line objects, each of which details a tax applied to the item. */ + taxLines?: InputMaybe>; + /** Whether the item was taxable. */ + taxable?: InputMaybe; + /** The title of the product. */ + title?: InputMaybe; + /** The ID of the product variant. */ + variantId?: InputMaybe; + /** The title of the product variant. */ + variantTitle?: InputMaybe; + /** The name of the item's supplier. */ + vendor?: InputMaybe; +}; + +/** The input fields for a line item property for an order. */ +export type OrderCreateLineItemPropertyInput = { + /** The name of the line item property. */ + name: Scalars['String']['input']; + /** The value of the line item property. */ + value: Scalars['String']['input']; +}; + +/** Return type for `orderCreateMandatePayment` mutation. */ +export type OrderCreateMandatePaymentPayload = { + __typename?: 'OrderCreateMandatePaymentPayload'; + /** The async job used for charging the payment. */ + job?: Maybe; + /** The Unique ID for the created payment. */ + paymentReferenceId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderCreateMandatePayment`. */ +export type OrderCreateMandatePaymentUserError = DisplayableError & { + __typename?: 'OrderCreateMandatePaymentUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderCreateMandatePaymentUserError`. */ +export enum OrderCreateMandatePaymentUserErrorCode { + /** Errors for mandate payment on order. */ + OrderMandatePaymentErrorCode = 'ORDER_MANDATE_PAYMENT_ERROR_CODE' +} + +/** The input fields which control certain side affects. */ +export type OrderCreateOptionsInput = { + /** The behaviour to use when updating inventory. */ + inventoryBehaviour?: InputMaybe; + /** Whether to send a shipping confirmation to the customer. */ + sendFulfillmentReceipt?: InputMaybe; + /** Whether to send an order confirmation to the customer. */ + sendReceipt?: InputMaybe; +}; + +/** The input fields for creating an order. */ +export type OrderCreateOrderInput = { + /** + * The mailing address associated with the payment method. This address is an optional field that won't be + * available on orders that don't require a payment method. + * + * > Note: + * > If a customer is provided, this field or `shipping_address` (which has precedence) will be set as the + * > customer's default address. Additionally, if the provided customer is new or hasn't created an order yet + * > then their name will be set to the first/last name from this address (if provided). + */ + billingAddress?: InputMaybe; + /** Whether the customer consented to receive email updates from the shop. */ + buyerAcceptsMarketing?: InputMaybe; + /** The date and time ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when the order was closed. Returns null if the order isn't closed. */ + closedAt?: InputMaybe; + /** The ID of the purchasing company's location for the order. */ + companyLocationId?: InputMaybe; + /** The shop-facing currency for the order. If not specified, then the shop's default currency is used. */ + currency?: InputMaybe; + /** A list of extra information that's added to the order. Appears in the **Additional details** section of an order details page. */ + customAttributes?: InputMaybe>; + /** A discount code applied to the order. */ + discountCode?: InputMaybe; + /** + * A new customer email address for the order. + * + * > Note: + * > If a customer is provided, and no email is provided, the customer's email will be set to this field. + */ + email?: InputMaybe; + /** The financial status of the order. If not specified, then this will be derived through the given transactions. Note that it's possible to specify a status that doesn't match the given transactions and it will persist, but if an operation later occurs on the order, the status may then be recalculated to match the current state of transactions. */ + financialStatus?: InputMaybe; + /** The fulfillment to create for the order. This will apply to all line items. */ + fulfillment?: InputMaybe; + /** The fulfillment status of the order. Will default to `unfulfilled` if not included. */ + fulfillmentStatus?: InputMaybe; + /** The line items to create for the order. */ + lineItems?: InputMaybe>; + /** A list of metafields to add to the order. */ + metafields?: InputMaybe>; + /** The order name, generated by combining the `order_number` property with the order prefix and suffix that are set in the merchant's [general settings](https://www.shopify.com/admin/settings/general). This is different from the `id` property, which is the ID of the order used by the API. This field can also be set by the API to be any string value. */ + name?: InputMaybe; + /** The new contents for the note associated with the order. */ + note?: InputMaybe; + /** A new customer phone number for the order. */ + phone?: InputMaybe; + /** The purchase order number associated to this order. */ + poNumber?: InputMaybe; + /** The presentment currency that was used to display prices to the customer. This must be specified if any presentment currencies are used in the order. */ + presentmentCurrency?: InputMaybe; + /** The date and time ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format) when an order was processed. This value is the date that appears on your orders and that's used in the analytic reports. If you're importing orders from an app or another platform, then you can set processed_at to a date and time in the past to match when the original order was created. */ + processedAt?: InputMaybe; + /** The website where the customer clicked a link to the shop. */ + referringSite?: InputMaybe; + /** + * The mailing address to where the order will be shipped. + * + * > Note: + * > If a customer is provided, this field (which has precedence) or `billing_address` will be set as the + * > customer's default address. Additionally, if the provided customer doesn't have a first or last name + * > then it will be set to the first/last name from this address (if provided). + */ + shippingAddress?: InputMaybe; + /** An array of objects, each of which details a shipping method used. */ + shippingLines?: InputMaybe>; + /** The ID of the order placed on the originating platform. This value doesn't correspond to the Shopify ID that's generated from a completed draft. */ + sourceIdentifier?: InputMaybe; + /** The source of the checkout. To use this field for sales attribution, you must register the channels that your app is managing. You can register the channels that your app is managing by completing [this Google Form](https://docs.google.com/forms/d/e/1FAIpQLScmVTZRQNjOJ7RD738mL1lGeFjqKVe_FM2tO9xsm21QEo5Ozg/viewform?usp=sf_link). After you've submited your request, you need to wait for your request to be processed by Shopify. You can find a list of your channels in the Partner Dashboard, in your app's Marketplace extension. You can specify a handle as the source_name value in your request. */ + sourceName?: InputMaybe; + /** A valid URL to the original order on the originating surface. This URL is displayed to merchants on the Order Details page. If the URL is invalid, then it won't be displayed. */ + sourceUrl?: InputMaybe; + /** A comma separated list of tags that have been added to the draft order. */ + tags?: InputMaybe>; + /** An array of tax line objects, each of which details a tax applicable to the order. When creating an order through the API, tax lines can be specified on the order or the line items but not both. Tax lines specified on the order are split across the _taxable_ line items in the created order. */ + taxLines?: InputMaybe>; + /** Whether taxes are included in the order subtotal. */ + taxesIncluded?: InputMaybe; + /** Whether this is a test order. */ + test?: InputMaybe; + /** The payment transactions to create for the order. */ + transactions?: InputMaybe>; + /** The ID of the user logged into Shopify POS who processed the order, if applicable. */ + userId?: InputMaybe; +}; + +/** The input fields for a transaction to create for an order. */ +export type OrderCreateOrderTransactionInput = { + /** The amount of the transaction. */ + amountSet: MoneyBagInput; + /** The authorization code associated with the transaction. */ + authorizationCode?: InputMaybe; + /** The ID of the device used to process the transaction. */ + deviceId?: InputMaybe; + /** The name of the gateway the transaction was issued through. */ + gateway?: InputMaybe; + /** The ID of the gift card used for this transaction. */ + giftCardId?: InputMaybe; + /** The kind of transaction. */ + kind?: InputMaybe; + /** The ID of the location where the transaction was processed. */ + locationId?: InputMaybe; + /** The date and time when the transaction was processed. */ + processedAt?: InputMaybe; + /** + * The transaction receipt that the payment gateway attaches to the transaction. + * The value of this field depends on which payment gateway processed the transaction. + */ + receiptJson?: InputMaybe; + /** The status of the transaction. */ + status?: InputMaybe; + /** Whether the transaction is a test transaction. */ + test?: InputMaybe; + /** The ID of the user who processed the transaction. */ + userId?: InputMaybe; +}; + +/** Return type for `orderCreate` mutation. */ +export type OrderCreatePayload = { + __typename?: 'OrderCreatePayload'; + /** The order that was created. */ + order?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for a percentage discount code to apply to an order. */ +export type OrderCreatePercentageDiscountCodeAttributesInput = { + /** The discount code that was entered at checkout. */ + code: Scalars['String']['input']; + /** The amount that's deducted from the order total. When you create an order, this value is the percentage to deduct. */ + percentage?: InputMaybe; +}; + +/** The input fields for a shipping line to create for an order. */ +export type OrderCreateShippingLineInput = { + /** A reference to the shipping method. */ + code?: InputMaybe; + /** The price of this shipping method in the shop currency. Can't be negative. */ + priceSet: MoneyBagInput; + /** The source of the shipping method. */ + source?: InputMaybe; + /** A list of tax line objects, each of which details a tax applicable to this shipping line. */ + taxLines?: InputMaybe>; + /** The title of the shipping method. */ + title: Scalars['String']['input']; +}; + +/** The input fields for a tax line to create for an order. */ +export type OrderCreateTaxLineInput = { + /** Whether the channel that submitted the tax line is liable for remitting. A value of `null` indicates unknown liability for the tax line. */ + channelLiable?: InputMaybe; + /** The amount of tax to be charged on the item. */ + priceSet?: InputMaybe; + /** The proportion of the item price that the tax represents as a decimal. */ + rate: Scalars['Decimal']['input']; + /** The name of the tax line to create. */ + title: Scalars['String']['input']; +}; + +/** An error that occurs during the execution of `OrderCreate`. */ +export type OrderCreateUserError = DisplayableError & { + __typename?: 'OrderCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderCreateUserError`. */ +export enum OrderCreateUserErrorCode { + /** Indicates that the line item fulfillment service handle is invalid. */ + FulfillmentServiceInvalid = 'FULFILLMENT_SERVICE_INVALID', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Indicates that the inventory claim failed during order creation. */ + InventoryClaimFailed = 'INVENTORY_CLAIM_FAILED', + /** Indicates that the processed_at field is invalid, such as when it references a future date. */ + ProcessedAtInvalid = 'PROCESSED_AT_INVALID', + /** Indicates that the tax line rate is missing - only enforced for LineItem or ShippingLine-level tax lines. */ + TaxLineRateMissing = 'TAX_LINE_RATE_MISSING' +} + +/** Return type for `orderDelete` mutation. */ +export type OrderDeletePayload = { + __typename?: 'OrderDeletePayload'; + /** Deleted order ID. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Errors related to deleting an order. */ +export type OrderDeleteUserError = DisplayableError & { + __typename?: 'OrderDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderDeleteUserError`. */ +export enum OrderDeleteUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** Represents the order's current financial status. */ +export enum OrderDisplayFinancialStatus { + /** Displayed as **Authorized**. */ + Authorized = 'AUTHORIZED', + /** Displayed as **Expired**. */ + Expired = 'EXPIRED', + /** Displayed as **Paid**. */ + Paid = 'PAID', + /** Displayed as **Partially paid**. */ + PartiallyPaid = 'PARTIALLY_PAID', + /** Displayed as **Partially refunded**. */ + PartiallyRefunded = 'PARTIALLY_REFUNDED', + /** Displayed as **Pending**. */ + Pending = 'PENDING', + /** Displayed as **Refunded**. */ + Refunded = 'REFUNDED', + /** Displayed as **Voided**. */ + Voided = 'VOIDED' +} + +/** Represents the order's aggregated fulfillment status for display purposes. */ +export enum OrderDisplayFulfillmentStatus { + /** Displayed as **Fulfilled**. All the items in the order have been fulfilled. */ + Fulfilled = 'FULFILLED', + /** Displayed as **In progress**. Some of the items in the order have been fulfilled, or a request for fulfillment has been sent to the fulfillment service. */ + InProgress = 'IN_PROGRESS', + /** Displayed as **On hold**. All of the unfulfilled items in this order are on hold. */ + OnHold = 'ON_HOLD', + /** Displayed as **Open**. None of the items in the order have been fulfilled. Replaced by "UNFULFILLED" status. */ + Open = 'OPEN', + /** Displayed as **Partially fulfilled**. Some of the items in the order have been fulfilled. */ + PartiallyFulfilled = 'PARTIALLY_FULFILLED', + /** Displayed as **Pending fulfillment**. A request for fulfillment of some items awaits a response from the fulfillment service. Replaced by the "IN_PROGRESS" status. */ + PendingFulfillment = 'PENDING_FULFILLMENT', + /** Displayed as **Request declined**. Some of the items in the order have been rejected for fulfillment by the fulfillment service. */ + RequestDeclined = 'REQUEST_DECLINED', + /** Displayed as **Restocked**. All the items in the order have been restocked. Replaced by the "UNFULFILLED" status. */ + Restocked = 'RESTOCKED', + /** Displayed as **Scheduled**. All of the unfulfilled items in this order are scheduled for fulfillment at later time. */ + Scheduled = 'SCHEDULED', + /** Displayed as **Unfulfilled**. None of the items in the order have been fulfilled. */ + Unfulfilled = 'UNFULFILLED' +} + +/** A summary of the important details for a dispute on an order. */ +export type OrderDisputeSummary = Node & { + __typename?: 'OrderDisputeSummary'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The type that the dispute was initiated as. */ + initiatedAs: DisputeType; + /** The current status of the dispute. */ + status: DisputeStatus; +}; + +/** An auto-generated type which holds one Order and a cursor during pagination. */ +export type OrderEdge = { + __typename?: 'OrderEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of OrderEdge. */ + node: Order; +}; + +/** Return type for `orderEditAddCustomItem` mutation. */ +export type OrderEditAddCustomItemPayload = { + __typename?: 'OrderEditAddCustomItemPayload'; + /** The custom line item that will be added to the order based on the current edits. */ + calculatedLineItem?: Maybe; + /** An order with the edits applied but not saved. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `orderEditAddLineItemDiscount` mutation. */ +export type OrderEditAddLineItemDiscountPayload = { + __typename?: 'OrderEditAddLineItemDiscountPayload'; + /** The discount applied to a line item during this order edit. */ + addedDiscountStagedChange?: Maybe; + /** The line item with the edits applied but not saved. */ + calculatedLineItem?: Maybe; + /** An order with the edits applied but not saved. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields used to add a shipping line. */ +export type OrderEditAddShippingLineInput = { + /** The price of the shipping line. */ + price: MoneyInput; + /** The title of the shipping line. */ + title: Scalars['String']['input']; +}; + +/** Return type for `orderEditAddShippingLine` mutation. */ +export type OrderEditAddShippingLinePayload = { + __typename?: 'OrderEditAddShippingLinePayload'; + /** + * The [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder) + * with the edits applied but not saved. + */ + calculatedOrder?: Maybe; + /** + * The [calculated shipping line](https://shopify.dev/api/admin-graphql/latest/objects/calculatedshippingline) + * that's added during this order edit. + */ + calculatedShippingLine?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderEditAddShippingLine`. */ +export type OrderEditAddShippingLineUserError = DisplayableError & { + __typename?: 'OrderEditAddShippingLineUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderEditAddShippingLineUserError`. */ +export enum OrderEditAddShippingLineUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Return type for `orderEditAddVariant` mutation. */ +export type OrderEditAddVariantPayload = { + __typename?: 'OrderEditAddVariantPayload'; + /** + * The [calculated line item](https://shopify.dev/api/admin-graphql/latest/objects/calculatedlineitem) + * that's added during this order edit. + */ + calculatedLineItem?: Maybe; + /** + * The [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder) + * with the edits applied but not saved. + */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An agreement associated with an edit to the order. */ +export type OrderEditAgreement = SalesAgreement & { + __typename?: 'OrderEditAgreement'; + /** The application that created the agreement. */ + app?: Maybe; + /** The date and time at which the agreement occured. */ + happenedAt: Scalars['DateTime']['output']; + /** The unique ID for the agreement. */ + id: Scalars['ID']['output']; + /** The reason the agremeent was created. */ + reason: OrderActionType; + /** The sales associated with the agreement. */ + sales: SaleConnection; + /** The staff member associated with the agreement. */ + user?: Maybe; +}; + + +/** An agreement associated with an edit to the order. */ +export type OrderEditAgreementSalesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The input fields used to add a discount during an order edit. */ +export type OrderEditAppliedDiscountInput = { + /** The description of the discount. */ + description?: InputMaybe; + /** The value of the discount as a fixed amount. */ + fixedValue?: InputMaybe; + /** The value of the discount as a percentage. */ + percentValue?: InputMaybe; +}; + +/** Return type for `orderEditBegin` mutation. */ +export type OrderEditBeginPayload = { + __typename?: 'OrderEditBeginPayload'; + /** The order that will be edited. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `orderEditCommit` mutation. */ +export type OrderEditCommitPayload = { + __typename?: 'OrderEditCommitPayload'; + /** The order with changes applied. */ + order?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `orderEditRemoveDiscount` mutation. */ +export type OrderEditRemoveDiscountPayload = { + __typename?: 'OrderEditRemoveDiscountPayload'; + /** An order with the edits applied but not saved. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderEditRemoveDiscount`. */ +export type OrderEditRemoveDiscountUserError = DisplayableError & { + __typename?: 'OrderEditRemoveDiscountUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderEditRemoveDiscountUserError`. */ +export enum OrderEditRemoveDiscountUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Return type for `orderEditRemoveLineItemDiscount` mutation. */ +export type OrderEditRemoveLineItemDiscountPayload = { + __typename?: 'OrderEditRemoveLineItemDiscountPayload'; + /** The calculated line item after removal of the discount. */ + calculatedLineItem?: Maybe; + /** An order with the edits applied but not saved. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `orderEditRemoveShippingLine` mutation. */ +export type OrderEditRemoveShippingLinePayload = { + __typename?: 'OrderEditRemoveShippingLinePayload'; + /** + * The [calculated order](https://shopify.dev/api/admin-graphql/latest/objects/calculatedorder) + * with the edits applied but not saved. + */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderEditRemoveShippingLine`. */ +export type OrderEditRemoveShippingLineUserError = DisplayableError & { + __typename?: 'OrderEditRemoveShippingLineUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderEditRemoveShippingLineUserError`. */ +export enum OrderEditRemoveShippingLineUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Return type for `orderEditSetQuantity` mutation. */ +export type OrderEditSetQuantityPayload = { + __typename?: 'OrderEditSetQuantityPayload'; + /** The calculated line item with the edits applied but not saved. */ + calculatedLineItem?: Maybe; + /** The calculated order with the edits applied but not saved. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `orderEditUpdateDiscount` mutation. */ +export type OrderEditUpdateDiscountPayload = { + __typename?: 'OrderEditUpdateDiscountPayload'; + /** An order with the edits applied but not saved. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderEditUpdateDiscount`. */ +export type OrderEditUpdateDiscountUserError = DisplayableError & { + __typename?: 'OrderEditUpdateDiscountUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderEditUpdateDiscountUserError`. */ +export enum OrderEditUpdateDiscountUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** The input fields used to update a shipping line. */ +export type OrderEditUpdateShippingLineInput = { + /** The price of the shipping line. */ + price?: InputMaybe; + /** The title of the shipping line. */ + title?: InputMaybe; +}; + +/** Return type for `orderEditUpdateShippingLine` mutation. */ +export type OrderEditUpdateShippingLinePayload = { + __typename?: 'OrderEditUpdateShippingLinePayload'; + /** An order with the edits applied but not saved. */ + calculatedOrder?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderEditUpdateShippingLine`. */ +export type OrderEditUpdateShippingLineUserError = DisplayableError & { + __typename?: 'OrderEditUpdateShippingLineUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderEditUpdateShippingLineUserError`. */ +export enum OrderEditUpdateShippingLineUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** The input fields for specifying the information to be updated on an order when using the orderUpdate mutation. */ +export type OrderInput = { + /** A new list of custom attributes for the order. Overwrites the existing custom attributes. */ + customAttributes?: InputMaybe>; + /** A new customer email address for the order. Overwrites the existing email address. */ + email?: InputMaybe; + /** The ID of the order to update. */ + id: Scalars['ID']['input']; + /** A list of new [localization extensions](https://shopify.dev/api/admin-graphql/latest/objects/localizationextension) to add to the existing list of localization extensions for the order. */ + localizationExtensions?: InputMaybe>; + /** A list of new metafields to add to the existing metafields for the order. */ + metafields?: InputMaybe>; + /** The new contents for the note associated with the order. Overwrites the existing note. */ + note?: InputMaybe; + /** The new purchase order number for the order. */ + poNumber?: InputMaybe; + /** The new shipping address for the order. Overwrites the existing shipping address. */ + shippingAddress?: InputMaybe; + /** A new list of tags for the order. Overwrites the existing tags. */ + tags?: InputMaybe>; +}; + +/** Return type for `orderInvoiceSend` mutation. */ +export type OrderInvoiceSendPayload = { + __typename?: 'OrderInvoiceSendPayload'; + /** The order associated with the invoice email. */ + order?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderInvoiceSend`. */ +export type OrderInvoiceSendUserError = DisplayableError & { + __typename?: 'OrderInvoiceSendUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderInvoiceSendUserError`. */ +export enum OrderInvoiceSendUserErrorCode { + /** An error occurred while sending the invoice. */ + OrderInvoiceSendUnsuccessful = 'ORDER_INVOICE_SEND_UNSUCCESSFUL' +} + +/** The input fields for specifying the order to mark as paid. */ +export type OrderMarkAsPaidInput = { + /** The ID of the order to mark as paid. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `orderMarkAsPaid` mutation. */ +export type OrderMarkAsPaidPayload = { + __typename?: 'OrderMarkAsPaidPayload'; + /** The order marked as paid. */ + order?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for specifying a closed order to open. */ +export type OrderOpenInput = { + /** The ID of the order to open. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `orderOpen` mutation. */ +export type OrderOpenPayload = { + __typename?: 'OrderOpenPayload'; + /** The opened order. */ + order?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The payment collection details for an order that requires additional payment following an edit to the order. */ +export type OrderPaymentCollectionDetails = { + __typename?: 'OrderPaymentCollectionDetails'; + /** The URL to use for collecting an additional payment on the order. */ + additionalPaymentCollectionUrl?: Maybe; + /** The list of vaulted payment methods for the order with their permissions. */ + vaultedPaymentMethods?: Maybe>; +}; + +/** The status of a customer's payment for an order. */ +export type OrderPaymentStatus = { + __typename?: 'OrderPaymentStatus'; + /** A message describing an error during the asynchronous processing of a payment. */ + errorMessage?: Maybe; + /** The ID of the payment, initially returned by an `orderCreateMandatePayment` or `orderCreatePayment` mutation. */ + paymentReferenceId: Scalars['String']['output']; + /** The status of the payment. */ + status: OrderPaymentStatusResult; + /** The transaction associated with the payment. */ + transactions: Array; + /** A translated message describing an error during the asynchronous processing of a payment. */ + translatedErrorMessage?: Maybe; +}; + +/** The type of a payment status. */ +export enum OrderPaymentStatusResult { + /** The payment is authorized. */ + Authorized = 'AUTHORIZED', + /** The payment is captured. */ + Captured = 'CAPTURED', + /** There was an error initiating the payment. */ + Error = 'ERROR', + /** The payment is awaiting processing. */ + Initiated = 'INITIATED', + /** The payment is pending with the provider, and may take a while. */ + Pending = 'PENDING', + /** The payment is still being processed. */ + Processing = 'PROCESSING', + /** The payment is in purchased status. */ + Purchased = 'PURCHASED', + /** Redirect required. */ + RedirectRequired = 'REDIRECT_REQUIRED', + /** The payment is refunded. */ + Refunded = 'REFUNDED', + /** Payment can be retried. */ + Retryable = 'RETRYABLE', + /** The payment succeeded. */ + Success = 'SUCCESS', + /** Status is unknown. */ + Unknown = 'UNKNOWN', + /** The payment is voided. */ + Voided = 'VOIDED' +} + +/** + * The order's aggregated return status that's used for display purposes. + * An order might have multiple returns, so this field communicates the prioritized return status. + * The `OrderReturnStatus` enum is a supported filter parameter in the [`orders` query](https://shopify.dev/api/admin-graphql/latest/queries/orders#:~:text=reference_location_id-,return_status,-risk_level). + */ +export enum OrderReturnStatus { + /** All return shipments from a return in this order were inspected. */ + InspectionComplete = 'INSPECTION_COMPLETE', + /** Some items in the order are being returned. */ + InProgress = 'IN_PROGRESS', + /** No items in the order were returned. */ + NoReturn = 'NO_RETURN', + /** Some items in the order were returned. */ + Returned = 'RETURNED', + /** Some returns in the order were not completed successfully. */ + ReturnFailed = 'RETURN_FAILED', + /** A return was requested for some items in the order. */ + ReturnRequested = 'RETURN_REQUESTED' +} + +/** + * Represents a fraud check on an order. + * As of version 2024-04 this resource is deprecated. Risk Assessments can be queried via the + * [OrderRisk Assessments API](https://shopify.dev/api/admin-graphql/2024-04/objects/OrderRiskAssessment). + */ +export type OrderRisk = { + __typename?: 'OrderRisk'; + /** + * Whether the risk level is shown in the Shopify admin. If false, then this order risk is ignored when Shopify determines the overall risk level for the order. + * @deprecated This field is deprecated in version 2024-04 + */ + display: Scalars['Boolean']['output']; + /** + * The likelihood that an order is fraudulent, based on this order risk. + * + * The level can be set by Shopify risk analysis or by an app. + * @deprecated This field is deprecated in version 2024-04. Please use OrderRiskAssessment.riskLevel + */ + level?: Maybe; + /** + * The risk message that's shown to the merchant in the Shopify admin. + * @deprecated This field is deprecated in version 2024-04 + */ + message?: Maybe; +}; + +/** The risk assessments for an order. */ +export type OrderRiskAssessment = { + __typename?: 'OrderRiskAssessment'; + /** + * Optional facts used to describe the risk assessment. The values in here are specific to the provider. + * See the [examples for the mutation orderRiskAssessmentCreate](https://shopify.dev/api/admin-graphql/unstable/mutations/orderRiskAssessmentCreate#section-examples). + */ + facts: Array; + /** The app that provided the assessment, `null` if the assessment was provided by Shopify. */ + provider?: Maybe; + /** The likelihood that the order is fraudulent, based on this risk assessment. */ + riskLevel: RiskAssessmentResult; +}; + +/** The input fields for an order risk assessment. */ +export type OrderRiskAssessmentCreateInput = { + /** The list of facts used to determine the fraud assessment. */ + facts: Array; + /** The ID of the order receiving the fraud assessment. */ + orderId: Scalars['ID']['input']; + /** The risk level of the fraud assessment. */ + riskLevel: RiskAssessmentResult; +}; + +/** Return type for `orderRiskAssessmentCreate` mutation. */ +export type OrderRiskAssessmentCreatePayload = { + __typename?: 'OrderRiskAssessmentCreatePayload'; + /** The order risk assessment created. */ + orderRiskAssessment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `OrderRiskAssessmentCreate`. */ +export type OrderRiskAssessmentCreateUserError = DisplayableError & { + __typename?: 'OrderRiskAssessmentCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `OrderRiskAssessmentCreateUserError`. */ +export enum OrderRiskAssessmentCreateUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The order is marked as fulfilled and can no longer accept new risk assessments. */ + OrderAlreadyFulfilled = 'ORDER_ALREADY_FULFILLED', + /** Too many facts were provided for the risk assessment. */ + TooManyFacts = 'TOO_MANY_FACTS' +} + +/** The input fields to create a fact on an order risk assessment. */ +export type OrderRiskAssessmentFactInput = { + /** A description of the fact. Large values are truncated to 256 characters. */ + description: Scalars['String']['input']; + /** Indicates whether the fact is a negative, neutral or positive contributor with regards to risk. */ + sentiment: RiskFactSentiment; +}; + +/** The likelihood that an order is fraudulent. */ +export enum OrderRiskLevel { + /** There is a high level of risk that this order is fraudulent. */ + High = 'HIGH', + /** There is a low level of risk that this order is fraudulent. */ + Low = 'LOW', + /** There is a medium level of risk that this order is fraudulent. */ + Medium = 'MEDIUM' +} + +/** List of possible values for an OrderRiskRecommendation recommendation. */ +export enum OrderRiskRecommendationResult { + /** Recommends fulfilling the order. */ + Accept = 'ACCEPT', + /** Recommends cancelling the order. */ + Cancel = 'CANCEL', + /** Recommends investigating the order by contacting buyers. */ + Investigate = 'INVESTIGATE', + /** There is no recommended action for the order. */ + None = 'NONE' +} + +/** Summary of risk characteristics for an order. */ +export type OrderRiskSummary = { + __typename?: 'OrderRiskSummary'; + /** The list of risk assessments for the order. */ + assessments: Array; + /** The recommendation for the order based on the results of the risk assessments. This suggests the action the merchant should take with regards to its risk of fraud. */ + recommendation: OrderRiskRecommendationResult; +}; + +/** The set of valid sort keys for the Order query. */ +export enum OrderSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `customer_name` value. */ + CustomerName = 'CUSTOMER_NAME', + /** Sort orders by their shipping address country and city. */ + Destination = 'DESTINATION', + /** Sort by the `financial_status` value. */ + FinancialStatus = 'FINANCIAL_STATUS', + /** Sort by the `fulfillment_status` value. */ + FulfillmentStatus = 'FULFILLMENT_STATUS', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `order_number` value. */ + OrderNumber = 'ORDER_NUMBER', + /** Sort orders by their purchase order number. */ + PoNumber = 'PO_NUMBER', + /** Sort by the `processed_at` value. */ + ProcessedAt = 'PROCESSED_AT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort orders by the total quantity of all line items. */ + TotalItemsQuantity = 'TOTAL_ITEMS_QUANTITY', + /** Sort by the `total_price` value. */ + TotalPrice = 'TOTAL_PRICE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** A change that has been applied to an order. */ +export type OrderStagedChange = OrderStagedChangeAddCustomItem | OrderStagedChangeAddLineItemDiscount | OrderStagedChangeAddShippingLine | OrderStagedChangeAddVariant | OrderStagedChangeDecrementItem | OrderStagedChangeIncrementItem | OrderStagedChangeRemoveShippingLine; + +/** + * A change to the order representing the addition of a + * custom line item. For example, you might want to add gift wrapping service + * as a custom line item. + */ +export type OrderStagedChangeAddCustomItem = { + __typename?: 'OrderStagedChangeAddCustomItem'; + /** The price of an individual item without any discounts applied. This value can't be negative. */ + originalUnitPrice: MoneyV2; + /** The quantity of the custom item to add to the order. This value must be greater than zero. */ + quantity: Scalars['Int']['output']; + /** The title of the custom item. */ + title: Scalars['String']['output']; +}; + +/** The discount applied to an item that was added during the current order edit. */ +export type OrderStagedChangeAddLineItemDiscount = { + __typename?: 'OrderStagedChangeAddLineItemDiscount'; + /** The description of the discount. */ + description: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The pricing value of the discount. */ + value: PricingValue; +}; + +/** + * A new [shipping line](https://shopify.dev/api/admin-graphql/latest/objects/shippingline) + * added as part of an order edit. + */ +export type OrderStagedChangeAddShippingLine = { + __typename?: 'OrderStagedChangeAddShippingLine'; + /** The phone number at the shipping address. */ + phone?: Maybe; + /** The shipping line's title that's shown to the buyer. */ + presentmentTitle?: Maybe; + /** The price that applies to the shipping line. */ + price: MoneyV2; + /** The title of the shipping line. */ + title?: Maybe; +}; + +/** A change to the order representing the addition of an existing product variant. */ +export type OrderStagedChangeAddVariant = { + __typename?: 'OrderStagedChangeAddVariant'; + /** The quantity of the product variant that was added. */ + quantity: Scalars['Int']['output']; + /** The product variant that was added. */ + variant: ProductVariant; +}; + +/** An auto-generated type for paginating through multiple OrderStagedChanges. */ +export type OrderStagedChangeConnection = { + __typename?: 'OrderStagedChangeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in OrderStagedChangeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An removal of items from an existing line item on the order. */ +export type OrderStagedChangeDecrementItem = { + __typename?: 'OrderStagedChangeDecrementItem'; + /** The number of items removed. */ + delta: Scalars['Int']['output']; + /** The original line item. */ + lineItem: LineItem; + /** The intention to restock the removed items. */ + restock: Scalars['Boolean']['output']; +}; + +/** An auto-generated type which holds one OrderStagedChange and a cursor during pagination. */ +export type OrderStagedChangeEdge = { + __typename?: 'OrderStagedChangeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of OrderStagedChangeEdge. */ + node: OrderStagedChange; +}; + +/** An addition of items to an existing line item on the order. */ +export type OrderStagedChangeIncrementItem = { + __typename?: 'OrderStagedChangeIncrementItem'; + /** The number of items added. */ + delta: Scalars['Int']['output']; + /** The original line item. */ + lineItem: LineItem; +}; + +/** A shipping line removed during an order edit. */ +export type OrderStagedChangeRemoveShippingLine = { + __typename?: 'OrderStagedChangeRemoveShippingLine'; + /** The removed shipping line. */ + shippingLine: ShippingLine; +}; + +/** A payment transaction in the context of an order. */ +export type OrderTransaction = Node & { + __typename?: 'OrderTransaction'; + /** The masked account number associated with the payment method. */ + accountNumber?: Maybe; + /** + * The amount of money. + * @deprecated Use `amountSet` instead. + */ + amount: Scalars['Money']['output']; + /** The rounding adjustment applied on the cash amount in shop and presentment currencies. */ + amountRoundingSet?: Maybe; + /** The amount and currency of the transaction in shop and presentment currencies. */ + amountSet: MoneyBag; + /** + * The amount and currency of the transaction. + * @deprecated Use `amountSet` instead. + */ + amountV2: MoneyV2; + /** Authorization code associated with the transaction. */ + authorizationCode?: Maybe; + /** The time when the authorization expires. This field is available only to stores on a Shopify Plus plan. */ + authorizationExpiresAt?: Maybe; + /** Date and time when the transaction was created. */ + createdAt: Scalars['DateTime']['output']; + /** A standardized error code, independent of the payment provider. */ + errorCode?: Maybe; + /** The transaction fees charged on the order transaction. Only present for Shopify Payments transactions. */ + fees: Array; + /** The human-readable payment gateway name used to process the transaction. */ + formattedGateway?: Maybe; + /** The payment gateway used to process the transaction. */ + gateway?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The kind of transaction. */ + kind: OrderTransactionKind; + /** Whether the transaction can be manually captured. */ + manuallyCapturable: Scalars['Boolean']['output']; + /** + * Specifies the available amount to refund on the gateway. + * This value is only available for transactions of type `SuggestedRefund`. + * @deprecated Use `maximumRefundableV2` instead. + */ + maximumRefundable?: Maybe; + /** + * Specifies the available amount with currency to refund on the gateway. + * This value is only available for transactions of type `SuggestedRefund`. + */ + maximumRefundableV2?: Maybe; + /** Whether the transaction can be captured multiple times. */ + multiCapturable: Scalars['Boolean']['output']; + /** The associated order. */ + order?: Maybe; + /** The associated parent transaction, for example the authorization of a capture. */ + parentTransaction?: Maybe; + /** The payment details for the transaction. */ + paymentDetails?: Maybe; + /** The payment icon to display for the transaction. */ + paymentIcon?: Maybe; + /** The payment ID associated with the transaction. */ + paymentId?: Maybe; + /** + * The payment method used for the transaction. This value is `null` if the payment method is unknown. + * @deprecated Use `paymentIcon` instead. + */ + paymentMethod?: Maybe; + /** Date and time when the transaction was processed. */ + processedAt?: Maybe; + /** + * The transaction receipt that the payment gateway attaches to the transaction. + * The value of this field depends on which payment gateway processed the transaction. + */ + receiptJson?: Maybe; + /** The settlement currency. */ + settlementCurrency?: Maybe; + /** The rate used when converting the transaction amount to settlement currency. */ + settlementCurrencyRate?: Maybe; + /** Contains all Shopify Payments information related to an order transaction. This field is available only to stores on a Shopify Plus plan. */ + shopifyPaymentsSet?: Maybe; + /** The status of this transaction. */ + status: OrderTransactionStatus; + /** Whether the transaction is a test transaction. */ + test: Scalars['Boolean']['output']; + /** + * Specifies the available amount to capture on the gateway. + * Only available when an amount is capturable or manually mark as paid. + * @deprecated Use `totalUnsettledSet` instead. + */ + totalUnsettled?: Maybe; + /** + * Specifies the available amount with currency to capture on the gateway in shop and presentment currencies. + * Only available when an amount is capturable or manually mark as paid. + */ + totalUnsettledSet?: Maybe; + /** + * Specifies the available amount with currency to capture on the gateway. + * Only available when an amount is capturable or manually mark as paid. + * @deprecated Use `totalUnsettledSet` instead. + */ + totalUnsettledV2?: Maybe; + /** Staff member who was logged into the Shopify POS device when the transaction was processed. */ + user?: Maybe; +}; + +/** An auto-generated type for paginating through multiple OrderTransactions. */ +export type OrderTransactionConnection = { + __typename?: 'OrderTransactionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in OrderTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one OrderTransaction and a cursor during pagination. */ +export type OrderTransactionEdge = { + __typename?: 'OrderTransactionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of OrderTransactionEdge. */ + node: OrderTransaction; +}; + +/** A standardized error code, independent of the payment provider. */ +export enum OrderTransactionErrorCode { + /** The payment method was invalid. */ + AmazonPaymentsInvalidPaymentMethod = 'AMAZON_PAYMENTS_INVALID_PAYMENT_METHOD', + /** The maximum amount has been captured. */ + AmazonPaymentsMaxAmountCharged = 'AMAZON_PAYMENTS_MAX_AMOUNT_CHARGED', + /** The maximum amount has been refunded. */ + AmazonPaymentsMaxAmountRefunded = 'AMAZON_PAYMENTS_MAX_AMOUNT_REFUNDED', + /** The maximum of 10 authorizations has been captured for an order. */ + AmazonPaymentsMaxAuthorizationsCaptured = 'AMAZON_PAYMENTS_MAX_AUTHORIZATIONS_CAPTURED', + /** The maximum of 10 refunds has been processed for an order. */ + AmazonPaymentsMaxRefundsProcessed = 'AMAZON_PAYMENTS_MAX_REFUNDS_PROCESSED', + /** The order was canceled, which canceled all open authorizations. */ + AmazonPaymentsOrderReferenceCanceled = 'AMAZON_PAYMENTS_ORDER_REFERENCE_CANCELED', + /** The order was not confirmed within three hours. */ + AmazonPaymentsStale = 'AMAZON_PAYMENTS_STALE', + /** Call the card issuer. */ + CallIssuer = 'CALL_ISSUER', + /** The card was declined. */ + CardDeclined = 'CARD_DECLINED', + /** There is an error in the gateway or merchant configuration. */ + ConfigError = 'CONFIG_ERROR', + /** The card is expired. */ + ExpiredCard = 'EXPIRED_CARD', + /** There was an unknown error with processing the payment. */ + GenericError = 'GENERIC_ERROR', + /** The address does not match the card number. */ + IncorrectAddress = 'INCORRECT_ADDRESS', + /** The CVC does not match the card number. */ + IncorrectCvc = 'INCORRECT_CVC', + /** The card number is incorrect. */ + IncorrectNumber = 'INCORRECT_NUMBER', + /** The entered PIN is incorrect. */ + IncorrectPin = 'INCORRECT_PIN', + /** The ZIP or postal code does not match the card number. */ + IncorrectZip = 'INCORRECT_ZIP', + /** The amount is either too high or too low for the provider. */ + InvalidAmount = 'INVALID_AMOUNT', + /** The payment method is not available in the customer's country. */ + InvalidCountry = 'INVALID_COUNTRY', + /** The format of the CVC is incorrect. */ + InvalidCvc = 'INVALID_CVC', + /** The format of the expiry date is incorrect. */ + InvalidExpiryDate = 'INVALID_EXPIRY_DATE', + /** The format of the card number is incorrect. */ + InvalidNumber = 'INVALID_NUMBER', + /** The payment method is momentarily unavailable. */ + PaymentMethodUnavailable = 'PAYMENT_METHOD_UNAVAILABLE', + /** The card has been reported as lost or stolen, and the card issuer has requested that the merchant keep the card and call the number on the back. */ + PickUpCard = 'PICK_UP_CARD', + /** There was an error while processing the payment. */ + ProcessingError = 'PROCESSING_ERROR', + /** A real card was used but the gateway was in test mode. */ + TestModeLiveCard = 'TEST_MODE_LIVE_CARD', + /** The gateway or merchant configuration doesn't support a feature, such as network tokenization. */ + UnsupportedFeature = 'UNSUPPORTED_FEATURE' +} + +/** The input fields for the information needed to create an order transaction. */ +export type OrderTransactionInput = { + /** The amount of money for this transaction. */ + amount: Scalars['Money']['input']; + /** The payment gateway to use for this transaction. */ + gateway: Scalars['String']['input']; + /** The kind of transaction. */ + kind: OrderTransactionKind; + /** The ID of the order associated with the transaction. */ + orderId: Scalars['ID']['input']; + /** The ID of the optional parent transaction, for example the authorization of a capture. */ + parentId?: InputMaybe; +}; + +/** The different kinds of order transactions. */ +export enum OrderTransactionKind { + /** + * An amount reserved against the cardholder's funding source. + * Money does not change hands until the authorization is captured. + */ + Authorization = 'AUTHORIZATION', + /** A transfer of the money that was reserved by an authorization. */ + Capture = 'CAPTURE', + /** The money returned to the customer when they've paid too much during a cash transaction. */ + Change = 'CHANGE', + /** An authorization for a payment taken with an EMV credit card reader. */ + EmvAuthorization = 'EMV_AUTHORIZATION', + /** + * A partial or full return of captured funds to the cardholder. + * A refund can happen only after a capture is processed. + */ + Refund = 'REFUND', + /** An authorization and capture performed together in a single step. */ + Sale = 'SALE', + /** A suggested refund transaction that can be used to create a refund. */ + SuggestedRefund = 'SUGGESTED_REFUND', + /** A cancelation of an authorization transaction. */ + Void = 'VOID' +} + +/** The different states that an `OrderTransaction` can have. */ +export enum OrderTransactionStatus { + /** Awaiting a response. */ + AwaitingResponse = 'AWAITING_RESPONSE', + /** There was an error while processing the transaction. */ + Error = 'ERROR', + /** The transaction failed. */ + Failure = 'FAILURE', + /** The transaction is pending. */ + Pending = 'PENDING', + /** The transaction succeeded. */ + Success = 'SUCCESS', + /** The transaction status is unknown. */ + Unknown = 'UNKNOWN' +} + +/** Return type for `orderUpdate` mutation. */ +export type OrderUpdatePayload = { + __typename?: 'OrderUpdatePayload'; + /** The updated order. */ + order?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A page on the Online Store. */ +export type Page = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & Navigable & Node & { + __typename?: 'Page'; + /** The text content of the page, complete with HTML markup. */ + body: Scalars['HTML']['output']; + /** The first 150 characters of the page body. If the page body contains more than 150 characters, additional characters are truncated by ellipses. */ + bodySummary: Scalars['String']['output']; + /** The date and time (ISO 8601 format) of the page creation. */ + createdAt: Scalars['DateTime']['output']; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** + * A unique, human-friendly string for the page. + * In themes, the Liquid templating language refers to a page by its handle. + */ + handle: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether or not the page is visible. */ + isPublished: Scalars['Boolean']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** + * The date and time (ISO 8601 format) when the page became or will become visible. + * Returns null when the page isn't visible. + */ + publishedAt?: Maybe; + /** The suffix of the template that's used to render the page. */ + templateSuffix?: Maybe; + /** Title of the page. */ + title: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The date and time (ISO 8601 format) of the latest page update. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** A page on the Online Store. */ +export type PageEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A page on the Online Store. */ +export type PageMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A page on the Online Store. */ +export type PageMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A page on the Online Store. */ +export type PageMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A page on the Online Store. */ +export type PagePrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A page on the Online Store. */ +export type PagePrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A page on the Online Store. */ +export type PageTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Pages. */ +export type PageConnection = { + __typename?: 'PageConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PageEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields to create a page. */ +export type PageCreateInput = { + /** The text content of the page, complete with HTML markup. */ + body?: InputMaybe; + /** + * A unique, human-friendly string for the page. If no handle is specified, a handle will be generated automatically from the page title. + * In themes, the Liquid templating language refers to a page by its handle. + */ + handle?: InputMaybe; + /** Whether or not the page should be visible. Defaults to `true` if no publish date is specified. */ + isPublished?: InputMaybe; + /** The input fields to create or update a metafield. */ + metafields?: InputMaybe>; + /** The date and time (ISO 8601 format) when the page should become visible. */ + publishDate?: InputMaybe; + /** + * The suffix of the template that's used to render the page. + * If the value is an empty string or `null`, then the default page template is used. + */ + templateSuffix?: InputMaybe; + /** The title of the page. */ + title: Scalars['String']['input']; +}; + +/** Return type for `pageCreate` mutation. */ +export type PageCreatePayload = { + __typename?: 'PageCreatePayload'; + /** The page that was created. */ + page?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `PageCreate`. */ +export type PageCreateUserError = DisplayableError & { + __typename?: 'PageCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PageCreateUserError`. */ +export enum PageCreateUserErrorCode { + /** Can’t set isPublished to true and also set a future publish date. */ + InvalidPublishDate = 'INVALID_PUBLISH_DATE', + /** The metafield type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The value is invalid for the metafield type or for the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** Return type for `pageDelete` mutation. */ +export type PageDeletePayload = { + __typename?: 'PageDeletePayload'; + /** The ID of the deleted page. */ + deletedPageId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `PageDelete`. */ +export type PageDeleteUserError = DisplayableError & { + __typename?: 'PageDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PageDeleteUserError`. */ +export enum PageDeleteUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** An auto-generated type which holds one Page and a cursor during pagination. */ +export type PageEdge = { + __typename?: 'PageEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PageEdge. */ + node: Page; +}; + +/** + * Returns information about pagination in a connection, in accordance with the + * [Relay specification](https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo). + * For more information, please read our [GraphQL Pagination Usage Guide](https://shopify.dev/api/usage/pagination-graphql). + */ +export type PageInfo = { + __typename?: 'PageInfo'; + /** The cursor corresponding to the last node in edges. */ + endCursor?: Maybe; + /** Whether there are more pages to fetch following the current page. */ + hasNextPage: Scalars['Boolean']['output']; + /** Whether there are any pages prior to the current page. */ + hasPreviousPage: Scalars['Boolean']['output']; + /** The cursor corresponding to the first node in edges. */ + startCursor?: Maybe; +}; + +/** The input fields to update a page. */ +export type PageUpdateInput = { + /** The text content of the page, complete with HTML markup. */ + body?: InputMaybe; + /** + * A unique, human-friendly string for the page. If no handle is specified, a handle will be generated automatically from the page title. + * In themes, the Liquid templating language refers to a page by its handle. + */ + handle?: InputMaybe; + /** Whether or not the page should be visible. Defaults to `true` if no publish date is specified. */ + isPublished?: InputMaybe; + /** The input fields to create or update a metafield. */ + metafields?: InputMaybe>; + /** The date and time (ISO 8601 format) when the page should become visible. */ + publishDate?: InputMaybe; + /** + * Whether a redirect is required after a new handle has been provided. + * If `true`, then the old handle is redirected to the new one automatically. + */ + redirectNewHandle?: InputMaybe; + /** + * The suffix of the template that's used to render the page. + * If the value is an empty string or `null`, then the default page template is used. + */ + templateSuffix?: InputMaybe; + /** The title of the page. */ + title?: InputMaybe; +}; + +/** Return type for `pageUpdate` mutation. */ +export type PageUpdatePayload = { + __typename?: 'PageUpdatePayload'; + /** The page that was updated. */ + page?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `PageUpdate`. */ +export type PageUpdateUserError = DisplayableError & { + __typename?: 'PageUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PageUpdateUserError`. */ +export enum PageUpdateUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** Can’t set isPublished to true and also set a future publish date. */ + InvalidPublishDate = 'INVALID_PUBLISH_DATE', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** A payment customization. */ +export type PaymentCustomization = HasMetafieldDefinitions & HasMetafields & Node & { + __typename?: 'PaymentCustomization'; + /** The enabled status of the payment customization. */ + enabled: Scalars['Boolean']['output']; + /** The error history on the most recent version of the payment customization. */ + errorHistory?: Maybe; + /** The ID of the Shopify Function implementing the payment customization. */ + functionId: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The Shopify Function implementing the payment customization. */ + shopifyFunction: ShopifyFunction; + /** The title of the payment customization. */ + title: Scalars['String']['output']; +}; + + +/** A payment customization. */ +export type PaymentCustomizationMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A payment customization. */ +export type PaymentCustomizationMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A payment customization. */ +export type PaymentCustomizationMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A payment customization. */ +export type PaymentCustomizationPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A payment customization. */ +export type PaymentCustomizationPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `paymentCustomizationActivation` mutation. */ +export type PaymentCustomizationActivationPayload = { + __typename?: 'PaymentCustomizationActivationPayload'; + /** The IDs of the updated payment customizations. */ + ids?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple PaymentCustomizations. */ +export type PaymentCustomizationConnection = { + __typename?: 'PaymentCustomizationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PaymentCustomizationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `paymentCustomizationCreate` mutation. */ +export type PaymentCustomizationCreatePayload = { + __typename?: 'PaymentCustomizationCreatePayload'; + /** Returns the created payment customization. */ + paymentCustomization?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `paymentCustomizationDelete` mutation. */ +export type PaymentCustomizationDeletePayload = { + __typename?: 'PaymentCustomizationDeletePayload'; + /** Returns the deleted payment customization ID. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one PaymentCustomization and a cursor during pagination. */ +export type PaymentCustomizationEdge = { + __typename?: 'PaymentCustomizationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PaymentCustomizationEdge. */ + node: PaymentCustomization; +}; + +/** An error that occurs during the execution of a payment customization mutation. */ +export type PaymentCustomizationError = DisplayableError & { + __typename?: 'PaymentCustomizationError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PaymentCustomizationError`. */ +export enum PaymentCustomizationErrorCode { + /** Shop plan not eligible to use Functions from a custom app. */ + CustomAppFunctionNotEligible = 'CUSTOM_APP_FUNCTION_NOT_ELIGIBLE', + /** Function does not implement the required interface. */ + FunctionDoesNotImplement = 'FUNCTION_DOES_NOT_IMPLEMENT', + /** Function ID cannot be changed. */ + FunctionIdCannotBeChanged = 'FUNCTION_ID_CANNOT_BE_CHANGED', + /** Function not found. */ + FunctionNotFound = 'FUNCTION_NOT_FOUND', + /** Function is pending deletion. */ + FunctionPendingDeletion = 'FUNCTION_PENDING_DELETION', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Could not create or update metafields. */ + InvalidMetafields = 'INVALID_METAFIELDS', + /** Maximum payment customizations are already enabled. */ + MaximumActivePaymentCustomizations = 'MAXIMUM_ACTIVE_PAYMENT_CUSTOMIZATIONS', + /** Shop must be on a Shopify Plus plan to activate payment customizations from a custom app. */ + PaymentCustomizationFunctionNotEligible = 'PAYMENT_CUSTOMIZATION_FUNCTION_NOT_ELIGIBLE', + /** Payment customization not found. */ + PaymentCustomizationNotFound = 'PAYMENT_CUSTOMIZATION_NOT_FOUND', + /** Required input field must be present. */ + RequiredInputField = 'REQUIRED_INPUT_FIELD' +} + +/** The input fields to create and update a payment customization. */ +export type PaymentCustomizationInput = { + /** The enabled status of the payment customization. */ + enabled?: InputMaybe; + /** The ID of the function providing the payment customization. */ + functionId?: InputMaybe; + /** Additional metafields to associate to the payment customization. */ + metafields?: InputMaybe>; + /** The title of the payment customization. */ + title?: InputMaybe; +}; + +/** Return type for `paymentCustomizationUpdate` mutation. */ +export type PaymentCustomizationUpdatePayload = { + __typename?: 'PaymentCustomizationUpdatePayload'; + /** Returns the updated payment customization. */ + paymentCustomization?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Payment details related to a transaction. */ +export type PaymentDetails = CardPaymentDetails | LocalPaymentMethodsPaymentDetails | ShopPayInstallmentsPaymentDetails; + +/** All possible instrument outputs for Payment Mandates. */ +export type PaymentInstrument = VaultCreditCard | VaultPaypalBillingAgreement; + +/** + * A payment instrument and the permission + * the owner of the instrument gives to the merchant to debit it. + */ +export type PaymentMandate = Node & { + __typename?: 'PaymentMandate'; + /** The unique ID of a payment mandate. */ + id: Scalars['ID']['output']; + /** The outputs details of the payment instrument. */ + paymentInstrument: PaymentInstrument; +}; + +/** Some of the payment methods used in Shopify. */ +export enum PaymentMethods { + AmericanExpress = 'AMERICAN_EXPRESS', + Bitcoin = 'BITCOIN', + Bogus = 'BOGUS', + Dankort = 'DANKORT', + DinersClub = 'DINERS_CLUB', + Discover = 'DISCOVER', + Dogecoin = 'DOGECOIN', + /** The payment method for eftpos_au payment. */ + Eftpos = 'EFTPOS', + /** The payment method for Elo payment. */ + Elo = 'ELO', + Forbrugsforeningen = 'FORBRUGSFORENINGEN', + /** The payment method for Interac payment. */ + Interac = 'INTERAC', + Jcb = 'JCB', + Litecoin = 'LITECOIN', + Maestro = 'MAESTRO', + Mastercard = 'MASTERCARD', + Paypal = 'PAYPAL', + /** The payment method for UnionPay payment. */ + Unionpay = 'UNIONPAY', + Visa = 'VISA' +} + +/** Return type for `paymentReminderSend` mutation. */ +export type PaymentReminderSendPayload = { + __typename?: 'PaymentReminderSendPayload'; + /** Whether the payment reminder email was successfully sent. */ + success?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `PaymentReminderSend`. */ +export type PaymentReminderSendUserError = DisplayableError & { + __typename?: 'PaymentReminderSendUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PaymentReminderSendUserError`. */ +export enum PaymentReminderSendUserErrorCode { + /** An error occurred while sending the payment reminder. */ + PaymentReminderSendUnsuccessful = 'PAYMENT_REMINDER_SEND_UNSUCCESSFUL' +} + +/** Represents the payment schedule for a single payment defined in the payment terms. */ +export type PaymentSchedule = Node & { + __typename?: 'PaymentSchedule'; + /** + * Amount owed for this payment schedule. + * @deprecated Use `balanceDue`, `totalBalance`, or `Order.totalOutstandingSet` instead. + */ + amount: MoneyV2; + /** Date and time when the payment schedule is paid or fulfilled. */ + completedAt?: Maybe; + /** Date and time when the payment schedule is due. */ + dueAt?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Date and time when the invoice is sent. */ + issuedAt?: Maybe; + /** The payment terms the payment schedule belongs to. */ + paymentTerms: PaymentTerms; +}; + +/** An auto-generated type for paginating through multiple PaymentSchedules. */ +export type PaymentScheduleConnection = { + __typename?: 'PaymentScheduleConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PaymentScheduleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one PaymentSchedule and a cursor during pagination. */ +export type PaymentScheduleEdge = { + __typename?: 'PaymentScheduleEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PaymentScheduleEdge. */ + node: PaymentSchedule; +}; + +/** The input fields used to create a payment schedule for payment terms. */ +export type PaymentScheduleInput = { + /** Specifies the date and time when the payment schedule is due. This field must be provided for fixed type payment terms. */ + dueAt?: InputMaybe; + /** Specifies the date and time that the payment schedule was issued. This field must be provided for net type payment terms. */ + issuedAt?: InputMaybe; +}; + +/** Settings related to payments. */ +export type PaymentSettings = { + __typename?: 'PaymentSettings'; + /** List of the digital wallets which the shop supports. */ + supportedDigitalWallets: Array; +}; + +/** Represents the payment terms for an order or draft order. */ +export type PaymentTerms = Node & { + __typename?: 'PaymentTerms'; + /** The draft order associated with the payment terms. */ + draftOrder?: Maybe; + /** Duration of payment terms in days based on the payment terms template used to create the payment terms. */ + dueInDays?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The order associated with the payment terms. */ + order?: Maybe; + /** Whether the payment terms have overdue payment schedules. */ + overdue: Scalars['Boolean']['output']; + /** List of schedules for the payment terms. */ + paymentSchedules: PaymentScheduleConnection; + /** The name of the payment terms template used to create the payment terms. */ + paymentTermsName: Scalars['String']['output']; + /** The payment terms template type used to create the payment terms. */ + paymentTermsType: PaymentTermsType; + /** The payment terms name, translated into the shop admin's preferred language. */ + translatedName: Scalars['String']['output']; +}; + + +/** Represents the payment terms for an order or draft order. */ +export type PaymentTermsPaymentSchedulesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The input fields used to create a payment terms. */ +export type PaymentTermsCreateInput = { + /** Specifies the payment schedules for the payment terms. */ + paymentSchedules?: InputMaybe>; + /** Specifies the payment terms template ID used to generate payment terms. */ + paymentTermsTemplateId: Scalars['ID']['input']; +}; + +/** Return type for `paymentTermsCreate` mutation. */ +export type PaymentTermsCreatePayload = { + __typename?: 'PaymentTermsCreatePayload'; + /** The created payment terms. */ + paymentTerms?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `PaymentTermsCreate`. */ +export type PaymentTermsCreateUserError = DisplayableError & { + __typename?: 'PaymentTermsCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PaymentTermsCreateUserError`. */ +export enum PaymentTermsCreateUserErrorCode { + /** An error occurred while creating payment terms. */ + PaymentTermsCreationUnsuccessful = 'PAYMENT_TERMS_CREATION_UNSUCCESSFUL' +} + +/** The input fields used to delete the payment terms. */ +export type PaymentTermsDeleteInput = { + /** The ID of the payment terms being deleted. */ + paymentTermsId: Scalars['ID']['input']; +}; + +/** Return type for `paymentTermsDelete` mutation. */ +export type PaymentTermsDeletePayload = { + __typename?: 'PaymentTermsDeletePayload'; + /** The deleted payment terms ID. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `PaymentTermsDelete`. */ +export type PaymentTermsDeleteUserError = DisplayableError & { + __typename?: 'PaymentTermsDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PaymentTermsDeleteUserError`. */ +export enum PaymentTermsDeleteUserErrorCode { + /** An error occurred while deleting payment terms. */ + PaymentTermsDeleteUnsuccessful = 'PAYMENT_TERMS_DELETE_UNSUCCESSFUL' +} + +/** The input fields to create payment terms. Payment terms set the date that payment is due. */ +export type PaymentTermsInput = { + /** Specifies the payment schedules for the payment terms. */ + paymentSchedules?: InputMaybe>; + /** + * Specifies the ID of the payment terms template. + * Payment terms templates provide preset configurations to create common payment terms. + * Refer to the + * [PaymentTermsTemplate](https://shopify.dev/api/admin-graphql/latest/objects/paymenttermstemplate) + * object for more details. + */ + paymentTermsTemplateId?: InputMaybe; +}; + +/** Represents the payment terms template object. */ +export type PaymentTermsTemplate = Node & { + __typename?: 'PaymentTermsTemplate'; + /** The description of the payment terms template. */ + description: Scalars['String']['output']; + /** The number of days between the issued date and due date if this is the net type of payment terms. */ + dueInDays?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the payment terms template. */ + name: Scalars['String']['output']; + /** The type of the payment terms template. */ + paymentTermsType: PaymentTermsType; + /** The translated payment terms template name. */ + translatedName: Scalars['String']['output']; +}; + +/** The type of a payment terms or a payment terms template. */ +export enum PaymentTermsType { + /** The payment terms or payment terms template is a fixed type. It's due on a specified date. */ + Fixed = 'FIXED', + /** The payment terms or payment terms template is due on fulfillment. */ + Fulfillment = 'FULFILLMENT', + /** The payment terms or payment terms template is a net type. It's due a number of days after issue. */ + Net = 'NET', + /** The payment terms or payment terms template is due on receipt. */ + Receipt = 'RECEIPT', + /** The type of the payment terms or payment terms template is unknown. */ + Unknown = 'UNKNOWN' +} + +/** The input fields used to update the payment terms. */ +export type PaymentTermsUpdateInput = { + /** The attributes used to update the payment terms. */ + paymentTermsAttributes: PaymentTermsInput; + /** The ID of the payment terms being updated. */ + paymentTermsId: Scalars['ID']['input']; +}; + +/** Return type for `paymentTermsUpdate` mutation. */ +export type PaymentTermsUpdatePayload = { + __typename?: 'PaymentTermsUpdatePayload'; + /** The updated payment terms. */ + paymentTerms?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `PaymentTermsUpdate`. */ +export type PaymentTermsUpdateUserError = DisplayableError & { + __typename?: 'PaymentTermsUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PaymentTermsUpdateUserError`. */ +export enum PaymentTermsUpdateUserErrorCode { + /** An error occurred while updating payment terms. */ + PaymentTermsUpdateUnsuccessful = 'PAYMENT_TERMS_UPDATE_UNSUCCESSFUL' +} + +/** The set of valid sort keys for the Payout query. */ +export enum PayoutSortKeys { + /** Sort by the `adjustment_gross` value. */ + AdjustmentGross = 'ADJUSTMENT_GROSS', + /** Sort by the `advance_gross` value. */ + AdvanceGross = 'ADVANCE_GROSS', + /** Sort by the `amount` value. */ + Amount = 'AMOUNT', + /** Sort by the `charge_gross` value. */ + ChargeGross = 'CHARGE_GROSS', + /** Sort by the `duties_gross` value. */ + DutiesGross = 'DUTIES_GROSS', + /** Sort by the `fee_amount` value. */ + FeeAmount = 'FEE_AMOUNT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `issued_at` value. */ + IssuedAt = 'ISSUED_AT', + /** Sort by the `refund_gross` value. */ + RefundGross = 'REFUND_GROSS', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `shipping_label_gross` value. */ + ShippingLabelGross = 'SHIPPING_LABEL_GROSS', + /** Sort by the `status` value. */ + Status = 'STATUS' +} + +/** Represents a valid PayPal Express subscriptions gateway status. */ +export enum PaypalExpressSubscriptionsGatewayStatus { + /** The status is disabled. */ + Disabled = 'DISABLED', + /** The status is enabled. */ + Enabled = 'ENABLED', + /** The status is pending. */ + Pending = 'PENDING' +} + +/** The input fields used to include the line items of a specified fulfillment order that should be marked as prepared for pickup by a customer. */ +export type PreparedFulfillmentOrderLineItemsInput = { + /** The ID of the fulfillment order. */ + fulfillmentOrderId: Scalars['ID']['input']; +}; + +/** How to caluclate the parent product variant's price while bulk updating variant relationships. */ +export enum PriceCalculationType { + /** The price of the parent will be the sum of the components price times their quantity. */ + ComponentsSum = 'COMPONENTS_SUM', + /** The price of the parent will be set to the price provided. */ + Fixed = 'FIXED', + /** The price of the parent will not be adjusted. */ + None = 'NONE' +} + +/** The input fields for updating the price of a parent product variant. */ +export type PriceInput = { + /** + * The specific type of calculation done to determine the price of the parent variant. + * The price is calculated during Bundle creation. Updating a component variant won't recalculate the price. + */ + calculation?: InputMaybe; + /** The price of the parent product variant. This will be be used if calcualtion is set to 'FIXED'. */ + price?: InputMaybe; +}; + +/** + * Represents a price list, including information about related prices and eligibility rules. + * You can use price lists to specify either fixed prices or adjusted relative prices that + * override initial product variant prices. Price lists are applied to customers + * using context rules, which determine price list eligibility. + * + * For more information on price lists, refer to + * [Support different pricing models](https://shopify.dev/apps/internationalization/product-price-lists). + */ +export type PriceList = Node & { + __typename?: 'PriceList'; + /** The catalog that the price list is associated with. */ + catalog?: Maybe; + /** The currency for fixed prices associated with this price list. */ + currency: CurrencyCode; + /** The number of fixed prices on the price list. */ + fixedPricesCount: Scalars['Int']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The unique name of the price list, used as a human-readable identifier. */ + name: Scalars['String']['output']; + /** Relative adjustments to other prices. */ + parent?: Maybe; + /** A list of prices associated with the price list. */ + prices: PriceListPriceConnection; + /** A list of quantity rules associated with the price list, ordered by product variants. */ + quantityRules: QuantityRuleConnection; +}; + + +/** + * Represents a price list, including information about related prices and eligibility rules. + * You can use price lists to specify either fixed prices or adjusted relative prices that + * override initial product variant prices. Price lists are applied to customers + * using context rules, which determine price list eligibility. + * + * For more information on price lists, refer to + * [Support different pricing models](https://shopify.dev/apps/internationalization/product-price-lists). + */ +export type PriceListPricesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + originType?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a price list, including information about related prices and eligibility rules. + * You can use price lists to specify either fixed prices or adjusted relative prices that + * override initial product variant prices. Price lists are applied to customers + * using context rules, which determine price list eligibility. + * + * For more information on price lists, refer to + * [Support different pricing models](https://shopify.dev/apps/internationalization/product-price-lists). + */ +export type PriceListQuantityRulesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + originType?: InputMaybe; + reverse?: InputMaybe; +}; + +/** + * The type and value of a price list adjustment. + * + * For more information on price lists, refer to + * [Support different pricing models](https://shopify.dev/apps/internationalization/product-price-lists). + */ +export type PriceListAdjustment = { + __typename?: 'PriceListAdjustment'; + /** The type of price adjustment, such as percentage increase or decrease. */ + type: PriceListAdjustmentType; + /** + * The value of price adjustment, where positive numbers reduce the prices and negative numbers + * increase them. + */ + value: Scalars['Float']['output']; +}; + +/** The input fields to set a price list adjustment. */ +export type PriceListAdjustmentInput = { + /** The type of price adjustment, such as percentage increase or decrease. */ + type: PriceListAdjustmentType; + /** The value of the price adjustment as specified by the `type`. */ + value: Scalars['Float']['input']; +}; + +/** Represents the settings of price list adjustments. */ +export type PriceListAdjustmentSettings = { + __typename?: 'PriceListAdjustmentSettings'; + /** The type of price list adjustment setting for compare at price. */ + compareAtMode: PriceListCompareAtMode; +}; + +/** The input fields to set a price list's adjustment settings. */ +export type PriceListAdjustmentSettingsInput = { + /** Determines how adjustments are applied to compare at prices. */ + compareAtMode?: PriceListCompareAtMode; +}; + +/** Represents a percentage price adjustment type. */ +export enum PriceListAdjustmentType { + /** Percentage decrease type. Prices will have a lower value. */ + PercentageDecrease = 'PERCENTAGE_DECREASE', + /** Percentage increase type. Prices will have a higher value. */ + PercentageIncrease = 'PERCENTAGE_INCREASE' +} + +/** Represents how the compare at price will be determined for a price list. */ +export enum PriceListCompareAtMode { + /** The compare at price is adjusted based on percentage specified in price list. */ + Adjusted = 'ADJUSTED', + /** The compare at prices are set to `null` unless explicitly defined by a fixed price value. */ + Nullify = 'NULLIFY' +} + +/** An auto-generated type for paginating through multiple PriceLists. */ +export type PriceListConnection = { + __typename?: 'PriceListConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PriceListEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields to create a price list. */ +export type PriceListCreateInput = { + /** The ID of the catalog to associate with this price list.If the catalog was already associated with another price list then it will be unlinked. */ + catalogId?: InputMaybe; + /** Three letter currency code for fixed prices associated with this price list. */ + currency: CurrencyCode; + /** The unique name of the price list, used as a human-readable identifier. */ + name: Scalars['String']['input']; + /** Relative adjustments to other prices. */ + parent: PriceListParentCreateInput; +}; + +/** Return type for `priceListCreate` mutation. */ +export type PriceListCreatePayload = { + __typename?: 'PriceListCreatePayload'; + /** The newly created price list. */ + priceList?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `priceListDelete` mutation. */ +export type PriceListDeletePayload = { + __typename?: 'PriceListDeletePayload'; + /** The ID of the deleted price list. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one PriceList and a cursor during pagination. */ +export type PriceListEdge = { + __typename?: 'PriceListEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PriceListEdge. */ + node: PriceList; +}; + +/** Return type for `priceListFixedPricesAdd` mutation. */ +export type PriceListFixedPricesAddPayload = { + __typename?: 'PriceListFixedPricesAddPayload'; + /** The list of fixed prices that were added to or updated in the price list. */ + prices?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed price list fixed prices by product bulk update operations. */ +export type PriceListFixedPricesByProductBulkUpdateUserError = DisplayableError & { + __typename?: 'PriceListFixedPricesByProductBulkUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PriceListFixedPricesByProductBulkUpdateUserError`. */ +export enum PriceListFixedPricesByProductBulkUpdateUserErrorCode { + /** Duplicate ID in input. */ + DuplicateIdInInput = 'DUPLICATE_ID_IN_INPUT', + /** IDs must be mutually exclusive across add or delete operations. */ + IdMustBeMutuallyExclusive = 'ID_MUST_BE_MUTUALLY_EXCLUSIVE', + /** No update operations specified. */ + NoUpdateOperationsSpecified = 'NO_UPDATE_OPERATIONS_SPECIFIED', + /** The currency specified does not match the price list's currency. */ + PricesToAddCurrencyMismatch = 'PRICES_TO_ADD_CURRENCY_MISMATCH', + /** Exceeded the 10000 prices to add limit. */ + PriceLimitExceeded = 'PRICE_LIMIT_EXCEEDED', + /** Price list does not exist. */ + PriceListDoesNotExist = 'PRICE_LIST_DOES_NOT_EXIST', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST' +} + +/** Return type for `priceListFixedPricesByProductUpdate` mutation. */ +export type PriceListFixedPricesByProductUpdatePayload = { + __typename?: 'PriceListFixedPricesByProductUpdatePayload'; + /** The price list for which the fixed prices were modified. */ + priceList?: Maybe; + /** The product for which the fixed prices were added. */ + pricesToAddProducts?: Maybe>; + /** The product for which the fixed prices were deleted. */ + pricesToDeleteProducts?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `priceListFixedPricesDelete` mutation. */ +export type PriceListFixedPricesDeletePayload = { + __typename?: 'PriceListFixedPricesDeletePayload'; + /** A list of product variant IDs whose fixed prices were removed from the price list. */ + deletedFixedPriceVariantIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `priceListFixedPricesUpdate` mutation. */ +export type PriceListFixedPricesUpdatePayload = { + __typename?: 'PriceListFixedPricesUpdatePayload'; + /** A list of deleted variant IDs for prices. */ + deletedFixedPriceVariantIds?: Maybe>; + /** The price list for which the fixed prices were modified. */ + priceList?: Maybe; + /** The prices that were added to the price list. */ + pricesAdded?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * Represents relative adjustments from one price list to other prices. + * You can use a `PriceListParent` to specify an adjusted relative price using a percentage-based + * adjustment. Adjusted prices work in conjunction with exchange rules and rounding. + * + * [Adjustment types](https://shopify.dev/api/admin-graphql/latest/enums/pricelistadjustmenttype) + * support both percentage increases and decreases. + */ +export type PriceListParent = { + __typename?: 'PriceListParent'; + /** A price list adjustment. */ + adjustment: PriceListAdjustment; + /** A price list's settings for adjustment. */ + settings: PriceListAdjustmentSettings; +}; + +/** The input fields to create a price list adjustment. */ +export type PriceListParentCreateInput = { + /** The relative adjustments to other prices. */ + adjustment: PriceListAdjustmentInput; + /** The price list adjustment settings. */ + settings?: InputMaybe; +}; + +/** The input fields used to update a price list's adjustment. */ +export type PriceListParentUpdateInput = { + /** The relative adjustments to other prices.. */ + adjustment: PriceListAdjustmentInput; + /** The price list adjustment settings. */ + settings?: InputMaybe; +}; + +/** + * Represents information about pricing for a product variant + * as defined on a price list, such as the price, compare at price, and origin type. You can use a `PriceListPrice` to specify a fixed price for a specific product variant. For examples, refer to [PriceListFixedPricesAdd](https://shopify.dev/api/admin-graphql/latest/mutations/priceListFixedPricesAdd) and [PriceList](https://shopify.dev/api/admin-graphql/latest/queries/priceList#section-examples). + */ +export type PriceListPrice = { + __typename?: 'PriceListPrice'; + /** The compare-at price of the product variant on this price list. */ + compareAtPrice?: Maybe; + /** The origin of a price, either fixed (defined on the price list) or relative (calculated using a price list adjustment configuration). */ + originType: PriceListPriceOriginType; + /** The price of the product variant on this price list. */ + price: MoneyV2; + /** A list of quantity breaks for the product variant. */ + quantityPriceBreaks: QuantityPriceBreakConnection; + /** The product variant associated with this price. */ + variant: ProductVariant; +}; + + +/** + * Represents information about pricing for a product variant + * as defined on a price list, such as the price, compare at price, and origin type. You can use a `PriceListPrice` to specify a fixed price for a specific product variant. For examples, refer to [PriceListFixedPricesAdd](https://shopify.dev/api/admin-graphql/latest/mutations/priceListFixedPricesAdd) and [PriceList](https://shopify.dev/api/admin-graphql/latest/queries/priceList#section-examples). + */ +export type PriceListPriceQuantityPriceBreaksArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple PriceListPrices. */ +export type PriceListPriceConnection = { + __typename?: 'PriceListPriceConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PriceListPriceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one PriceListPrice and a cursor during pagination. */ +export type PriceListPriceEdge = { + __typename?: 'PriceListPriceEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PriceListPriceEdge. */ + node: PriceListPrice; +}; + +/** The input fields for providing the fields and values to use when creating or updating a fixed price list price. */ +export type PriceListPriceInput = { + /** The compare-at price of the product variant on this price list. */ + compareAtPrice?: InputMaybe; + /** The price of the product variant on this price list. */ + price: MoneyInput; + /** The product variant ID associated with the price list price. */ + variantId: Scalars['ID']['input']; +}; + +/** Represents the origin of a price, either fixed (defined on the price list) or relative (calculated using a price list adjustment configuration). For examples, refer to [PriceList](https://shopify.dev/api/admin-graphql/latest/queries/priceList#section-examples). */ +export enum PriceListPriceOriginType { + /** The price is defined on the price list. */ + Fixed = 'FIXED', + /** The price is relative to the adjustment type and value. */ + Relative = 'RELATIVE' +} + +/** An error for a failed price list price operation. */ +export type PriceListPriceUserError = DisplayableError & { + __typename?: 'PriceListPriceUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PriceListPriceUserError`. */ +export enum PriceListPriceUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** The specified currency doesn't match the price list's currency. */ + PriceListCurrencyMismatch = 'PRICE_LIST_CURRENCY_MISMATCH', + /** The price list doesn't exist. */ + PriceListNotFound = 'PRICE_LIST_NOT_FOUND', + /** Only fixed prices can be deleted. */ + PriceNotFixed = 'PRICE_NOT_FIXED', + /** A fixed price for the specified product variant doesn't exist. */ + VariantNotFound = 'VARIANT_NOT_FOUND' +} + +/** The input fields representing the price for all variants of a product. */ +export type PriceListProductPriceInput = { + /** The price of the product to use for all variants with its currency. */ + price: MoneyInput; + /** Specifies the ID of the product to update its variants for. */ + productId: Scalars['ID']['input']; +}; + +/** The set of valid sort keys for the PriceList query. */ +export enum PriceListSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The input fields used to update a price list. */ +export type PriceListUpdateInput = { + /** The ID of the catalog to associate with this price list. */ + catalogId?: InputMaybe; + /** The three-letter currency code for fixed prices associated with this price list. */ + currency?: InputMaybe; + /** The unique name of the price list, used as a human-readable identifier. */ + name?: InputMaybe; + /** Relative adjustments to other prices. */ + parent?: InputMaybe; +}; + +/** Return type for `priceListUpdate` mutation. */ +export type PriceListUpdatePayload = { + __typename?: 'PriceListUpdatePayload'; + /** The updated price list. */ + priceList?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed contextual pricing operations. */ +export type PriceListUserError = DisplayableError & { + __typename?: 'PriceListUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PriceListUserError`. */ +export enum PriceListUserErrorCode { + /** An app catalog cannot be assigned to a price list. */ + AppCatalogPriceListAssignment = 'APP_CATALOG_PRICE_LIST_ASSIGNMENT', + /** The input value is blank. */ + Blank = 'BLANK', + /** Cannot assign a catalog to a price list that also has context rules. */ + CatalogAssignmentNotAllowed = 'CATALOG_ASSIGNMENT_NOT_ALLOWED', + /** The context type of a catalog cannot be changed. */ + CatalogCannotChangeContextType = 'CATALOG_CANNOT_CHANGE_CONTEXT_TYPE', + /** Quantity price breaks can be associated only with company location catalogs. */ + CatalogContextDoesNotSupportQuantityPriceBreaks = 'CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_PRICE_BREAKS', + /** Quantity rules can be associated only with company location catalogs. */ + CatalogContextDoesNotSupportQuantityRules = 'CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_RULES', + /** The specified catalog does not exist. */ + CatalogDoesNotExist = 'CATALOG_DOES_NOT_EXIST', + /** The price list currency must match the market catalog currency. */ + CatalogMarketAndPriceListCurrencyMismatch = 'CATALOG_MARKET_AND_PRICE_LIST_CURRENCY_MISMATCH', + /** Catalog has a price list already assigned. */ + CatalogTaken = 'CATALOG_TAKEN', + /** A price list context rule cannot have more than one country. */ + ContextRuleCountriesLimit = 'CONTEXT_RULE_COUNTRIES_LIMIT', + /** A price list for this country is already taken. */ + ContextRuleCountryTaken = 'CONTEXT_RULE_COUNTRY_TAKEN', + /** Only one context rule option may be specified. */ + ContextRuleLimitOneOption = 'CONTEXT_RULE_LIMIT_ONE_OPTION', + /** + * Cannot save the price list with context rule because the limit of context rules per shop was reached. + * @deprecated The limit is removed. + */ + ContextRuleLimitReached = 'CONTEXT_RULE_LIMIT_REACHED', + /** The specified market wasn't found. */ + ContextRuleMarketNotFound = 'CONTEXT_RULE_MARKET_NOT_FOUND', + /** A price list for this market is already taken. */ + ContextRuleMarketTaken = 'CONTEXT_RULE_MARKET_TAKEN', + /** A country in a context rule must use a valid currency. */ + CountryCurrencyMismatch = 'COUNTRY_CURRENCY_MISMATCH', + /** A country catalog cannot be assigned to a price list. */ + CountryPriceListAssignment = 'COUNTRY_PRICE_LIST_ASSIGNMENT', + /** A price list’s currency must be of the pricing rule’s country. */ + CurrencyCountryMismatch = 'CURRENCY_COUNTRY_MISMATCH', + /** A price list’s currency must be the market currency. */ + CurrencyMarketMismatch = 'CURRENCY_MARKET_MISMATCH', + /** The price list currency is not supported by the shop's payment gateway. */ + CurrencyNotSupported = 'CURRENCY_NOT_SUPPORTED', + /** Something went wrong when trying to save the price list. Please try again. */ + GenericError = 'GENERIC_ERROR', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** The adjustment value must not be greater than 1000% for `type` `PERCENTAGE_INCREASE`. */ + InvalidAdjustmentMaxValue = 'INVALID_ADJUSTMENT_MAX_VALUE', + /** The adjustment value must not be greater than 100% for `type` `PERCENTAGE_DECREASE`. */ + InvalidAdjustmentMinValue = 'INVALID_ADJUSTMENT_MIN_VALUE', + /** The adjustment value must be a positive value and not be greater than 100% for `type` `PERCENTAGE_DECREASE` and not be greater than 1000% for `type` `PERCENTAGE_INCREASE`. */ + InvalidAdjustmentValue = 'INVALID_ADJUSTMENT_VALUE', + /** The context rule's market does not use the price list currency. */ + MarketCurrencyMismatch = 'MARKET_CURRENCY_MISMATCH', + /** The price list is currently being modified. Please try again later. */ + PriceListLocked = 'PRICE_LIST_LOCKED', + /** Cannot create price list for a primary market. */ + PriceListNotAllowedForPrimaryMarket = 'PRICE_LIST_NOT_ALLOWED_FOR_PRIMARY_MARKET', + /** The specified price list doesn't exist. */ + PriceListNotFound = 'PRICE_LIST_NOT_FOUND', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** + * Price rules are a set of conditions, including entitlements and prerequisites, that must be met in order for a discount code to apply. + * + * We recommend using the types and queries detailed at [Getting started with discounts](https://shopify.dev/docs/apps/selling-strategies/discounts/getting-started) instead. These will replace the GraphQL `PriceRule` object and REST Admin `PriceRule` and `DiscountCode` resources. + */ +export type PriceRule = CommentEventSubject & HasEvents & LegacyInteroperability & Node & { + __typename?: 'PriceRule'; + /** The maximum number of times that the price rule can be allocated onto an order. */ + allocationLimit?: Maybe; + /** The method by which the price rule's value is allocated to its entitled items. */ + allocationMethod: PriceRuleAllocationMethod; + /** The application that created the price rule. */ + app?: Maybe; + /** Determines which discount classes the discount can combine with. */ + combinesWith: DiscountCombinesWith; + /** The date and time when the price rule was created. */ + createdAt: Scalars['DateTime']['output']; + /** The customers that can use this price rule. */ + customerSelection: PriceRuleCustomerSelection; + /** The class of the discount for combining purposes. */ + discountClass: DiscountClass; + /** List of the price rule's discount codes. */ + discountCodes: PriceRuleDiscountCodeConnection; + /** How many discount codes associated with the price rule. */ + discountCodesCount?: Maybe; + /** The date and time when the price rule ends. For open-ended price rules, use `null`. */ + endsAt?: Maybe; + /** + * Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items. + * @deprecated Use `prerequisiteToEntitlementQuantityRatio` instead. + */ + entitlementToPrerequisiteQuantityRatio?: Maybe; + /** The paginated list of events associated with the price rule. */ + events: EventConnection; + /** A list of the price rule's features. */ + features: Array; + /** Indicates whether there are any timeline comments on the price rule. */ + hasTimelineComment: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The items to which the price rule applies. */ + itemEntitlements: PriceRuleItemEntitlements; + /** The items required for the price rule to be applicable. */ + itemPrerequisites: PriceRuleLineItemPrerequisites; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** Whether the price rule can be applied only once per customer. */ + oncePerCustomer: Scalars['Boolean']['output']; + /** The number of the entitled items must fall within this range for the price rule to be applicable. */ + prerequisiteQuantityRange?: Maybe; + /** The shipping cost must fall within this range for the price rule to be applicable. */ + prerequisiteShippingPriceRange?: Maybe; + /** The sum of the entitled items subtotal prices must fall within this range for the price rule to be applicable. */ + prerequisiteSubtotalRange?: Maybe; + /** Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items. */ + prerequisiteToEntitlementQuantityRatio?: Maybe; + /** URLs that can be used to share the discount. */ + shareableUrls: Array; + /** The shipping lines to which the price rule applies. */ + shippingEntitlements: PriceRuleShippingLineEntitlements; + /** The date and time when the price rule starts. */ + startsAt: Scalars['DateTime']['output']; + /** The status of the price rule. */ + status: PriceRuleStatus; + /** A detailed summary of the price rule. */ + summary?: Maybe; + /** The type of lines (line_item or shipping_line) to which the price rule applies. */ + target: PriceRuleTarget; + /** The title of the price rule. */ + title: Scalars['String']['output']; + /** The total sales from orders where the price rule was used. */ + totalSales?: Maybe; + /** + * A list of the price rule's features. + * @deprecated Use `features` instead. + */ + traits: Array; + /** The number of times that the price rule has been used. This value is updated asynchronously and can be different than the actual usage count. */ + usageCount: Scalars['Int']['output']; + /** The maximum number of times that the price rule can be used in total. */ + usageLimit?: Maybe; + /** A time period during which a price rule is applicable. */ + validityPeriod: PriceRuleValidityPeriod; + /** + * The value of the price rule. + * @deprecated Use `valueV2` instead. + */ + value: PriceRuleValue; + /** The value of the price rule. */ + valueV2: PricingValue; +}; + + +/** + * Price rules are a set of conditions, including entitlements and prerequisites, that must be met in order for a discount code to apply. + * + * We recommend using the types and queries detailed at [Getting started with discounts](https://shopify.dev/docs/apps/selling-strategies/discounts/getting-started) instead. These will replace the GraphQL `PriceRule` object and REST Admin `PriceRule` and `DiscountCode` resources. + */ +export type PriceRuleDiscountCodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Price rules are a set of conditions, including entitlements and prerequisites, that must be met in order for a discount code to apply. + * + * We recommend using the types and queries detailed at [Getting started with discounts](https://shopify.dev/docs/apps/selling-strategies/discounts/getting-started) instead. These will replace the GraphQL `PriceRule` object and REST Admin `PriceRule` and `DiscountCode` resources. + */ +export type PriceRuleEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** The method by which the price rule's value is allocated to its entitled items. */ +export enum PriceRuleAllocationMethod { + /** The value will be applied once across the entitled items. */ + Across = 'ACROSS', + /** The value will be applied to each of the entitled items. */ + Each = 'EACH' +} + +/** A selection of customers for whom the price rule applies. */ +export type PriceRuleCustomerSelection = { + __typename?: 'PriceRuleCustomerSelection'; + /** List of customers to whom the price rule applies. */ + customers: CustomerConnection; + /** Whether the price rule applies to all customers. */ + forAllCustomers: Scalars['Boolean']['output']; + /** A list of customer segments that contain the customers who can use the price rule. */ + segments: Array; +}; + + +/** A selection of customers for whom the price rule applies. */ +export type PriceRuleCustomerSelectionCustomersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** A discount code of a price rule. */ +export type PriceRuleDiscountCode = Node & { + __typename?: 'PriceRuleDiscountCode'; + /** The application that created the discount code. */ + app?: Maybe; + /** The code to apply the discount. */ + code: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The number of times that the price rule has been used. This value is updated asynchronously and can be different than the actual usage count. */ + usageCount: Scalars['Int']['output']; +}; + +/** An auto-generated type for paginating through multiple PriceRuleDiscountCodes. */ +export type PriceRuleDiscountCodeConnection = { + __typename?: 'PriceRuleDiscountCodeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PriceRuleDiscountCodeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one PriceRuleDiscountCode and a cursor during pagination. */ +export type PriceRuleDiscountCodeEdge = { + __typename?: 'PriceRuleDiscountCodeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PriceRuleDiscountCodeEdge. */ + node: PriceRuleDiscountCode; +}; + +/** Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items. */ +export type PriceRuleEntitlementToPrerequisiteQuantityRatio = { + __typename?: 'PriceRuleEntitlementToPrerequisiteQuantityRatio'; + /** The quantity of entitled items in the ratio. */ + entitlementQuantity: Scalars['Int']['output']; + /** The quantity of prerequisite items in the ratio. */ + prerequisiteQuantity: Scalars['Int']['output']; +}; + +/** The list of features that can be supported by a price rule. */ +export enum PriceRuleFeature { + /** The price rule supports bulk discounts. */ + Bulk = 'BULK', + /** The price rule supports Buy X, Get Y (BXGY) discounts. */ + BuyOneGetOne = 'BUY_ONE_GET_ONE', + /** The price rule supports Buy X, Get Y (BXGY) discounts that specify a custom allocation limit. */ + BuyOneGetOneWithAllocationLimit = 'BUY_ONE_GET_ONE_WITH_ALLOCATION_LIMIT', + /** The price rule supports discounts that require a quantity. */ + QuantityDiscounts = 'QUANTITY_DISCOUNTS', + /** The price rule targets specific customers. */ + SpecificCustomers = 'SPECIFIC_CUSTOMERS' +} + +/** The value of a fixed amount price rule. */ +export type PriceRuleFixedAmountValue = { + __typename?: 'PriceRuleFixedAmountValue'; + /** The monetary value of the price rule. */ + amount: Scalars['Money']['output']; +}; + +/** The items to which this price rule applies. This may be multiple products, product variants, collections or combinations of the aforementioned. */ +export type PriceRuleItemEntitlements = { + __typename?: 'PriceRuleItemEntitlements'; + /** The collections to which the price rule applies. */ + collections: CollectionConnection; + /** The product variants to which the price rule applies. */ + productVariants: ProductVariantConnection; + /** The products to which the price rule applies. */ + products: ProductConnection; + /** Whether the price rule applies to all line items. */ + targetAllLineItems: Scalars['Boolean']['output']; +}; + + +/** The items to which this price rule applies. This may be multiple products, product variants, collections or combinations of the aforementioned. */ +export type PriceRuleItemEntitlementsCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The items to which this price rule applies. This may be multiple products, product variants, collections or combinations of the aforementioned. */ +export type PriceRuleItemEntitlementsProductVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The items to which this price rule applies. This may be multiple products, product variants, collections or combinations of the aforementioned. */ +export type PriceRuleItemEntitlementsProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Single or multiple line item products, product variants or collections required for the price rule to be applicable, can also be provided in combination. */ +export type PriceRuleLineItemPrerequisites = { + __typename?: 'PriceRuleLineItemPrerequisites'; + /** The collections required for the price rule to be applicable. */ + collections: CollectionConnection; + /** The product variants required for the price rule to be applicable. */ + productVariants: ProductVariantConnection; + /** The products required for the price rule to be applicable. */ + products: ProductConnection; +}; + + +/** Single or multiple line item products, product variants or collections required for the price rule to be applicable, can also be provided in combination. */ +export type PriceRuleLineItemPrerequisitesCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Single or multiple line item products, product variants or collections required for the price rule to be applicable, can also be provided in combination. */ +export type PriceRuleLineItemPrerequisitesProductVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Single or multiple line item products, product variants or collections required for the price rule to be applicable, can also be provided in combination. */ +export type PriceRuleLineItemPrerequisitesProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** A money range within which the price rule is applicable. */ +export type PriceRuleMoneyRange = { + __typename?: 'PriceRuleMoneyRange'; + /** The lower bound of the money range. */ + greaterThan?: Maybe; + /** The lower bound or equal of the money range. */ + greaterThanOrEqualTo?: Maybe; + /** The upper bound of the money range. */ + lessThan?: Maybe; + /** The upper bound or equal of the money range. */ + lessThanOrEqualTo?: Maybe; +}; + +/** The value of a percent price rule. */ +export type PriceRulePercentValue = { + __typename?: 'PriceRulePercentValue'; + /** The percent value of the price rule. */ + percentage: Scalars['Float']['output']; +}; + +/** Quantity of prerequisite items required for the price rule to be applicable, compared to quantity of entitled items. */ +export type PriceRulePrerequisiteToEntitlementQuantityRatio = { + __typename?: 'PriceRulePrerequisiteToEntitlementQuantityRatio'; + /** The quantity of entitled items in the ratio. */ + entitlementQuantity: Scalars['Int']['output']; + /** The quantity of prerequisite items in the ratio. */ + prerequisiteQuantity: Scalars['Int']['output']; +}; + +/** A quantity range within which the price rule is applicable. */ +export type PriceRuleQuantityRange = { + __typename?: 'PriceRuleQuantityRange'; + /** The lower bound of the quantity range. */ + greaterThan?: Maybe; + /** The lower bound or equal of the quantity range. */ + greaterThanOrEqualTo?: Maybe; + /** The upper bound of the quantity range. */ + lessThan?: Maybe; + /** The upper bound or equal of the quantity range. */ + lessThanOrEqualTo?: Maybe; +}; + +/** Shareable URL for the discount code associated with the price rule. */ +export type PriceRuleShareableUrl = { + __typename?: 'PriceRuleShareableUrl'; + /** The image URL of the item (product or collection) to which the discount applies. */ + targetItemImage?: Maybe; + /** The type of page that's associated with the URL. */ + targetType: PriceRuleShareableUrlTargetType; + /** The title of the page that's associated with the URL. */ + title: Scalars['String']['output']; + /** The URL for the discount code. */ + url: Scalars['URL']['output']; +}; + +/** The type of page where a shareable price rule URL lands. */ +export enum PriceRuleShareableUrlTargetType { + /** The URL lands on a collection page. */ + Collection = 'COLLECTION', + /** The URL lands on a home page. */ + Home = 'HOME', + /** The URL lands on a product page. */ + Product = 'PRODUCT' +} + +/** The shipping lines to which the price rule applies to. */ +export type PriceRuleShippingLineEntitlements = { + __typename?: 'PriceRuleShippingLineEntitlements'; + /** The codes for the countries to which the price rule applies to. */ + countryCodes: Array; + /** Whether the price rule is applicable to countries that haven't been defined in the shop's shipping zones. */ + includeRestOfWorld: Scalars['Boolean']['output']; + /** Whether the price rule applies to all shipping lines. */ + targetAllShippingLines: Scalars['Boolean']['output']; +}; + +/** The status of the price rule. */ +export enum PriceRuleStatus { + /** The price rule is active. */ + Active = 'ACTIVE', + /** The price rule is expired. */ + Expired = 'EXPIRED', + /** The price rule is scheduled. */ + Scheduled = 'SCHEDULED' +} + +/** The type of lines (line_item or shipping_line) to which the price rule applies. */ +export enum PriceRuleTarget { + /** The price rule applies to line items. */ + LineItem = 'LINE_ITEM', + /** The price rule applies to shipping lines. */ + ShippingLine = 'SHIPPING_LINE' +} + +/** The list of features that can be supported by a price rule. */ +export enum PriceRuleTrait { + /** The price rule supports bulk discounts. */ + Bulk = 'BULK', + /** The price rule supports Buy X, Get Y (BXGY) discounts. */ + BuyOneGetOne = 'BUY_ONE_GET_ONE', + /** The price rule supports Buy X, Get Y (BXGY) discounts that specify a custom allocation limit. */ + BuyOneGetOneWithAllocationLimit = 'BUY_ONE_GET_ONE_WITH_ALLOCATION_LIMIT', + /** The price rule supports discounts that require a quantity. */ + QuantityDiscounts = 'QUANTITY_DISCOUNTS', + /** The price rule targets specific customers. */ + SpecificCustomers = 'SPECIFIC_CUSTOMERS' +} + +/** A time period during which a price rule is applicable. */ +export type PriceRuleValidityPeriod = { + __typename?: 'PriceRuleValidityPeriod'; + /** The time after which the price rule becomes invalid. */ + end?: Maybe; + /** The time after which the price rule is valid. */ + start: Scalars['DateTime']['output']; +}; + +/** The type of the price rule value. The price rule value might be a percentage value, or a fixed amount. */ +export type PriceRuleValue = PriceRuleFixedAmountValue | PriceRulePercentValue; + +/** + * One type of value given to a customer when a discount is applied to an order. + * The application of a discount with this value gives the customer the specified percentage off a specified item. + */ +export type PricingPercentageValue = { + __typename?: 'PricingPercentageValue'; + /** The percentage value of the object. This is a number between -100 (free) and 0 (no discount). */ + percentage: Scalars['Float']['output']; +}; + +/** The type of value given to a customer when a discount is applied to an order. For example, the application of the discount might give the customer a percentage off a specified item. Alternatively, the application of the discount might give the customer a monetary value in a given currency off an order. */ +export type PricingValue = MoneyV2 | PricingPercentageValue; + +/** + * Private metafields represent custom metadata that is attached to a resource. + * Private metafields are accessible only by the application that created them and only from the GraphQL Admin API. + * + * An application can create a maximum of 10 private metafields per shop resource. + * + * Private metafields are deprecated. Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + */ +export type PrivateMetafield = Node & { + __typename?: 'PrivateMetafield'; + /** The date and time when the private metafield was created. */ + createdAt: Scalars['DateTime']['output']; + /** The ID of the private metafield. */ + id: Scalars['ID']['output']; + /** The key name of the private metafield. */ + key: Scalars['String']['output']; + /** The namespace of the private metafield. */ + namespace: Scalars['String']['output']; + /** The date and time when the private metafield was updated. */ + updatedAt: Scalars['DateTime']['output']; + /** The value of a private metafield. */ + value: Scalars['String']['output']; + /** Represents the private metafield value type. */ + valueType: PrivateMetafieldValueType; +}; + +/** An auto-generated type for paginating through multiple PrivateMetafields. */ +export type PrivateMetafieldConnection = { + __typename?: 'PrivateMetafieldConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PrivateMetafieldEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for the private metafield to delete. */ +export type PrivateMetafieldDeleteInput = { + /** The key of the private metafield. */ + key: Scalars['String']['input']; + /** The namespace of the private metafield. */ + namespace: Scalars['String']['input']; + /** The ID of the resource that owns the metafield. If the field is blank, then the `Shop` resource owns the metafield. */ + owner?: InputMaybe; +}; + +/** Return type for `privateMetafieldDelete` mutation. */ +export type PrivateMetafieldDeletePayload = { + __typename?: 'PrivateMetafieldDeletePayload'; + /** The ID of private metafield that was deleted. */ + deletedPrivateMetafieldId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one PrivateMetafield and a cursor during pagination. */ +export type PrivateMetafieldEdge = { + __typename?: 'PrivateMetafieldEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PrivateMetafieldEdge. */ + node: PrivateMetafield; +}; + +/** The input fields for a private metafield. */ +export type PrivateMetafieldInput = { + /** The key of the private metafield. */ + key: Scalars['String']['input']; + /** The namespace of the private metafield. */ + namespace: Scalars['String']['input']; + /** The resource that owns the metafield. If the field is blank, then the `Shop` resource owns the metafield. */ + owner?: InputMaybe; + /** The `value` and `valueType` of the private metafield, wrapped in a `ValueInput` object. */ + valueInput: PrivateMetafieldValueInput; +}; + +/** Return type for `privateMetafieldUpsert` mutation. */ +export type PrivateMetafieldUpsertPayload = { + __typename?: 'PrivateMetafieldUpsertPayload'; + /** The private metafield that was created or updated. */ + privateMetafield?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for the value and value type of the private metafield. */ +export type PrivateMetafieldValueInput = { + /** The value of a private metafield. */ + value: Scalars['String']['input']; + /** Represents the private metafield value type. */ + valueType: PrivateMetafieldValueType; +}; + +/** Supported private metafield value types. */ +export enum PrivateMetafieldValueType { + /** An integer metafield. */ + Integer = 'INTEGER', + /** A JSON string metafield. */ + JsonString = 'JSON_STRING', + /** A string metafield. */ + String = 'STRING' +} + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type Product = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & LegacyInteroperability & Navigable & Node & OnlineStorePreviewable & Publishable & { + __typename?: 'Product'; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + */ + availablePublicationsCount?: Maybe; + /** + * The description of the product, with + * HTML tags. For example, the description might include + * bold `` and italic `` text. + * @deprecated Use `descriptionHtml` instead. + */ + bodyHtml?: Maybe; + /** + * A list of [components](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-product-fixed-bundle) + * that are associated with a product in a bundle. + */ + bundleComponents: ProductBundleComponentConnection; + /** + * The category of a product + * from [Shopify's Standard Product Taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). + */ + category?: Maybe; + /** + * A list of [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection) + * that include the product. + */ + collections: CollectionConnection; + /** + * A special product type that combines separate products from a store into a single product listing. + * [Combined listings](https://shopify.dev/apps/build/product-merchandising/combined-listings) are connected + * by a shared option, such as color, model, or dimension. + */ + combinedListing?: Maybe; + /** + * The [role of the product](https://shopify.dev/docs/apps/build/product-merchandising/combined-listings/build-for-combined-listings) + * in a combined listing. + * + * If `null`, then the product isn't part of any combined listing. + */ + combinedListingRole?: Maybe; + /** + * The [compare-at price range](https://help.shopify.com/manual/products/details/product-pricing/sale-pricing) + * of the product in the shop's default currency. + */ + compareAtPriceRange?: Maybe; + /** The pricing that applies to a customer in a specific context. For example, a price might vary depending on the customer's location. */ + contextualPricing: ProductContextualPricing; + /** The date and time when the product was created. */ + createdAt: Scalars['DateTime']['output']; + /** + * The custom product type specified by the merchant. + * @deprecated Deprecated in API version 2022-10. Use `productType` instead. + */ + customProductType?: Maybe; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** + * A single-line description of the product, + * with [HTML tags](https://developer.mozilla.org/en-US/docs/Web/HTML) removed. + */ + description: Scalars['String']['output']; + /** + * The description of the product, with + * HTML tags. For example, the description might include + * bold `` and italic `` text. + */ + descriptionHtml: Scalars['HTML']['output']; + /** + * Stripped description of the product, single line with HTML tags removed. + * Truncated to 60 characters. + * @deprecated Use `description` instead. + */ + descriptionPlainSummary: Scalars['String']['output']; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** + * The featured image for the product. + * @deprecated Use `featuredMedia` instead. + */ + featuredImage?: Maybe; + /** + * The featured [media](https://shopify.dev/docs/apps/build/online-store/product-media) + * associated with the product. + */ + featuredMedia?: Maybe; + /** + * The information that lets merchants know what steps they need to take + * to make sure that the app is set up correctly. + * + * For example, if a merchant hasn't set up a product correctly in the app, + * then the feedback might include a message that says "You need to add a price + * to this product". + */ + feedback?: Maybe; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view the gift card in a store. */ + giftCardTemplateSuffix?: Maybe; + /** + * A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces. + * The handle is used in the online store URL for the product. + */ + handle: Scalars['String']['output']; + /** Whether the product has only a single variant with the default option and value. */ + hasOnlyDefaultVariant: Scalars['Boolean']['output']; + /** Whether the product has variants that are out of stock. */ + hasOutOfStockVariants: Scalars['Boolean']['output']; + /** + * Whether at least one of the product variants requires + * [bundle components](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-product-fixed-bundle). + * + * Learn more about + * [store eligibility for bundles](https://shopify.dev/docs/apps/build/product-merchandising/bundles#store-eligibility). + */ + hasVariantsThatRequiresComponents: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The images associated with the product. + * @deprecated Use `media` instead. + */ + images: ImageConnection; + /** + * Whether the product + * is in a specified + * [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + */ + inCollection: Scalars['Boolean']['output']; + /** Whether the product is a gift card. */ + isGiftCard: Scalars['Boolean']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The [media](https://shopify.dev/docs/apps/build/online-store/product-media) associated with the product. Valid media are images, 3D models, videos. */ + media: MediaConnection; + /** + * The total count of [media](https://shopify.dev/docs/apps/build/online-store/product-media) + * that's associated with a product. + */ + mediaCount?: Maybe; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The [preview URL](https://help.shopify.com/manual/online-store/setting-up#preview-your-store) for the online store. */ + onlineStorePreviewUrl?: Maybe; + /** + * The product's URL on the online store. + * If `null`, then the product isn't published to the online store sales channel. + */ + onlineStoreUrl?: Maybe; + /** + * A list of product options. The limit is defined by the + * [shop's resource limits for product options](https://shopify.dev/docs/api/admin-graphql/latest/objects/Shop#field-resourcelimits) (`Shop.resourceLimits.maxProductOptions`). + */ + options: Array; + /** + * The price range of the product. + * @deprecated Deprecated in API version 2020-10. Use `priceRangeV2` instead. + */ + priceRange: ProductPriceRange; + /** + * The minimum and maximum prices of a product, expressed in decimal numbers. + * For example, if the product is priced between $10.00 and $50.00, + * then the price range is $10.00 - $50.00. + */ + priceRangeV2: ProductPriceRangeV2; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** + * The product category specified by the merchant. + * @deprecated Deprecated in API version 2024-04. Use `category` instead. + */ + productCategory?: Maybe; + /** + * A list of the channels where the product is published. + * @deprecated Use `resourcePublications` instead. + */ + productPublications: ProductPublicationConnection; + /** + * The [product type](https://help.shopify.com/manual/products/details/product-type) + * that merchants define. + */ + productType: Scalars['String']['output']; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + * @deprecated Use `resourcePublicationsCount` instead. + */ + publicationCount: Scalars['Int']['output']; + /** + * A list of the channels where the product is published. + * @deprecated Use `resourcePublications` instead. + */ + publications: ProductPublicationConnection; + /** The date and time when the product was published to the online store. */ + publishedAt?: Maybe; + /** Whether the product is published for a customer only in a specified context. For example, a product might be published for a customer only in a specific location. */ + publishedInContext: Scalars['Boolean']['output']; + /** + * Whether the resource is published to a specific channel. + * @deprecated Use `publishedOnPublication` instead. + */ + publishedOnChannel: Scalars['Boolean']['output']; + /** + * Whether the resource is published to a + * [channel](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel). + * For example, the resource might be published to the online store channel. + * @deprecated Use `publishedOnCurrentPublication` instead. + */ + publishedOnCurrentChannel: Scalars['Boolean']['output']; + /** + * Whether the resource is published to the app's + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + * For example, the resource might be published to the app's online store channel. + */ + publishedOnCurrentPublication: Scalars['Boolean']['output']; + /** + * Whether the resource is published to a specified + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + publishedOnPublication: Scalars['Boolean']['output']; + /** + * Whether the product can only be purchased with + * a [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans). + * Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. + * If you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels, except the online store. + */ + requiresSellingPlan: Scalars['Boolean']['output']; + /** + * The resource that's either published or staged to be published to + * the [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + resourcePublicationOnCurrentPublication?: Maybe; + /** + * The list of resources that are published to a + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + resourcePublications: ResourcePublicationConnection; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + */ + resourcePublicationsCount?: Maybe; + /** + * The list of resources that are either published or staged to be published to a + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + resourcePublicationsV2: ResourcePublicationV2Connection; + /** + * Whether the merchant can make changes to the product when they + * [edit the order](https://shopify.dev/docs/apps/build/orders-fulfillment/order-management-apps/edit-orders) + * associated with the product. For example, a merchant might be restricted from changing product details when they + * edit an order. + */ + restrictedForResource?: Maybe; + /** + * A count of [selling plan groups](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan) + * that are associated with the product. + * @deprecated Use `sellingPlanGroupsCount` instead. + */ + sellingPlanGroupCount: Scalars['Int']['output']; + /** + * A list of all [selling plan groups](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan) + * that are associated with the product either directly, or through the product's variants. + */ + sellingPlanGroups: SellingPlanGroupConnection; + /** + * A count of [selling plan groups](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans/build-a-selling-plan) + * that are associated with the product. + */ + sellingPlanGroupsCount?: Maybe; + /** + * The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords) + * that are associated with a product. + */ + seo: Seo; + /** + * The standardized product type in the Shopify product taxonomy. + * @deprecated Deprecated in API version 2022-10. Use `productCategory` instead. + */ + standardizedProductType?: Maybe; + /** + * The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status), + * which controls visibility across all sales channels. + */ + status: ProductStatus; + /** + * The Storefront GraphQL API ID of the `Product`. + * + * As of the `2022-04` version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the `id` field's value instead. + * @deprecated Use `id` instead. + */ + storefrontId: Scalars['StorefrontID']['output']; + /** + * A comma-separated list of searchable keywords that are + * associated with the product. For example, a merchant might apply the `sports` + * and `summer` tags to products that are associated with sportwear for summer. + * + * Updating `tags` overwrites + * any existing tags that were previously added to the product. To add new tags without overwriting + * existing tags, use the [`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) + * mutation. + */ + tags: Array; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view the product in a store. */ + templateSuffix?: Maybe; + /** + * The name for the product that displays to customers. The title is used to construct the product's handle. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + title: Scalars['String']['output']; + /** The quantity of inventory that's in stock. */ + totalInventory: Scalars['Int']['output']; + /** + * The number of [variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant) + * that are associated with the product. + * @deprecated Use `variantsCount` instead. + */ + totalVariants: Scalars['Int']['output']; + /** + * Whether [inventory tracking](https://help.shopify.com/manual/products/inventory/getting-started-with-inventory/set-up-inventory-tracking) + * has been enabled for the product. + */ + tracksInventory: Scalars['Boolean']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** + * The list of channels that the resource is not published to. + * @deprecated Use `unpublishedPublications` instead. + */ + unpublishedChannels: ChannelConnection; + /** + * The list of [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that the resource isn't published to. + */ + unpublishedPublications: PublicationConnection; + /** + * The date and time when the product was last modified. + * A product's `updatedAt` value can change for different reasons. For example, if an order + * is placed for a product that has inventory tracking set up, then the inventory adjustment + * is counted as an update. + */ + updatedAt: Scalars['DateTime']['output']; + /** A list of [variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant) associated with the product. */ + variants: ProductVariantConnection; + /** + * The number of [variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/ProductVariant) + * that are associated with the product. + */ + variantsCount?: Maybe; + /** The name of the product's vendor. */ + vendor: Scalars['String']['output']; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductBundleComponentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductContextualPricingArgs = { + context: ContextualPricingContext; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductDescriptionArgs = { + truncateAt?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductImagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductInCollectionArgs = { + id: Scalars['ID']['input']; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductMediaArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductOptionsArgs = { + first?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductProductPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductPublicationCountArgs = { + onlyPublished?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductPublishedInContextArgs = { + context: ContextualPublicationContext; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductPublishedOnChannelArgs = { + channelId: Scalars['ID']['input']; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductPublishedOnPublicationArgs = { + publicationId: Scalars['ID']['input']; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductResourcePublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductResourcePublicationsCountArgs = { + onlyPublished?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductResourcePublicationsV2Args = { + after?: InputMaybe; + before?: InputMaybe; + catalogType?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductRestrictedForResourceArgs = { + calculatedOrderId: Scalars['ID']['input']; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductSellingPlanGroupsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductUnpublishedChannelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductUnpublishedPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * The `Product` object lets you manage products in a merchant’s store. + * + * Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. + * You can use [product variants](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. + * You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). + * Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection). + * + * Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), + * including limitations and considerations. + */ +export type ProductVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** The product's component information. */ +export type ProductBundleComponent = { + __typename?: 'ProductBundleComponent'; + /** The product that's related as a component. */ + componentProduct: Product; + /** The list of products' variants that are components. */ + componentVariants: ProductVariantConnection; + /** The number of component variants for the product component. */ + componentVariantsCount?: Maybe; + /** + * The options in the parent and the component options they're connected to, along with the chosen option values + * that appear in the bundle. + */ + optionSelections: Array; + /** + * The quantity of the component product set for this bundle line. + * It will be null if there's a quantityOption present. + */ + quantity?: Maybe; + /** The quantity as option of the component product. It will be null if there's a quantity set. */ + quantityOption?: Maybe; +}; + + +/** The product's component information. */ +export type ProductBundleComponentComponentVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple ProductBundleComponents. */ +export type ProductBundleComponentConnection = { + __typename?: 'ProductBundleComponentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ProductBundleComponentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ProductBundleComponent and a cursor during pagination. */ +export type ProductBundleComponentEdge = { + __typename?: 'ProductBundleComponentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ProductBundleComponentEdge. */ + node: ProductBundleComponent; +}; + +/** The input fields for a single component related to a componentized product. */ +export type ProductBundleComponentInput = { + /** The options to use in the component product, and the values for the option. */ + optionSelections: Array; + /** The ID of the component product to add to the bundle product. */ + productId: Scalars['ID']['input']; + /** The quantity of the component product to add to the bundle product. */ + quantity?: InputMaybe; + /** + * New option to be created on the bundle parent that enables the buyer to select different quantities for + * this component (e.g. two-pack, three-pack). Can only be used if quantity isn't set. + */ + quantityOption?: InputMaybe; +}; + +/** A relationship between a component option and a parent option. */ +export type ProductBundleComponentOptionSelection = { + __typename?: 'ProductBundleComponentOptionSelection'; + /** The option that existed on the component product prior to the fixed bundle creation. */ + componentOption: ProductOption; + /** The option that was created on the parent product. */ + parentOption?: Maybe; + /** The component option values that are actively selected for this relationship. */ + values: Array; +}; + +/** The input fields for a single option related to a component product. */ +export type ProductBundleComponentOptionSelectionInput = { + /** The ID of the option present on the component product. */ + componentOptionId: Scalars['ID']['input']; + /** The name to create for this option on the parent product. */ + name: Scalars['String']['input']; + /** Array of selected option values. */ + values: Array; +}; + +/** The status of a component option value related to a bundle. */ +export enum ProductBundleComponentOptionSelectionStatus { + /** The component option value is not selected as sellable in the bundle. */ + Deselected = 'DESELECTED', + /** The component option value was not initially selected, but is now available for the bundle. */ + New = 'NEW', + /** The component option value is selected as sellable in the bundle. */ + Selected = 'SELECTED', + /** The component option value was selected, is no longer available for the bundle. */ + Unavailable = 'UNAVAILABLE' +} + +/** A component option value related to a bundle line. */ +export type ProductBundleComponentOptionSelectionValue = { + __typename?: 'ProductBundleComponentOptionSelectionValue'; + /** Selection status of the option. */ + selectionStatus: ProductBundleComponentOptionSelectionStatus; + /** The value of the option. */ + value: Scalars['String']['output']; +}; + +/** A quantity option related to a bundle. */ +export type ProductBundleComponentQuantityOption = { + __typename?: 'ProductBundleComponentQuantityOption'; + /** The name of the option value. */ + name: Scalars['String']['output']; + /** The option that was created on the parent product. */ + parentOption?: Maybe; + /** The quantity values of the option. */ + values: Array; +}; + +/** Input for the quantity option related to a component product. This will become a new option on the parent bundle product that doesn't have a corresponding option on the component. */ +export type ProductBundleComponentQuantityOptionInput = { + /** The option name to create on the parent product. */ + name: Scalars['String']['input']; + /** Array of option values. */ + values: Array; +}; + +/** A quantity option value related to a componentized product. */ +export type ProductBundleComponentQuantityOptionValue = { + __typename?: 'ProductBundleComponentQuantityOptionValue'; + /** The name of the option value. */ + name: Scalars['String']['output']; + /** The quantity of the option value. */ + quantity: Scalars['Int']['output']; +}; + +/** The input fields for a single quantity option value related to a component product. */ +export type ProductBundleComponentQuantityOptionValueInput = { + /** The name associated with the option, e.g. one-pack, two-pack. */ + name: Scalars['String']['input']; + /** How many of the variant will be included for the option value (e.g. two-pack has quantity 2). */ + quantity: Scalars['Int']['input']; +}; + +/** The input fields for creating a componentized product. */ +export type ProductBundleCreateInput = { + /** The component products to bundle with the bundle product. */ + components: Array; + /** The title of the product to create. */ + title: Scalars['String']['input']; +}; + +/** Return type for `productBundleCreate` mutation. */ +export type ProductBundleCreatePayload = { + __typename?: 'ProductBundleCreatePayload'; + /** The asynchronous ProductBundleOperation creating the componentized product. */ + productBundleOperation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Defines errors encountered while managing a product bundle. */ +export type ProductBundleMutationUserError = DisplayableError & { + __typename?: 'ProductBundleMutationUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductBundleMutationUserError`. */ +export enum ProductBundleMutationUserErrorCode { + /** Something went wrong, please try again. */ + GenericError = 'GENERIC_ERROR', + /** Input is not valid. */ + InvalidInput = 'INVALID_INPUT', + /** Error processing request in the background job. */ + JobError = 'JOB_ERROR', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST' +} + +/** + * An entity that represents details of an asynchronous + * [ProductBundleCreate](https://shopify.dev/api/admin-graphql/current/mutations/productBundleCreate) or + * [ProductBundleUpdate](https://shopify.dev/api/admin-graphql/current/mutations/productBundleUpdate) mutation. + * + * By querying this entity with the + * [productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query + * using the ID that was returned when the bundle was created or updated, this can be used to check the status of an operation. + * + * The `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`. + * + * The `product` field provides the details of the created or updated product. + * + * The `userErrors` field provides mutation errors that occurred during the operation. + */ +export type ProductBundleOperation = Node & ProductOperation & { + __typename?: 'ProductBundleOperation'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The product on which the operation is being performed. */ + product?: Maybe; + /** The status of this operation. */ + status: ProductOperationStatus; + /** Returns mutation errors occurred during background mutation processing. */ + userErrors: Array; +}; + +/** The input fields for updating a componentized product. */ +export type ProductBundleUpdateInput = { + /** The components to update existing ones. If none provided, no changes occur. Note: This replaces, not adds to, current components. */ + components?: InputMaybe>; + /** The ID of the componentized product to update. */ + productId: Scalars['ID']['input']; + /** The title to rename the componentized product to, if provided. */ + title?: InputMaybe; +}; + +/** Return type for `productBundleUpdate` mutation. */ +export type ProductBundleUpdatePayload = { + __typename?: 'ProductBundleUpdatePayload'; + /** The asynchronous ProductBundleOperation updating the componentized product. */ + productBundleOperation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The details of a specific product category within the [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). */ +export type ProductCategory = { + __typename?: 'ProductCategory'; + /** The product taxonomy node associated with the product category. */ + productTaxonomyNode?: Maybe; +}; + +/** Return type for `productChangeStatus` mutation. */ +export type ProductChangeStatusPayload = { + __typename?: 'ProductChangeStatusPayload'; + /** The product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ProductChangeStatus`. */ +export type ProductChangeStatusUserError = DisplayableError & { + __typename?: 'ProductChangeStatusUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductChangeStatusUserError`. */ +export enum ProductChangeStatusUserErrorCode { + /** Cannot be unarchived because combined listings are not compatible with this store. */ + CombinedListingsNotCompatibleWithShop = 'COMBINED_LISTINGS_NOT_COMPATIBLE_WITH_SHOP', + /** Product could not be found. */ + ProductNotFound = 'PRODUCT_NOT_FOUND' +} + +/** The input fields to claim ownership for Product features such as Bundles. */ +export type ProductClaimOwnershipInput = { + /** + * Claiming ownership of bundles lets the app render a custom UI for the bundles' card on the + * products details page in the Shopify admin. + * + * Bundle ownership can only be claimed when creating the product. If you create `ProductVariantComponents` + * in any of its product variants, then the bundle ownership is automatically assigned to the app making the call. + * + * [Learn more](https://shopify.dev/docs/apps/selling-strategies/bundles/product-config). + */ + bundles?: InputMaybe; +}; + +/** The set of valid sort keys for the ProductCollection query. */ +export enum ProductCollectionSortKeys { + /** Sort by the `best-selling` value. */ + BestSelling = 'BEST_SELLING', + /** Sort by the `collection-default` value. */ + CollectionDefault = 'COLLECTION_DEFAULT', + /** Sort by the `created` value. */ + Created = 'CREATED', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `manual` value. */ + Manual = 'MANUAL', + /** Sort by the `price` value. */ + Price = 'PRICE', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE' +} + +/** The compare-at price range of the product. */ +export type ProductCompareAtPriceRange = { + __typename?: 'ProductCompareAtPriceRange'; + /** The highest variant's compare-at price. */ + maxVariantCompareAtPrice: MoneyV2; + /** The lowest variant's compare-at price. */ + minVariantCompareAtPrice: MoneyV2; +}; + +/** An auto-generated type for paginating through multiple Products. */ +export type ProductConnection = { + __typename?: 'ProductConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ProductEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** + * The price of a product in a specific country. + * Prices vary between countries. + * Refer to [Product](https://shopify.dev/docs/api/admin-graphql/latest/queries/product?example=Get+the+price+range+for+a+product+for+buyers+from+Canada) + * for more information on how to use this object. + */ +export type ProductContextualPricing = { + __typename?: 'ProductContextualPricing'; + /** The number of fixed quantity rules for the product's variants on the price list. */ + fixedQuantityRulesCount: Scalars['Int']['output']; + /** The pricing of the variant with the highest price in the given context. */ + maxVariantPricing?: Maybe; + /** The pricing of the variant with the lowest price in the given context. */ + minVariantPricing?: Maybe; + /** + * The minimum and maximum prices of a product, expressed in decimal numbers. + * For example, if the product is priced between $10.00 and $50.00, + * then the price range is $10.00 - $50.00. + */ + priceRange: ProductPriceRangeV2; +}; + +/** The input fields required to create a product. */ +export type ProductCreateInput = { + /** + * The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17) + * that's associated with the product. + */ + category?: InputMaybe; + /** + * The input field to enable an app to provide additional product features. + * For example, you can specify + * [`bundles: true`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductClaimOwnershipInput#field-bundles) + * in the `claimOwnership` field to let an app add a + * [product configuration extension](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-merchant-config-ui). + */ + claimOwnership?: InputMaybe; + /** A list of collection IDs to associate with the product. */ + collectionsToJoin?: InputMaybe>; + /** The role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings). */ + combinedListingRole?: InputMaybe; + /** + * The description of the product, with HTML tags. + * For example, the description might include bold `` and italic `` text. + */ + descriptionHtml?: InputMaybe; + /** Whether the product is a gift card. */ + giftCard?: InputMaybe; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store. */ + giftCardTemplateSuffix?: InputMaybe; + /** + * A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces. + * The handle is used in the online store URL for the product. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + handle?: InputMaybe; + /** + * The [custom fields](https://shopify.dev/docs/apps/build/custom-data) to associate with the product + * for the purposes of adding and storing additional information. + */ + metafields?: InputMaybe>; + /** A list of product options and option values. Maximum product options: three. There's no limit on the number of option values. */ + productOptions?: InputMaybe>; + /** + * The [product type](https://help.shopify.com/manual/products/details/product-type) + * that merchants define. + */ + productType?: InputMaybe; + /** + * Whether the product can only be purchased with + * a [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans). + * Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. + * If you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels except the online store. + */ + requiresSellingPlan?: InputMaybe; + /** + * The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords) + * that are associated with a product. + */ + seo?: InputMaybe; + /** + * The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status), + * which controls visibility across all sales channels. + */ + status?: InputMaybe; + /** + * A comma-separated list of searchable keywords that are + * associated with the product. For example, a merchant might apply the `sports` + * and `summer` tags to products that are associated with sportwear for summer. + * + * Updating `tags` overwrites any existing tags that were previously added to the product. + * To add new tags without overwriting existing tags, use the + * [`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) + * mutation. + */ + tags?: InputMaybe>; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store. */ + templateSuffix?: InputMaybe; + /** + * The name for the product that displays to customers. The title is used to construct the product's handle. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + title?: InputMaybe; + /** The name of the product's vendor. */ + vendor?: InputMaybe; +}; + +/** Return type for `productCreateMedia` mutation. */ +export type ProductCreateMediaPayload = { + __typename?: 'ProductCreateMediaPayload'; + /** The newly created media. */ + media?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + mediaUserErrors: Array; + /** The product associated with the media. */ + product?: Maybe; + /** + * The list of errors that occurred from executing the mutation. + * @deprecated Use `mediaUserErrors` instead. + */ + userErrors: Array; +}; + +/** Return type for `productCreate` mutation. */ +export type ProductCreatePayload = { + __typename?: 'ProductCreatePayload'; + /** The product object. */ + product?: Maybe; + /** The shop associated with the product. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for specifying the product to delete. */ +export type ProductDeleteInput = { + /** The ID of the product. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `productDeleteMedia` mutation. */ +export type ProductDeleteMediaPayload = { + __typename?: 'ProductDeleteMediaPayload'; + /** List of media IDs which were deleted. */ + deletedMediaIds?: Maybe>; + /** List of product image IDs which were deleted. */ + deletedProductImageIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + mediaUserErrors: Array; + /** The product associated with the deleted media. */ + product?: Maybe; + /** + * The list of errors that occurred from executing the mutation. + * @deprecated Use `mediaUserErrors` instead. + */ + userErrors: Array; +}; + +/** + * An entity that represents details of an asynchronous + * [ProductDelete](https://shopify.dev/api/admin-graphql/current/mutations/productDelete) mutation. + * + * By querying this entity with the + * [productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query + * using the ID that was returned when the product was deleted, this can be used to check the status of an operation. + * + * The `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`. + * + * The `deletedProductId` field provides the ID of the deleted product. + * + * The `userErrors` field provides mutation errors that occurred during the operation. + */ +export type ProductDeleteOperation = Node & ProductOperation & { + __typename?: 'ProductDeleteOperation'; + /** The ID of the deleted product. */ + deletedProductId?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The product on which the operation is being performed. */ + product?: Maybe; + /** The status of this operation. */ + status: ProductOperationStatus; + /** Returns mutation errors occurred during background mutation processing. */ + userErrors: Array; +}; + +/** Return type for `productDelete` mutation. */ +export type ProductDeletePayload = { + __typename?: 'ProductDeletePayload'; + /** The ID of the deleted product. */ + deletedProductId?: Maybe; + /** The product delete operation, returned when run in asynchronous mode. */ + productDeleteOperation?: Maybe; + /** The shop associated with the product. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a product duplication job. */ +export type ProductDuplicateJob = { + __typename?: 'ProductDuplicateJob'; + /** This indicates if the job is still queued or has been run. */ + done: Scalars['Boolean']['output']; + /** A globally-unique ID that's returned when running an asynchronous mutation. */ + id: Scalars['ID']['output']; +}; + +/** + * An entity that represents details of an asynchronous + * [ProductDuplicate](https://shopify.dev/api/admin-graphql/current/mutations/productDuplicate) mutation. + * + * By querying this entity with the + * [productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query + * using the ID that was returned + * [when the product was duplicated](https://shopify.dev/api/admin/migrate/new-product-model/sync-data#create-a-product-with-variants-and-options-asynchronously), + * this can be used to check the status of an operation. + * + * The `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`. + * + * The `product` field provides the details of the original product. + * + * The `newProduct` field provides the details of the new duplicate of the product. + * + * The `userErrors` field provides mutation errors that occurred during the operation. + */ +export type ProductDuplicateOperation = Node & ProductOperation & { + __typename?: 'ProductDuplicateOperation'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The newly created duplicate of the original product. */ + newProduct?: Maybe; + /** The product on which the operation is being performed. */ + product?: Maybe; + /** The status of this operation. */ + status: ProductOperationStatus; + /** Returns mutation errors occurred during background mutation processing. */ + userErrors: Array; +}; + +/** Return type for `productDuplicate` mutation. */ +export type ProductDuplicatePayload = { + __typename?: 'ProductDuplicatePayload'; + /** The asynchronous job that duplicates the product images. */ + imageJob?: Maybe; + /** The duplicated product. */ + newProduct?: Maybe; + /** The product duplicate operation, returned when run in asynchronous mode. */ + productDuplicateOperation?: Maybe; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Product and a cursor during pagination. */ +export type ProductEdge = { + __typename?: 'ProductEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ProductEdge. */ + node: Product; +}; + +/** A product feed. */ +export type ProductFeed = Node & { + __typename?: 'ProductFeed'; + /** The country of the product feed. */ + country?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The language of the product feed. */ + language?: Maybe; + /** The status of the product feed. */ + status: ProductFeedStatus; +}; + +/** An auto-generated type for paginating through multiple ProductFeeds. */ +export type ProductFeedConnection = { + __typename?: 'ProductFeedConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ProductFeedEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `productFeedCreate` mutation. */ +export type ProductFeedCreatePayload = { + __typename?: 'ProductFeedCreatePayload'; + /** The newly created product feed. */ + productFeed?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ProductFeedCreate`. */ +export type ProductFeedCreateUserError = DisplayableError & { + __typename?: 'ProductFeedCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductFeedCreateUserError`. */ +export enum ProductFeedCreateUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The input value is already taken. */ + Taken = 'TAKEN' +} + +/** Return type for `productFeedDelete` mutation. */ +export type ProductFeedDeletePayload = { + __typename?: 'ProductFeedDeletePayload'; + /** The ID of the product feed that was deleted. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ProductFeedDelete`. */ +export type ProductFeedDeleteUserError = DisplayableError & { + __typename?: 'ProductFeedDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductFeedDeleteUserError`. */ +export enum ProductFeedDeleteUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** An auto-generated type which holds one ProductFeed and a cursor during pagination. */ +export type ProductFeedEdge = { + __typename?: 'ProductFeedEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ProductFeedEdge. */ + node: ProductFeed; +}; + +/** The input fields required to create a product feed. */ +export type ProductFeedInput = { + /** The country of the product feed. */ + country: CountryCode; + /** The language of the product feed. */ + language: LanguageCode; +}; + +/** The valid values for the status of product feed. */ +export enum ProductFeedStatus { + /** The product feed is active. */ + Active = 'ACTIVE', + /** The product feed is inactive. */ + Inactive = 'INACTIVE' +} + +/** Return type for `productFullSync` mutation. */ +export type ProductFullSyncPayload = { + __typename?: 'ProductFullSyncPayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ProductFullSync`. */ +export type ProductFullSyncUserError = DisplayableError & { + __typename?: 'ProductFullSyncUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductFullSyncUserError`. */ +export enum ProductFullSyncUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** The set of valid sort keys for the ProductImage query. */ +export enum ProductImageSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `position` value. */ + Position = 'POSITION', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The input fields for creating or updating a product. */ +export type ProductInput = { + /** + * The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17) + * that's associated with the product. + */ + category?: InputMaybe; + /** + * The input field to enable an app to provide additional product features. + * For example, you can specify + * [`bundles: true`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductClaimOwnershipInput#field-bundles) + * in the `claimOwnership` field to let an app add a + * [product configuration extension](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-merchant-config-ui). + */ + claimOwnership?: InputMaybe; + /** A list of collection IDs to associate with the product. */ + collectionsToJoin?: InputMaybe>; + /** The collection IDs to disassociate from the product. */ + collectionsToLeave?: InputMaybe>; + /** + * The role of the product in a [combined listing](https://shopify.dev/apps/build/product-merchandising/combined-listings). + * You can specify this field only when you create a product. + */ + combinedListingRole?: InputMaybe; + /** + * The description of the product, with HTML tags. + * For example, the description might include bold `` and italic `` text. + */ + descriptionHtml?: InputMaybe; + /** Whether the product is a gift card. */ + giftCard?: InputMaybe; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store. */ + giftCardTemplateSuffix?: InputMaybe; + /** + * A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces. + * The handle is used in the online store URL for the product. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + handle?: InputMaybe; + /** + * The product's ID. + * + * If you're creating a product, then you don't need to pass the `id` as input to the + * [`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate) mutation. + * If you're updating a product, then you do need to pass the `id` as input to the + * [`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate) mutation + * to identify which product you want to update. + */ + id?: InputMaybe; + /** + * The [custom fields](https://shopify.dev/docs/apps/build/custom-data) to associate with the product + * for the purposes of adding and storing additional information. + */ + metafields?: InputMaybe>; + /** + * A list of product options and option values. Maximum product options: three. There's no limit on the number of option values. + * This input is supported only with the [`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate) + * mutation. + */ + productOptions?: InputMaybe>; + /** + * The [product type](https://help.shopify.com/manual/products/details/product-type) + * that merchants define. + */ + productType?: InputMaybe; + /** + * Whether a redirect is required after a new handle has been provided. + * If `true`, then the old handle is redirected to the new one automatically. + */ + redirectNewHandle?: InputMaybe; + /** + * Whether the product can only be purchased with + * a [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans). + * Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. + * If you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels except the online store. + */ + requiresSellingPlan?: InputMaybe; + /** + * The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords) + * that are associated with a product. + */ + seo?: InputMaybe; + /** + * The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status), + * which controls visibility across all sales channels. + */ + status?: InputMaybe; + /** + * A comma-separated list of searchable keywords that are + * associated with the product. For example, a merchant might apply the `sports` + * and `summer` tags to products that are associated with sportwear for summer. + * + * Updating `tags` overwrites any existing tags that were previously added to the product. + * To add new tags without overwriting existing tags, use the + * [`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) + * mutation. + */ + tags?: InputMaybe>; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store. */ + templateSuffix?: InputMaybe; + /** + * The name for the product that displays to customers. The title is used to construct the product's handle. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + title?: InputMaybe; + /** The name of the product's vendor. */ + vendor?: InputMaybe; +}; + +/** Return type for `productJoinSellingPlanGroups` mutation. */ +export type ProductJoinSellingPlanGroupsPayload = { + __typename?: 'ProductJoinSellingPlanGroupsPayload'; + /** The product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `productLeaveSellingPlanGroups` mutation. */ +export type ProductLeaveSellingPlanGroupsPayload = { + __typename?: 'ProductLeaveSellingPlanGroupsPayload'; + /** The product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The set of valid sort keys for the ProductMedia query. */ +export enum ProductMediaSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `position` value. */ + Position = 'POSITION', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** An entity that represents details of an asynchronous operation on a product. */ +export type ProductOperation = { + /** The product on which the operation is being performed. */ + product?: Maybe; + /** The status of this operation. */ + status: ProductOperationStatus; +}; + +/** Represents the state of this product operation. */ +export enum ProductOperationStatus { + /** Operation is currently running. */ + Active = 'ACTIVE', + /** Operation is complete. */ + Complete = 'COMPLETE', + /** Operation has been created. */ + Created = 'CREATED' +} + +/** + * The product property names. For example, "Size", "Color", and "Material". + * Variants are selected based on permutations of these options. + * The limit for each product property name is 255 characters. + */ +export type ProductOption = HasPublishedTranslations & Node & { + __typename?: 'ProductOption'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The metafield identifier linked to this option. */ + linkedMetafield?: Maybe; + /** The product option’s name. */ + name: Scalars['String']['output']; + /** Similar to values, option_values returns all the corresponding option value objects to the product option, including values not assigned to any variants. */ + optionValues: Array; + /** The product option's position. */ + position: Scalars['Int']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The corresponding value to the product option name. */ + values: Array; +}; + + +/** + * The product property names. For example, "Size", "Color", and "Material". + * Variants are selected based on permutations of these options. + * The limit for each product property name is 255 characters. + */ +export type ProductOptionTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** The set of variant strategies available for use in the `productOptionsCreate` mutation. */ +export enum ProductOptionCreateVariantStrategy { + /** + * Existing variants are updated with the first option value of each added option. New variants are + * created for each combination of existing variant option values and new option values. + */ + Create = 'CREATE', + /** + * No additional variants are created in response to the added options. Existing variants are updated with the + * first option value of each option added. + */ + LeaveAsIs = 'LEAVE_AS_IS' +} + +/** The set of strategies available for use on the `productOptionDelete` mutation. */ +export enum ProductOptionDeleteStrategy { + /** The default strategy, the specified `Option` may only have one corresponding `value`. */ + Default = 'DEFAULT', + /** An `Option` with multiple `values` can be deleted, but the operation only succeeds if no product variants get deleted. */ + NonDestructive = 'NON_DESTRUCTIVE', + /** An `Option` with multiple `values` can be deleted. Remaining variants will be deleted, highest `position` first, in the event of duplicates being detected. */ + Position = 'POSITION' +} + +/** Return type for `productOptionUpdate` mutation. */ +export type ProductOptionUpdatePayload = { + __typename?: 'ProductOptionUpdatePayload'; + /** The product with which the option being updated is associated. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed `ProductOptionUpdate` mutation. */ +export type ProductOptionUpdateUserError = DisplayableError & { + __typename?: 'ProductOptionUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductOptionUpdateUserError`. */ +export enum ProductOptionUpdateUserErrorCode { + /** An option cannot have both metafield linked and nonlinked option values. */ + CannotCombineLinkedAndNonlinkedOptionValues = 'CANNOT_COMBINE_LINKED_AND_NONLINKED_OPTION_VALUES', + /** The number of variants will be above the limit after this operation. */ + CannotCreateVariantsAboveLimit = 'CANNOT_CREATE_VARIANTS_ABOVE_LIMIT', + /** Deleting all option values of an option is not allowed. */ + CannotDeleteAllOptionValuesInOption = 'CANNOT_DELETE_ALL_OPTION_VALUES_IN_OPTION', + /** Cannot update the option because it would result in deleting variants, and you don't have the required permissions. */ + CannotDeleteVariantWithoutPermission = 'CANNOT_DELETE_VARIANT_WITHOUT_PERMISSION', + /** An option cannot be left only with option values that are not linked to any variant. */ + CannotLeaveOptionsWithoutVariants = 'CANNOT_LEAVE_OPTIONS_WITHOUT_VARIANTS', + /** At least one of the product variants has invalid SKUs. */ + CannotMakeChangesIfVariantIsMissingRequiredSku = 'CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU', + /** Duplicated option value. */ + DuplicatedOptionValue = 'DUPLICATED_OPTION_VALUE', + /** Cannot link multiple options to the same metafield. */ + DuplicateLinkedOption = 'DUPLICATE_LINKED_OPTION', + /** Invalid metafield value for linked option. */ + InvalidMetafieldValueForLinkedOption = 'INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION', + /** The name provided is not valid. */ + InvalidName = 'INVALID_NAME', + /** The option position provided is not valid. */ + InvalidPosition = 'INVALID_POSITION', + /** A key is missing in the input. */ + KeyMissingInInput = 'KEY_MISSING_IN_INPUT', + /** No valid metafield definition found for linked option. */ + LinkedMetafieldDefinitionNotFound = 'LINKED_METAFIELD_DEFINITION_NOT_FOUND', + /** Linked options are currently not supported for this shop. */ + LinkedOptionsNotSupportedForShop = 'LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP', + /** Updating the linked_metafield of an option requires a linked_metafield_value for each option value. */ + LinkedOptionUpdateMissingValues = 'LINKED_OPTION_UPDATE_MISSING_VALUES', + /** On create, this key cannot be used. */ + NoKeyOnCreate = 'NO_KEY_ON_CREATE', + /** Option already exists. */ + OptionAlreadyExists = 'OPTION_ALREADY_EXISTS', + /** Option does not exist. */ + OptionDoesNotExist = 'OPTION_DOES_NOT_EXIST', + /** An option linked to the provided metafield already exists. */ + OptionLinkedMetafieldAlreadyTaken = 'OPTION_LINKED_METAFIELD_ALREADY_TAKEN', + /** Option name is too long. */ + OptionNameTooLong = 'OPTION_NAME_TOO_LONG', + /** Option values count is over the allowed limit. */ + OptionValuesOverLimit = 'OPTION_VALUES_OVER_LIMIT', + /** Option value already exists. */ + OptionValueAlreadyExists = 'OPTION_VALUE_ALREADY_EXISTS', + /** Performing conflicting actions on an option value. */ + OptionValueConflictingOperation = 'OPTION_VALUE_CONFLICTING_OPERATION', + /** Option value does not exist. */ + OptionValueDoesNotExist = 'OPTION_VALUE_DOES_NOT_EXIST', + /** Option value with variants linked cannot be deleted. */ + OptionValueHasVariants = 'OPTION_VALUE_HAS_VARIANTS', + /** Option value name is too long. */ + OptionValueNameTooLong = 'OPTION_VALUE_NAME_TOO_LONG', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Product is suspended. */ + ProductSuspended = 'PRODUCT_SUSPENDED', + /** The number of option values created with the MANAGE strategy would exceed the variant limit. */ + TooManyVariantsCreated = 'TOO_MANY_VARIANTS_CREATED', + /** Operation is not supported for a combined listing parent product. */ + UnsupportedCombinedListingParentOperation = 'UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION' +} + +/** The set of variant strategies available for use in the `productOptionUpdate` mutation. */ +export enum ProductOptionUpdateVariantStrategy { + /** + * Variants are not created nor deleted in response to option values to add or delete. + * In cases where deleting a variant would be necessary to complete the operation, an error will be returned. + */ + LeaveAsIs = 'LEAVE_AS_IS', + /** + * Variants are created and deleted according to the option values to add and to delete. + * + * If an option value is added, a new variant will be added for each existing option combination + * available on the product. For example, if the existing options are `Size` and `Color`, with + * values `S`/`XL` and `Red`/`Blue`, adding a new option value `Green` for the option `Color` will create + * variants with the option value combinations `S`/`Green` and `XL`/`Green`. + * + * If an option value is deleted, all variants referencing that option value will be deleted. + */ + Manage = 'MANAGE' +} + +/** The product option value names. For example, "Red", "Blue", and "Green" for a "Color" option. */ +export type ProductOptionValue = HasPublishedTranslations & Node & { + __typename?: 'ProductOptionValue'; + /** Whether the product option value has any linked variants. */ + hasVariants: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The value of the linked metafield. */ + linkedMetafieldValue?: Maybe; + /** The name of the product option value. */ + name: Scalars['String']['output']; + /** The swatch associated with the product option value. */ + swatch?: Maybe; + /** The published translations associated with the resource. */ + translations: Array; +}; + + +/** The product option value names. For example, "Red", "Blue", and "Green" for a "Color" option. */ +export type ProductOptionValueTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** A swatch associated with a product option value. */ +export type ProductOptionValueSwatch = { + __typename?: 'ProductOptionValueSwatch'; + /** The color representation of the swatch. */ + color?: Maybe; + /** An image representation of the swatch. */ + image?: Maybe; +}; + +/** Return type for `productOptionsCreate` mutation. */ +export type ProductOptionsCreatePayload = { + __typename?: 'ProductOptionsCreatePayload'; + /** The updated product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed `ProductOptionsCreate` mutation. */ +export type ProductOptionsCreateUserError = DisplayableError & { + __typename?: 'ProductOptionsCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductOptionsCreateUserError`. */ +export enum ProductOptionsCreateUserErrorCode { + /** Cannot combine linked metafield and option values. */ + CannotCombineLinkedMetafieldAndOptionValues = 'CANNOT_COMBINE_LINKED_METAFIELD_AND_OPTION_VALUES', + /** At least one of the product variants has invalid SKUs. */ + CannotMakeChangesIfVariantIsMissingRequiredSku = 'CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU', + /** Duplicated option name. */ + DuplicatedOptionName = 'DUPLICATED_OPTION_NAME', + /** Duplicated option value. */ + DuplicatedOptionValue = 'DUPLICATED_OPTION_VALUE', + /** Cannot link multiple options to the same metafield. */ + DuplicateLinkedOption = 'DUPLICATE_LINKED_OPTION', + /** Invalid metafield value for linked option. */ + InvalidMetafieldValueForLinkedOption = 'INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION', + /** The name provided is not valid. */ + InvalidName = 'INVALID_NAME', + /** No valid metafield definition found for linked option. */ + LinkedMetafieldDefinitionNotFound = 'LINKED_METAFIELD_DEFINITION_NOT_FOUND', + /** Cannot specify 'linkedMetafieldValue' for an option that is not linked to a metafield. */ + LinkedMetafieldValueWithoutLinkedOption = 'LINKED_METAFIELD_VALUE_WITHOUT_LINKED_OPTION', + /** Linked options are currently not supported for this shop. */ + LinkedOptionsNotSupportedForShop = 'LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP', + /** Missing metafield values for linked option. */ + MissingMetafieldValuesForLinkedOption = 'MISSING_METAFIELD_VALUES_FOR_LINKED_OPTION', + /** Cannot create new options without values for all existing variants. */ + NewOptionWithoutValueForExistingVariants = 'NEW_OPTION_WITHOUT_VALUE_FOR_EXISTING_VARIANTS', + /** Options count is over the allowed limit. */ + OptionsOverLimit = 'OPTIONS_OVER_LIMIT', + /** Option already exists. */ + OptionAlreadyExists = 'OPTION_ALREADY_EXISTS', + /** An option linked to the provided metafield already exists. */ + OptionLinkedMetafieldAlreadyTaken = 'OPTION_LINKED_METAFIELD_ALREADY_TAKEN', + /** Each option must have a name specified. */ + OptionNameMissing = 'OPTION_NAME_MISSING', + /** If specified, position field must be present in all option inputs. */ + OptionPositionMissing = 'OPTION_POSITION_MISSING', + /** Each option must have at least one option value specified. */ + OptionValuesMissing = 'OPTION_VALUES_MISSING', + /** Option values count is over the allowed limit. */ + OptionValuesOverLimit = 'OPTION_VALUES_OVER_LIMIT', + /** Position must be between 1 and the maximum number of options per product. */ + PositionOutOfBounds = 'POSITION_OUT_OF_BOUNDS', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Product is suspended. */ + ProductSuspended = 'PRODUCT_SUSPENDED', + /** The number of option values created with the CREATE strategy would exceed the variant limit. */ + TooManyVariantsCreated = 'TOO_MANY_VARIANTS_CREATED', + /** Operation is not supported for a combined listing parent product. */ + UnsupportedCombinedListingParentOperation = 'UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION' +} + +/** Return type for `productOptionsDelete` mutation. */ +export type ProductOptionsDeletePayload = { + __typename?: 'ProductOptionsDeletePayload'; + /** IDs of the options deleted. */ + deletedOptionsIds?: Maybe>; + /** The updated product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed `ProductOptionsDelete` mutation. */ +export type ProductOptionsDeleteUserError = DisplayableError & { + __typename?: 'ProductOptionsDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductOptionsDeleteUserError`. */ +export enum ProductOptionsDeleteUserErrorCode { + /** Can't delete option with multiple values. */ + CannotDeleteOptionWithMultipleValues = 'CANNOT_DELETE_OPTION_WITH_MULTIPLE_VALUES', + /** At least one of the product variants has invalid SKUs. */ + CannotMakeChangesIfVariantIsMissingRequiredSku = 'CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU', + /** Cannot delete options without deleting variants. */ + CannotUseNonDestructiveStrategy = 'CANNOT_USE_NON_DESTRUCTIVE_STRATEGY', + /** Options do not belong to the same product. */ + OptionsDoNotBelongToTheSameProduct = 'OPTIONS_DO_NOT_BELONG_TO_THE_SAME_PRODUCT', + /** Option does not exist. */ + OptionDoesNotExist = 'OPTION_DOES_NOT_EXIST', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Product is suspended. */ + ProductSuspended = 'PRODUCT_SUSPENDED', + /** Operation is not supported for a combined listing parent product. */ + UnsupportedCombinedListingParentOperation = 'UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION' +} + +/** Return type for `productOptionsReorder` mutation. */ +export type ProductOptionsReorderPayload = { + __typename?: 'ProductOptionsReorderPayload'; + /** The updated product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed `ProductOptionsReorder` mutation. */ +export type ProductOptionsReorderUserError = DisplayableError & { + __typename?: 'ProductOptionsReorderUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductOptionsReorderUserError`. */ +export enum ProductOptionsReorderUserErrorCode { + /** At least one of the product variants has invalid SKUs. */ + CannotMakeChangesIfVariantIsMissingRequiredSku = 'CANNOT_MAKE_CHANGES_IF_VARIANT_IS_MISSING_REQUIRED_SKU', + /** Duplicated option name. */ + DuplicatedOptionName = 'DUPLICATED_OPTION_NAME', + /** Duplicated option value. */ + DuplicatedOptionValue = 'DUPLICATED_OPTION_VALUE', + /** Missing option name. */ + MissingOptionName = 'MISSING_OPTION_NAME', + /** Missing option value. */ + MissingOptionValue = 'MISSING_OPTION_VALUE', + /** Cannot specify different options or option values using mixed id and name reference key. */ + MixingIdAndNameKeysIsNotAllowed = 'MIXING_ID_AND_NAME_KEYS_IS_NOT_ALLOWED', + /** On reorder, this key cannot be used. */ + NoKeyOnReorder = 'NO_KEY_ON_REORDER', + /** Option id does not exist. */ + OptionIdDoesNotExist = 'OPTION_ID_DOES_NOT_EXIST', + /** Option name does not exist. */ + OptionNameDoesNotExist = 'OPTION_NAME_DOES_NOT_EXIST', + /** Option value does not exist. */ + OptionValueDoesNotExist = 'OPTION_VALUE_DOES_NOT_EXIST', + /** Option value id does not exist. */ + OptionValueIdDoesNotExist = 'OPTION_VALUE_ID_DOES_NOT_EXIST', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST' +} + +/** The price range of the product. */ +export type ProductPriceRange = { + __typename?: 'ProductPriceRange'; + /** The highest variant's price. */ + maxVariantPrice: MoneyV2; + /** The lowest variant's price. */ + minVariantPrice: MoneyV2; +}; + +/** The price range of the product. */ +export type ProductPriceRangeV2 = { + __typename?: 'ProductPriceRangeV2'; + /** The highest variant's price. */ + maxVariantPrice: MoneyV2; + /** The lowest variant's price. */ + minVariantPrice: MoneyV2; +}; + +/** Represents the channels where a product is published. */ +export type ProductPublication = { + __typename?: 'ProductPublication'; + /** The channel where the product was or is published. */ + channel: Channel; + /** Whether the publication is published or not. */ + isPublished: Scalars['Boolean']['output']; + /** The product that was or is going to be published on the channel. */ + product: Product; + /** The date that the product was or is going to be published on the channel. */ + publishDate?: Maybe; +}; + +/** An auto-generated type for paginating through multiple ProductPublications. */ +export type ProductPublicationConnection = { + __typename?: 'ProductPublicationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ProductPublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ProductPublication and a cursor during pagination. */ +export type ProductPublicationEdge = { + __typename?: 'ProductPublicationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ProductPublicationEdge. */ + node: ProductPublication; +}; + +/** The input fields for specifying a publication to which a product will be published. */ +export type ProductPublicationInput = { + /** ID of the publication. */ + publicationId?: InputMaybe; + /** The date and time that the product was (or will be) published. */ + publishDate?: InputMaybe; +}; + +/** The input fields for specifying a product to publish and the channels to publish it to. */ +export type ProductPublishInput = { + /** The product to create or update publications for. */ + id: Scalars['ID']['input']; + /** The publication that the product is published to. */ + productPublications: Array; +}; + +/** Return type for `productPublish` mutation. */ +export type ProductPublishPayload = { + __typename?: 'ProductPublishPayload'; + /** The product that has been published. */ + product?: Maybe; + /** + * The channels where the product is published. + * @deprecated Use Product.publications instead. + */ + productPublications?: Maybe>; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `productReorderMedia` mutation. */ +export type ProductReorderMediaPayload = { + __typename?: 'ProductReorderMediaPayload'; + /** The asynchronous job which reorders the media. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + mediaUserErrors: Array; + /** + * The list of errors that occurred from executing the mutation. + * @deprecated Use `mediaUserErrors` instead. + */ + userErrors: Array; +}; + +/** + * Reports the status of product for a Sales Channel or Storefront API. + * This might include why a product is not available in a Sales Channel + * and how a merchant might fix this. + */ +export type ProductResourceFeedback = { + __typename?: 'ProductResourceFeedback'; + /** + * The time when the feedback was generated. Used to help determine whether + * incoming feedback is outdated compared to existing feedback. + */ + feedbackGeneratedAt: Scalars['DateTime']['output']; + /** The feedback messages presented to the merchant. */ + messages: Array; + /** The ID of the product associated with the feedback. */ + productId: Scalars['ID']['output']; + /** The timestamp of the product associated with the feedback. */ + productUpdatedAt: Scalars['DateTime']['output']; + /** Conveys the state of the feedback and whether it requires merchant action or not. */ + state: ResourceFeedbackState; +}; + +/** The input fields used to create a product feedback. */ +export type ProductResourceFeedbackInput = { + /** + * The date and time when the payload is constructed. + * Used to help determine whether incoming feedback is outdated compared to feedback already received, and if it should be ignored upon arrival. + */ + feedbackGeneratedAt: Scalars['DateTime']['input']; + /** + * A concise set of copy strings to be displayed to merchants. Used to guide merchants in resolving problems that your app encounters when trying to make use of their products. + * You can specify up to four messages. Each message is limited to 100 characters. + */ + messages?: InputMaybe>; + /** The ID of the product that the feedback was created on. */ + productId: Scalars['ID']['input']; + /** The timestamp of the product associated with the feedback. */ + productUpdatedAt: Scalars['DateTime']['input']; + /** Whether the merchant needs to take action on the product. */ + state: ResourceFeedbackState; +}; + +/** A sale associated with a product. */ +export type ProductSale = Sale & { + __typename?: 'ProductSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line item for the associated sale. */ + lineItem: LineItem; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** The input fields required to create or update a product via ProductSet mutation. */ +export type ProductSetInput = { + /** + * The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17) + * that's associated with the product. + */ + category?: InputMaybe; + /** + * The input field to enable an app to provide additional product features. + * For example, you can specify + * [`bundles: true`](https://shopify.dev/docs/api/admin-graphql/latest/input-objects/ProductClaimOwnershipInput#field-bundles) + * in the `claimOwnership` field to let an app add a + * [product configuration extension](https://shopify.dev/docs/apps/build/product-merchandising/bundles/add-merchant-config-ui). + */ + claimOwnership?: InputMaybe; + /** The IDs of collections that this product will be a member of. */ + collections?: InputMaybe>; + /** The role of the product in a product grouping. It can only be set during creation. */ + combinedListingRole?: InputMaybe; + /** + * The description of the product, with HTML tags. + * For example, the description might include bold `` and italic `` text. + */ + descriptionHtml?: InputMaybe; + /** The files to associate with the product. */ + files?: InputMaybe>; + /** Whether the product is a gift card. */ + giftCard?: InputMaybe; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store. */ + giftCardTemplateSuffix?: InputMaybe; + /** + * A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces. + * The handle is used in the online store URL for the product. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + handle?: InputMaybe; + /** + * The product's ID. + * + * If you're creating a product, then you don't need to pass the `id` as input to the + * [`productCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productCreate) mutation. + * If you're updating a product, then you do need to pass the `id` as input to the + * [`productUpdate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/productUpdate) mutation + * to identify which product you want to update. + */ + id?: InputMaybe; + /** The metafields to associate with this product. */ + metafields?: InputMaybe>; + /** List of custom product options and option values (maximum of 3 per product). */ + productOptions?: InputMaybe>; + /** + * The [product type](https://help.shopify.com/manual/products/details/product-type) + * that merchants define. + */ + productType?: InputMaybe; + /** + * Whether a redirect is required after a new handle has been provided. + * If `true`, then the old handle is redirected to the new one automatically. + */ + redirectNewHandle?: InputMaybe; + /** Whether the product can only be purchased with a selling plan (subscription). Products that are sold exclusively on subscription can only be created on online stores. If set to `true` on an already existing product, then the product will be marked unavailable on channels that don't support subscriptions. */ + requiresSellingPlan?: InputMaybe; + /** + * The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords) + * that are associated with a product. + */ + seo?: InputMaybe; + /** The status of the product. */ + status?: InputMaybe; + /** + * A comma-separated list of searchable keywords that are + * associated with the product. For example, a merchant might apply the `sports` + * and `summer` tags to products that are associated with sportwear for summer. + * + * Updating `tags` overwrites any existing tags that were previously added to the product. + * To add new tags without overwriting existing tags, use the + * [`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) + * mutation. + */ + tags?: InputMaybe>; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store. */ + templateSuffix?: InputMaybe; + /** + * The name for the product that displays to customers. The title is used to construct the product's handle. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + title?: InputMaybe; + /** A list of variants associated with the product. */ + variants?: InputMaybe>; + /** The name of the product's vendor. */ + vendor?: InputMaybe; +}; + +/** The input fields required to set inventory quantities using `productSet` mutation. */ +export type ProductSetInventoryInput = { + /** The ID of the location of the inventory quantity being set. */ + locationId: Scalars['ID']['input']; + /** The name of the inventory quantity being set. Must be one of `available` or `on_hand`. */ + name: Scalars['String']['input']; + /** The values to which each quantities will be set. */ + quantity: Scalars['Int']['input']; +}; + +/** + * An entity that represents details of an asynchronous + * [ProductSet](https://shopify.dev/api/admin-graphql/current/mutations/productSet) mutation. + * + * By querying this entity with the + * [productOperation](https://shopify.dev/api/admin-graphql/current/queries/productOperation) query + * using the ID that was returned + * [when the product was created or updated](https://shopify.dev/api/admin/migrate/new-product-model/sync-data#create-a-product-with-variants-and-options-asynchronously), + * this can be used to check the status of an operation. + * + * The `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`. + * + * The `product` field provides the details of the created or updated product. + * + * The `userErrors` field provides mutation errors that occurred during the operation. + */ +export type ProductSetOperation = Node & ProductOperation & { + __typename?: 'ProductSetOperation'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The product on which the operation is being performed. */ + product?: Maybe; + /** The status of this operation. */ + status: ProductOperationStatus; + /** Returns mutation errors occurred during background mutation processing. */ + userErrors: Array; +}; + +/** Return type for `productSet` mutation. */ +export type ProductSetPayload = { + __typename?: 'ProductSetPayload'; + /** The product object. */ + product?: Maybe; + /** The product set operation, returned when run in asynchronous mode. */ + productSetOperation?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Defines errors for ProductSet mutation. */ +export type ProductSetUserError = DisplayableError & { + __typename?: 'ProductSetUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductSetUserError`. */ +export enum ProductSetUserErrorCode { + /** An option cannot have both metafield linked and nonlinked option values. */ + CannotCombineLinkedAndNonlinkedOptionValues = 'CANNOT_COMBINE_LINKED_AND_NONLINKED_OPTION_VALUES', + /** The metafield violates a capability restriction. */ + CapabilityViolation = 'CAPABILITY_VIOLATION', + /** Duplicated option name. */ + DuplicatedOptionName = 'DUPLICATED_OPTION_NAME', + /** Duplicated option value. */ + DuplicatedOptionValue = 'DUPLICATED_OPTION_VALUE', + /** Duplicated value. */ + DuplicatedValue = 'DUPLICATED_VALUE', + /** Cannot link multiple options to the same metafield. */ + DuplicateLinkedOption = 'DUPLICATE_LINKED_OPTION', + /** Something went wrong, please try again. */ + GenericError = 'GENERIC_ERROR', + /** Gift card products can only be created after they have been activated. */ + GiftCardsNotActivated = 'GIFT_CARDS_NOT_ACTIVATED', + /** The product gift_card attribute cannot be changed after creation. */ + GiftCardAttributeCannotBeChanged = 'GIFT_CARD_ATTRIBUTE_CANNOT_BE_CHANGED', + /** Input is not valid. */ + InvalidInput = 'INVALID_INPUT', + /** Metafield is not valid. */ + InvalidMetafield = 'INVALID_METAFIELD', + /** Invalid metafield value for linked option. */ + InvalidMetafieldValueForLinkedOption = 'INVALID_METAFIELD_VALUE_FOR_LINKED_OPTION', + /** Product is not valid. */ + InvalidProduct = 'INVALID_PRODUCT', + /** Product variant is not valid. */ + InvalidVariant = 'INVALID_VARIANT', + /** Error processing request in the background job. */ + JobError = 'JOB_ERROR', + /** No valid metafield definition found for linked option. */ + LinkedMetafieldDefinitionNotFound = 'LINKED_METAFIELD_DEFINITION_NOT_FOUND', + /** Linked options are currently not supported for this shop. */ + LinkedOptionsNotSupportedForShop = 'LINKED_OPTIONS_NOT_SUPPORTED_FOR_SHOP', + /** Options over limit. */ + OptionsOverLimit = 'OPTIONS_OVER_LIMIT', + /** Option does not exist. */ + OptionDoesNotExist = 'OPTION_DOES_NOT_EXIST', + /** Each option must have at least one option value specified. */ + OptionValuesMissing = 'OPTION_VALUES_MISSING', + /** Option values over limit. */ + OptionValuesOverLimit = 'OPTION_VALUES_OVER_LIMIT', + /** Option value does not exist. */ + OptionValueDoesNotExist = 'OPTION_VALUE_DOES_NOT_EXIST', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Must specify product options when updating variants. */ + ProductOptionsInputMissing = 'PRODUCT_OPTIONS_INPUT_MISSING', + /** Product variant does not exist. */ + ProductVariantDoesNotExist = 'PRODUCT_VARIANT_DOES_NOT_EXIST', + /** Must specify variants when updating options. */ + VariantsInputMissing = 'VARIANTS_INPUT_MISSING', + /** Number of product variants exceeds shop limit. */ + VariantsOverLimit = 'VARIANTS_OVER_LIMIT' +} + +/** The set of valid sort keys for the Product query. */ +export enum ProductSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `inventory_total` value. */ + InventoryTotal = 'INVENTORY_TOTAL', + /** Sort by the `product_type` value. */ + ProductType = 'PRODUCT_TYPE', + /** Sort by the `published_at` value. */ + PublishedAt = 'PUBLISHED_AT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + * [Pagination](https://shopify.dev/api/usage/pagination-graphql) isn't supported when using this sort key. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT', + /** Sort by the `vendor` value. */ + Vendor = 'VENDOR' +} + +/** The possible product statuses. */ +export enum ProductStatus { + /** The product is ready to sell and can be published to sales channels and apps. Products with an active status aren't automatically published to sales channels, such as the online store, or apps. By default, existing products are set to active. */ + Active = 'ACTIVE', + /** The product is no longer being sold and isn't available to customers on sales channels and apps. */ + Archived = 'ARCHIVED', + /** The product isn't ready to sell and is unavailable to customers on sales channels and apps. By default, duplicated and unarchived products are set to draft. */ + Draft = 'DRAFT' +} + +/** Represents a [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17) node. */ +export type ProductTaxonomyNode = Node & { + __typename?: 'ProductTaxonomyNode'; + /** The full name of the product taxonomy node. For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds. */ + fullName: Scalars['String']['output']; + /** The ID of the product taxonomy node. */ + id: Scalars['ID']['output']; + /** Whether the node is a leaf node. */ + isLeaf: Scalars['Boolean']['output']; + /** Whether the node is a root node. */ + isRoot: Scalars['Boolean']['output']; + /** The name of the product taxonomy node. For example, Dog Beds. */ + name: Scalars['String']['output']; +}; + +/** The input fields for specifying a product to unpublish from a channel and the sales channels to unpublish it from. */ +export type ProductUnpublishInput = { + /** The ID of the product to create or update publications for. */ + id: Scalars['ID']['input']; + /** The channels to unpublish the product from. */ + productPublications: Array; +}; + +/** Return type for `productUnpublish` mutation. */ +export type ProductUnpublishPayload = { + __typename?: 'ProductUnpublishPayload'; + /** The product that has been unpublished. */ + product?: Maybe; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for updating a product. */ +export type ProductUpdateInput = { + /** + * The ID of the [category](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17) + * that's associated with the product. + */ + category?: InputMaybe; + /** A list of collection IDs to associate with the product. */ + collectionsToJoin?: InputMaybe>; + /** The collection IDs to disassociate from the product. */ + collectionsToLeave?: InputMaybe>; + /** + * The description of the product, with HTML tags. + * For example, the description might include bold `` and italic `` text. + */ + descriptionHtml?: InputMaybe; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a gift card in a store. */ + giftCardTemplateSuffix?: InputMaybe; + /** + * A unique, human-readable string of the product's title. A handle can contain letters, hyphens (`-`), and numbers, but no spaces. + * The handle is used in the online store URL for the product. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + handle?: InputMaybe; + /** The product's ID. */ + id?: InputMaybe; + /** + * The [custom fields](https://shopify.dev/docs/apps/build/custom-data) to associate with the product + * for the purposes of adding and storing additional information. + */ + metafields?: InputMaybe>; + /** + * The [product type](https://help.shopify.com/manual/products/details/product-type) + * that merchants define. + */ + productType?: InputMaybe; + /** + * Whether a redirect is required after a new handle has been provided. + * If `true`, then the old handle is redirected to the new one automatically. + */ + redirectNewHandle?: InputMaybe; + /** + * Whether the product can only be purchased with + * a [selling plan](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans). + * Products that are sold on subscription (`requiresSellingPlan: true`) can be updated only for online stores. + * If you update a product to be subscription-only (`requiresSellingPlan:false`), then the product is unpublished from all channels except the online store. + */ + requiresSellingPlan?: InputMaybe; + /** + * The [SEO title and description](https://help.shopify.com/manual/promoting-marketing/seo/adding-keywords) + * that are associated with a product. + */ + seo?: InputMaybe; + /** + * The [product status](https://help.shopify.com/manual/products/details/product-details-page#product-status), + * which controls visibility across all sales channels. + */ + status?: InputMaybe; + /** + * A comma-separated list of searchable keywords that are + * associated with the product. For example, a merchant might apply the `sports` + * and `summer` tags to products that are associated with sportwear for summer. + * + * Updating `tags` overwrites any existing tags that were previously added to the product. + * To add new tags without overwriting existing tags, use the + * [`tagsAdd`](https://shopify.dev/api/admin-graphql/latest/mutations/tagsadd) + * mutation. + */ + tags?: InputMaybe>; + /** The [theme template](https://shopify.dev/docs/storefronts/themes/architecture/templates) that's used when customers view a product in a store. */ + templateSuffix?: InputMaybe; + /** + * The name for the product that displays to customers. The title is used to construct the product's handle. + * For example, if a product is titled "Black Sunglasses", then the handle is `black-sunglasses`. + */ + title?: InputMaybe; + /** The name of the product's vendor. */ + vendor?: InputMaybe; +}; + +/** Return type for `productUpdateMedia` mutation. */ +export type ProductUpdateMediaPayload = { + __typename?: 'ProductUpdateMediaPayload'; + /** The updated media object. */ + media?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + mediaUserErrors: Array; + /** The product on which media was updated. */ + product?: Maybe; + /** + * The list of errors that occurred from executing the mutation. + * @deprecated Use `mediaUserErrors` instead. + */ + userErrors: Array; +}; + +/** Return type for `productUpdate` mutation. */ +export type ProductUpdatePayload = { + __typename?: 'ProductUpdatePayload'; + /** The updated product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a product variant. */ +export type ProductVariant = HasEvents & HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & LegacyInteroperability & Navigable & Node & { + __typename?: 'ProductVariant'; + /** Whether the product variant is available for sale. */ + availableForSale: Scalars['Boolean']['output']; + /** The value of the barcode associated with the product. */ + barcode?: Maybe; + /** The compare-at price of the variant in the default shop currency. */ + compareAtPrice?: Maybe; + /** The pricing that applies for a customer in a given context. */ + contextualPricing: ProductVariantContextualPricing; + /** The date and time when the variant was created. */ + createdAt: Scalars['DateTime']['output']; + /** A default [cursor](https://shopify.dev/api/usage/pagination-graphql) that returns the single next record, sorted ascending by ID. */ + defaultCursor: Scalars['String']['output']; + /** The [delivery profile](https://shopify.dev/api/admin-graphql/latest/objects/DeliveryProfile) for the variant. */ + deliveryProfile?: Maybe; + /** Display name of the variant, based on product's title + variant's title. */ + displayName: Scalars['String']['output']; + /** The paginated list of events associated with the host subject. */ + events: EventConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The featured image for the variant. */ + image?: Maybe; + /** The inventory item, which is used to query for inventory information. */ + inventoryItem: InventoryItem; + /** Whether customers are allowed to place an order for the product variant when it's out of stock. */ + inventoryPolicy: ProductVariantInventoryPolicy; + /** The total sellable quantity of the variant. */ + inventoryQuantity?: Maybe; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The media associated with the product variant. */ + media: MediaConnection; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The order of the product variant in the list of product variants. The first position in the list is 1. */ + position: Scalars['Int']['output']; + /** + * List of prices and compare-at prices in the presentment currencies for this shop. + * @deprecated Use `contextualPricing` instead. + */ + presentmentPrices: ProductVariantPricePairConnection; + /** The price of the product variant in the default shop currency. */ + price: Scalars['Money']['output']; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The product that this variant belongs to. */ + product: Product; + /** A list of the product variant components. */ + productVariantComponents: ProductVariantComponentConnection; + /** + * Whether a product variant requires components. The default value is `false`. + * If `true`, then the product variant can only be purchased as a parent bundle with components and it will be omitted + * from channels that don't support bundles. + */ + requiresComponents: Scalars['Boolean']['output']; + /** List of product options applied to the variant. */ + selectedOptions: Array; + /** + * The total sellable quantity of the variant for online channels. + * This doesn't represent the total available inventory or capture + * [limitations based on customer location](https://help.shopify.com/manual/markets/inventory_and_fulfillment). + */ + sellableOnlineQuantity: Scalars['Int']['output']; + /** + * Count of selling plan groups associated with the product variant. + * @deprecated Use `sellingPlanGroupsCount` instead. + */ + sellingPlanGroupCount: Scalars['Int']['output']; + /** A list of all selling plan groups defined in the current shop associated with the product variant. */ + sellingPlanGroups: SellingPlanGroupConnection; + /** Count of selling plan groups associated with the product variant. */ + sellingPlanGroupsCount?: Maybe; + /** + * A case-sensitive identifier for the product variant in the shop. + * Required in order to connect to a fulfillment service. + */ + sku?: Maybe; + /** + * The Storefront GraphQL API ID of the `ProductVariant`. + * + * As of the `2022-04` version release, the Storefront GraphQL API will no longer return Base64 encoded IDs to match the behavior of the Admin GraphQL API. Therefore, you can safely use the `id` field's value instead. + * @deprecated Use `id` instead. + */ + storefrontId: Scalars['StorefrontID']['output']; + /** The tax code for the product variant. */ + taxCode?: Maybe; + /** Whether a tax is charged when the product variant is sold. */ + taxable: Scalars['Boolean']['output']; + /** The title of the product variant. */ + title: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The unit price measurement for the variant. */ + unitPriceMeasurement?: Maybe; + /** The date and time (ISO 8601 format) when the product variant was last modified. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** Represents a product variant. */ +export type ProductVariantContextualPricingArgs = { + context: ContextualPricingContext; +}; + + +/** Represents a product variant. */ +export type ProductVariantEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantMediaArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantPresentmentPricesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + presentmentCurrencies?: InputMaybe>; + reverse?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** Represents a product variant. */ +export type ProductVariantPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantProductVariantComponentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantSellingPlanGroupsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a product variant. */ +export type ProductVariantTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** The input fields required to append media to a single variant. */ +export type ProductVariantAppendMediaInput = { + /** Specifies the media to append to the variant. */ + mediaIds: Array; + /** Specifies the variant to which media will be appended. */ + variantId: Scalars['ID']['input']; +}; + +/** Return type for `productVariantAppendMedia` mutation. */ +export type ProductVariantAppendMediaPayload = { + __typename?: 'ProductVariantAppendMediaPayload'; + /** The product associated with the variants and media. */ + product?: Maybe; + /** The product variants that were updated. */ + productVariants?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A product variant component associated with a product variant. */ +export type ProductVariantComponent = Node & { + __typename?: 'ProductVariantComponent'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The product variant associated with the component. */ + productVariant: ProductVariant; + /** The required quantity of the component. */ + quantity: Scalars['Int']['output']; +}; + +/** An auto-generated type for paginating through multiple ProductVariantComponents. */ +export type ProductVariantComponentConnection = { + __typename?: 'ProductVariantComponentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ProductVariantComponentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ProductVariantComponent and a cursor during pagination. */ +export type ProductVariantComponentEdge = { + __typename?: 'ProductVariantComponentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ProductVariantComponentEdge. */ + node: ProductVariantComponent; +}; + +/** An auto-generated type for paginating through multiple ProductVariants. */ +export type ProductVariantConnection = { + __typename?: 'ProductVariantConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ProductVariantEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** + * The price of a product variant in a specific country. + * Prices vary between countries. + */ +export type ProductVariantContextualPricing = { + __typename?: 'ProductVariantContextualPricing'; + /** The final compare-at price after all adjustments are applied. */ + compareAtPrice?: Maybe; + /** The final price after all adjustments are applied. */ + price: MoneyV2; + /** A list of quantity breaks for the product variant. */ + quantityPriceBreaks: QuantityPriceBreakConnection; + /** The quantity rule applied for a given context. */ + quantityRule: QuantityRule; +}; + + +/** + * The price of a product variant in a specific country. + * Prices vary between countries. + */ +export type ProductVariantContextualPricingQuantityPriceBreaksArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** The input fields required to detach media from a single variant. */ +export type ProductVariantDetachMediaInput = { + /** Specifies the media to detach from the variant. */ + mediaIds: Array; + /** Specifies the variant from which media will be detached. */ + variantId: Scalars['ID']['input']; +}; + +/** Return type for `productVariantDetachMedia` mutation. */ +export type ProductVariantDetachMediaPayload = { + __typename?: 'ProductVariantDetachMediaPayload'; + /** The product associated with the variants and media. */ + product?: Maybe; + /** The product variants that were updated. */ + productVariants?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one ProductVariant and a cursor during pagination. */ +export type ProductVariantEdge = { + __typename?: 'ProductVariantEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ProductVariantEdge. */ + node: ProductVariant; +}; + +/** The input fields for the bundle components for core. */ +export type ProductVariantGroupRelationshipInput = { + /** The ID of the product variant that's a component of the bundle. */ + id: Scalars['ID']['input']; + /** The number of units of the product variant required to construct one unit of the bundle. */ + quantity: Scalars['Int']['input']; +}; + +/** The valid values for the inventory policy of a product variant once it is out of stock. */ +export enum ProductVariantInventoryPolicy { + /** Customers can buy this product variant after it's out of stock. */ + Continue = 'CONTINUE', + /** Customers can't buy this product variant after it's out of stock. */ + Deny = 'DENY' +} + +/** Return type for `productVariantJoinSellingPlanGroups` mutation. */ +export type ProductVariantJoinSellingPlanGroupsPayload = { + __typename?: 'ProductVariantJoinSellingPlanGroupsPayload'; + /** The product variant object. */ + productVariant?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `productVariantLeaveSellingPlanGroups` mutation. */ +export type ProductVariantLeaveSellingPlanGroupsPayload = { + __typename?: 'ProductVariantLeaveSellingPlanGroupsPayload'; + /** The product variant object. */ + productVariant?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields representing a product variant position. */ +export type ProductVariantPositionInput = { + /** Specifies the ID of the product variant to update. */ + id: Scalars['ID']['input']; + /** The order of the product variant in the list of product variants. The first position in the list is 1. */ + position: Scalars['Int']['input']; +}; + +/** The compare-at price and price of a variant sharing a currency. */ +export type ProductVariantPricePair = { + __typename?: 'ProductVariantPricePair'; + /** The compare-at price of the variant with associated currency. */ + compareAtPrice?: Maybe; + /** The price of the variant with associated currency. */ + price: MoneyV2; +}; + +/** An auto-generated type for paginating through multiple ProductVariantPricePairs. */ +export type ProductVariantPricePairConnection = { + __typename?: 'ProductVariantPricePairConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ProductVariantPricePairEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ProductVariantPricePair and a cursor during pagination. */ +export type ProductVariantPricePairEdge = { + __typename?: 'ProductVariantPricePairEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ProductVariantPricePairEdge. */ + node: ProductVariantPricePair; +}; + +/** Return type for `productVariantRelationshipBulkUpdate` mutation. */ +export type ProductVariantRelationshipBulkUpdatePayload = { + __typename?: 'ProductVariantRelationshipBulkUpdatePayload'; + /** The product variants with successfully updated product variant relationships. */ + parentProductVariants?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ProductVariantRelationshipBulkUpdate`. */ +export type ProductVariantRelationshipBulkUpdateUserError = DisplayableError & { + __typename?: 'ProductVariantRelationshipBulkUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductVariantRelationshipBulkUpdateUserError`. */ +export enum ProductVariantRelationshipBulkUpdateUserErrorCode { + /** Combined listing cannot be child product variants. */ + ChildProductVariantCannotBeCombinedListing = 'CHILD_PRODUCT_VARIANT_CANNOT_BE_COMBINED_LISTING', + /** A parent product variant cannot contain itself as a component. */ + CircularReference = 'CIRCULAR_REFERENCE', + /** A parent product variant must not contain duplicate product variant relationships. */ + DuplicateProductVariantRelationship = 'DUPLICATE_PRODUCT_VARIANT_RELATIONSHIP', + /** Exceeded the maximum allowable product variant relationships in a parent product variant. */ + ExceededProductVariantRelationshipLimit = 'EXCEEDED_PRODUCT_VARIANT_RELATIONSHIP_LIMIT', + /** Unable to create parent product variant. */ + FailedToCreate = 'FAILED_TO_CREATE', + /** Unable to remove product variant relationships. */ + FailedToRemove = 'FAILED_TO_REMOVE', + /** Unable to update product variant relationships. */ + FailedToUpdate = 'FAILED_TO_UPDATE', + /** Unable to update parent product variant price. */ + FailedToUpdateParentProductVariantPrice = 'FAILED_TO_UPDATE_PARENT_PRODUCT_VARIANT_PRICE', + /** Product variant relationships must have a quantity greater than 0. */ + InvalidQuantity = 'INVALID_QUANTITY', + /** The product variant relationships to remove must be specified if all the parent product variant's components aren't being removed. */ + MustSpecifyComponents = 'MUST_SPECIFY_COMPONENTS', + /** Nested parent product variants aren't supported. */ + NestedParentProductVariant = 'NESTED_PARENT_PRODUCT_VARIANT', + /** Combined listing cannot be parent product variants. */ + ParentProductVariantCannotBeCombinedListing = 'PARENT_PRODUCT_VARIANT_CANNOT_BE_COMBINED_LISTING', + /** Gift cards cannot be parent product variants. */ + ParentProductVariantCannotBeGiftCard = 'PARENT_PRODUCT_VARIANT_CANNOT_BE_GIFT_CARD', + /** Parent product variants cannot require a selling plan. */ + ParentProductVariantCannotRequireSellingPlan = 'PARENT_PRODUCT_VARIANT_CANNOT_REQUIRE_SELLING_PLAN', + /** A parent product variant ID or product ID must be provided. */ + ParentRequired = 'PARENT_REQUIRED', + /** The products for these product variants are already owned by another App. */ + ProductExpanderAppOwnershipAlreadyExists = 'PRODUCT_EXPANDER_APP_OWNERSHIP_ALREADY_EXISTS', + /** Some of the provided product variants are not components of the specified parent product variant. */ + ProductVariantsNotComponents = 'PRODUCT_VARIANTS_NOT_COMPONENTS', + /** The product variants were not found. */ + ProductVariantsNotFound = 'PRODUCT_VARIANTS_NOT_FOUND', + /** A Core type relationship cannot be added to a composite product variant with SFN type relationships. */ + ProductVariantRelationshipTypeConflict = 'PRODUCT_VARIANT_RELATIONSHIP_TYPE_CONFLICT', + /** Unexpected error. */ + UnexpectedError = 'UNEXPECTED_ERROR', + /** Multipack bundles are not supported. */ + UnsupportedMultipackRelationship = 'UNSUPPORTED_MULTIPACK_RELATIONSHIP', + /** A price must be provided for a parent product variant if the price calucation is set to fixed. */ + UpdateParentVariantPriceRequired = 'UPDATE_PARENT_VARIANT_PRICE_REQUIRED' +} + +/** The input fields for updating a composite product variant. */ +export type ProductVariantRelationshipUpdateInput = { + /** A product ID which contains product variants that have relationships with other variants. */ + parentProductId?: InputMaybe; + /** The product variant ID representing that which contains the relationships with other variants. */ + parentProductVariantId?: InputMaybe; + /** Method in which to update the price of the parent product variant. */ + priceInput?: InputMaybe; + /** The product variants and associated quantitites to add to the product variant. */ + productVariantRelationshipsToCreate?: InputMaybe>; + /** The bundle component product variants to be removed from the product variant. */ + productVariantRelationshipsToRemove?: InputMaybe>; + /** The product variants and associated quantitites to update in specified product variant. */ + productVariantRelationshipsToUpdate?: InputMaybe>; + /** Whether to remove all components from the product variant. The default value is `false`. */ + removeAllProductVariantRelationships?: InputMaybe; +}; + +/** The input fields for specifying a product variant to create or update. */ +export type ProductVariantSetInput = { + /** The value of the barcode associated with the product. */ + barcode?: InputMaybe; + /** The compare-at price of the variant. */ + compareAtPrice?: InputMaybe; + /** The file to associate with the variant. */ + file?: InputMaybe; + /** Specifies the product variant to update or create a new variant if absent. */ + id?: InputMaybe; + /** Whether customers are allowed to place an order for the product variant when it's out of stock. */ + inventoryPolicy?: InputMaybe; + /** The inventory quantities at each location where the variant is stocked. */ + inventoryQuantities?: InputMaybe>; + /** Additional customizable information about the product variant. */ + metafields?: InputMaybe>; + /** The custom properties that a shop owner uses to define product variants. */ + optionValues: Array; + /** The order of the product variant in the list of product variants. The first position in the list is 1. */ + position?: InputMaybe; + /** The price of the variant. */ + price?: InputMaybe; + /** + * Whether a product variant requires components. The default value is `false`. + * If `true`, then the product variant can only be purchased as a parent bundle with components and it will be omitted + * from channels that don't support bundles. + */ + requiresComponents?: InputMaybe; + /** The SKU for the variant. Case-sensitive string. */ + sku?: InputMaybe; + /** The tax code associated with the variant. */ + taxCode?: InputMaybe; + /** Whether the variant is taxable. */ + taxable?: InputMaybe; +}; + +/** The set of valid sort keys for the ProductVariant query. */ +export enum ProductVariantSortKeys { + /** Sort by the `full_title` value. */ + FullTitle = 'FULL_TITLE', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by available inventory quantity in the location specified by the `query:"location_id:"` argument. + * Don't use this sort key when no `location_id` in query is specified. + */ + InventoryLevelsAvailable = 'INVENTORY_LEVELS_AVAILABLE', + /** Sort by the `inventory_management` value. */ + InventoryManagement = 'INVENTORY_MANAGEMENT', + /** Sort by the `inventory_policy` value. */ + InventoryPolicy = 'INVENTORY_POLICY', + /** Sort by the `inventory_quantity` value. */ + InventoryQuantity = 'INVENTORY_QUANTITY', + /** Sort by the `name` value. */ + Name = 'NAME', + /** Sort by the `popular` value. */ + Popular = 'POPULAR', + /** Sort by the `position` value. */ + Position = 'POSITION', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `sku` value. */ + Sku = 'SKU', + /** Sort by the `title` value. */ + Title = 'TITLE' +} + +/** Return type for `productVariantsBulkCreate` mutation. */ +export type ProductVariantsBulkCreatePayload = { + __typename?: 'ProductVariantsBulkCreatePayload'; + /** The updated product object. */ + product?: Maybe; + /** The newly created variants. */ + productVariants?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The set of strategies available for use on the `productVariantsBulkCreate` mutation. */ +export enum ProductVariantsBulkCreateStrategy { + /** The default strategy; keep the standalone variant (when product has only a single or default variant) when creating variants in bulk. */ + Default = 'DEFAULT', + /** Delete the standalone variant (when product has only a single or default variant) when creating new variants in bulk. */ + RemoveStandaloneVariant = 'REMOVE_STANDALONE_VARIANT' +} + +/** Error codes for failed product variant bulk create mutations. */ +export type ProductVariantsBulkCreateUserError = DisplayableError & { + __typename?: 'ProductVariantsBulkCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductVariantsBulkCreateUserError`. */ +export enum ProductVariantsBulkCreateUserErrorCode { + /** Cannot set name for an option value linked to a metafield. */ + CannotSetNameForLinkedOptionValue = 'CANNOT_SET_NAME_FOR_LINKED_OPTION_VALUE', + /** Variant price must be greater than or equal to zero. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** Invalid input detected. */ + Invalid = 'INVALID', + /** Input is invalid. */ + InvalidInput = 'INVALID_INPUT', + /** Input must be for this product. */ + MustBeForThisProduct = 'MUST_BE_FOR_THIS_PRODUCT', + /** Variant options are not enough. */ + NeedToAddOptionValues = 'NEED_TO_ADD_OPTION_VALUES', + /** Price cannot take a negative value. */ + NegativePriceValue = 'NEGATIVE_PRICE_VALUE', + /** Input is not defined for this shop. */ + NotDefinedForShop = 'NOT_DEFINED_FOR_SHOP', + /** On create, this key cannot be used. */ + NoKeyOnCreate = 'NO_KEY_ON_CREATE', + /** Variant options are more than the product options. */ + OptionValuesForNumberOfUnknownOptions = 'OPTION_VALUES_FOR_NUMBER_OF_UNKNOWN_OPTIONS', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** You reached the limit of available SKUs in your current plan. */ + SubscriptionViolation = 'SUBSCRIPTION_VIOLATION', + /** Inventory locations cannot exceed the allowed resource limit or 10. */ + TooManyInventoryLocations = 'TOO_MANY_INVENTORY_LOCATIONS', + /** Quantity could not be set. The location was not found. */ + TrackedVariantLocationNotFound = 'TRACKED_VARIANT_LOCATION_NOT_FOUND', + /** Operation is not supported for a combined listing parent product. */ + UnsupportedCombinedListingParentOperation = 'UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION', + /** Variant already exists. */ + VariantAlreadyExists = 'VARIANT_ALREADY_EXISTS', + /** Variant options already exist. Please change the variant option(s). */ + VariantAlreadyExistsChangeOptionValue = 'VARIANT_ALREADY_EXISTS_CHANGE_OPTION_VALUE' +} + +/** Return type for `productVariantsBulkDelete` mutation. */ +export type ProductVariantsBulkDeletePayload = { + __typename?: 'ProductVariantsBulkDeletePayload'; + /** The updated product object. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed bulk variant delete mutations. */ +export type ProductVariantsBulkDeleteUserError = DisplayableError & { + __typename?: 'ProductVariantsBulkDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductVariantsBulkDeleteUserError`. */ +export enum ProductVariantsBulkDeleteUserErrorCode { + /** The variant does not exist. */ + AtLeastOneVariantDoesNotBelongToTheProduct = 'AT_LEAST_ONE_VARIANT_DOES_NOT_BELONG_TO_THE_PRODUCT', + /** Cannot delete default variant. */ + CannotDeleteLastVariant = 'CANNOT_DELETE_LAST_VARIANT', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Operation is not supported for a combined listing parent product. */ + UnsupportedCombinedListingParentOperation = 'UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION' +} + +/** The input fields for specifying a product variant to create as part of a variant bulk mutation. */ +export type ProductVariantsBulkInput = { + /** The value of the barcode associated with the product variant. */ + barcode?: InputMaybe; + /** The compare-at price of the variant. */ + compareAtPrice?: InputMaybe; + /** Specifies the product variant to update or delete. */ + id?: InputMaybe; + /** The inventory item associated with the variant, used for unit cost. */ + inventoryItem?: InputMaybe; + /** Whether customers are allowed to place an order for the variant when it's out of stock. */ + inventoryPolicy?: InputMaybe; + /** + * The inventory quantities at each location where the variant is stocked. The number of elements + * in the array of inventory quantities can't exceed the amount specified for the plan. + * Supported as input with the `productVariantsBulkCreate` mutation only. + */ + inventoryQuantities?: InputMaybe>; + /** The ID of the media that's associated with the variant. */ + mediaId?: InputMaybe; + /** The URL of the media to associate with the variant. */ + mediaSrc?: InputMaybe>; + /** The additional customizable information about the product variant. */ + metafields?: InputMaybe>; + /** The custom properties that a shop owner uses to define product variants. */ + optionValues?: InputMaybe>; + /** The price of the variant. */ + price?: InputMaybe; + /** + * Whether a product variant requires components. The default value is `false`. + * If `true`, then the product variant can only be purchased as a parent bundle with components and it will be + * omitted from channels that don't support bundles. + */ + requiresComponents?: InputMaybe; + /** The tax code associated with the variant. */ + taxCode?: InputMaybe; + /** Whether the variant is taxable. */ + taxable?: InputMaybe; +}; + +/** Return type for `productVariantsBulkReorder` mutation. */ +export type ProductVariantsBulkReorderPayload = { + __typename?: 'ProductVariantsBulkReorderPayload'; + /** The updated product. */ + product?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed bulk product variants reorder operation. */ +export type ProductVariantsBulkReorderUserError = DisplayableError & { + __typename?: 'ProductVariantsBulkReorderUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductVariantsBulkReorderUserError`. */ +export enum ProductVariantsBulkReorderUserErrorCode { + /** Product variant IDs must be unique. */ + DuplicatedVariantId = 'DUPLICATED_VARIANT_ID', + /** Product variant position cannot be zero or negative number. */ + InvalidPosition = 'INVALID_POSITION', + /** Product variant does not exist. */ + MissingVariant = 'MISSING_VARIANT', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST' +} + +/** Return type for `productVariantsBulkUpdate` mutation. */ +export type ProductVariantsBulkUpdatePayload = { + __typename?: 'ProductVariantsBulkUpdatePayload'; + /** The updated product object. */ + product?: Maybe; + /** The updated variants. */ + productVariants?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed variant bulk update mutations. */ +export type ProductVariantsBulkUpdateUserError = DisplayableError & { + __typename?: 'ProductVariantsBulkUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ProductVariantsBulkUpdateUserError`. */ +export enum ProductVariantsBulkUpdateUserErrorCode { + /** Cannot set name for an option value linked to a metafield. */ + CannotSetNameForLinkedOptionValue = 'CANNOT_SET_NAME_FOR_LINKED_OPTION_VALUE', + /** Mutually exclusive input fields provided. */ + CannotSpecifyBoth = 'CANNOT_SPECIFY_BOTH', + /** The price of the variant must be greater than or equal to zero. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** Input is invalid. */ + InvalidInput = 'INVALID_INPUT', + /** Input must be for this product. */ + MustBeForThisProduct = 'MUST_BE_FOR_THIS_PRODUCT', + /** Mandatory field input field missing. */ + MustSpecifyOneOfPair = 'MUST_SPECIFY_ONE_OF_PAIR', + /** Variant options are not enough. */ + NeedToAddOptionValues = 'NEED_TO_ADD_OPTION_VALUES', + /** Price cannot take a negative value. */ + NegativePriceValue = 'NEGATIVE_PRICE_VALUE', + /** Inventory quantities cannot be provided during update. */ + NoInventoryQuantitesDuringUpdate = 'NO_INVENTORY_QUANTITES_DURING_UPDATE', + /** Inventory quantities can only be provided during create. To update inventory for existing variants, use inventoryAdjustQuantities. */ + NoInventoryQuantitiesOnVariantsUpdate = 'NO_INVENTORY_QUANTITIES_ON_VARIANTS_UPDATE', + /** Option does not exist. */ + OptionDoesNotExist = 'OPTION_DOES_NOT_EXIST', + /** Variant options are more than the product options. */ + OptionValuesForNumberOfUnknownOptions = 'OPTION_VALUES_FOR_NUMBER_OF_UNKNOWN_OPTIONS', + /** Option value does not exist. */ + OptionValueDoesNotExist = 'OPTION_VALUE_DOES_NOT_EXIST', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Product variant does not exist. */ + ProductVariantDoesNotExist = 'PRODUCT_VARIANT_DOES_NOT_EXIST', + /** Product variant is missing ID attribute. */ + ProductVariantIdMissing = 'PRODUCT_VARIANT_ID_MISSING', + /** You reached the limit of available SKUs in your current plan. */ + SubscriptionViolation = 'SUBSCRIPTION_VIOLATION', + /** Operation is not supported for a combined listing parent product. */ + UnsupportedCombinedListingParentOperation = 'UNSUPPORTED_COMBINED_LISTING_PARENT_OPERATION', + /** The variant already exists. */ + VariantAlreadyExists = 'VARIANT_ALREADY_EXISTS' +} + +/** The set of valid sort keys for the ProfileItem query. */ +export enum ProfileItemSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `inventory_total` value. */ + InventoryTotal = 'INVENTORY_TOTAL', + /** Sort by the `product_type` value. */ + ProductType = 'PRODUCT_TYPE', + /** Sort by the `published_at` value. */ + PublishedAt = 'PUBLISHED_AT', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `title` value. */ + Title = 'TITLE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT', + /** Sort by the `vendor` value. */ + Vendor = 'VENDOR' +} + +/** Return type for `pubSubServerPixelUpdate` mutation. */ +export type PubSubServerPixelUpdatePayload = { + __typename?: 'PubSubServerPixelUpdatePayload'; + /** The server pixel as configured by the mutation. */ + serverPixel?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `pubSubWebhookSubscriptionCreate` mutation. */ +export type PubSubWebhookSubscriptionCreatePayload = { + __typename?: 'PubSubWebhookSubscriptionCreatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The webhook subscription that was created. */ + webhookSubscription?: Maybe; +}; + +/** An error that occurs during the execution of `PubSubWebhookSubscriptionCreate`. */ +export type PubSubWebhookSubscriptionCreateUserError = DisplayableError & { + __typename?: 'PubSubWebhookSubscriptionCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PubSubWebhookSubscriptionCreateUserError`. */ +export enum PubSubWebhookSubscriptionCreateUserErrorCode { + /** Invalid parameters provided. */ + InvalidParameters = 'INVALID_PARAMETERS', + /** Address for this topic has already been taken. */ + Taken = 'TAKEN' +} + +/** The input fields for a PubSub webhook subscription. */ +export type PubSubWebhookSubscriptionInput = { + /** A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details. */ + filter?: InputMaybe; + /** The format in which the webhook subscription should send the data. */ + format?: InputMaybe; + /** The list of fields to be included in the webhook subscription. */ + includeFields?: InputMaybe>; + /** The list of namespaces for any metafields that should be included in the webhook subscription. */ + metafieldNamespaces?: InputMaybe>; + /** The Pub/Sub project ID. */ + pubSubProject: Scalars['String']['input']; + /** The Pub/Sub topic ID. */ + pubSubTopic: Scalars['String']['input']; +}; + +/** Return type for `pubSubWebhookSubscriptionUpdate` mutation. */ +export type PubSubWebhookSubscriptionUpdatePayload = { + __typename?: 'PubSubWebhookSubscriptionUpdatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The webhook subscription that was updated. */ + webhookSubscription?: Maybe; +}; + +/** An error that occurs during the execution of `PubSubWebhookSubscriptionUpdate`. */ +export type PubSubWebhookSubscriptionUpdateUserError = DisplayableError & { + __typename?: 'PubSubWebhookSubscriptionUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PubSubWebhookSubscriptionUpdateUserError`. */ +export enum PubSubWebhookSubscriptionUpdateUserErrorCode { + /** Invalid parameters provided. */ + InvalidParameters = 'INVALID_PARAMETERS' +} + +/** A publication is a group of products and collections that is published to an app. */ +export type Publication = Node & { + __typename?: 'Publication'; + /** + * The app associated with the publication. + * @deprecated Use [AppCatalog.apps](https://shopify.dev/api/admin-graphql/unstable/objects/AppCatalog#connection-appcatalog-apps) instead. + */ + app: App; + /** Whether new products are automatically published to this publication. */ + autoPublish: Scalars['Boolean']['output']; + /** The catalog associated with the publication. */ + catalog?: Maybe; + /** The collection publications for the list of collections published to the publication. */ + collectionPublicationsV3: ResourcePublicationConnection; + /** The list of collections published to the publication. */ + collections: CollectionConnection; + /** Whether the collection is available to the publication. */ + hasCollection: Scalars['Boolean']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * Name of the publication. + * @deprecated Use [Catalog.title](https://shopify.dev/api/admin-graphql/unstable/interfaces/Catalog#field-catalog-title) instead. + */ + name: Scalars['String']['output']; + /** A background operation associated with this publication. */ + operation?: Maybe; + /** The product publications for the list of products published to the publication. */ + productPublicationsV3: ResourcePublicationConnection; + /** The list of products published to the publication. */ + products: ProductConnection; + /** Whether the publication supports future publishing. */ + supportsFuturePublishing: Scalars['Boolean']['output']; +}; + + +/** A publication is a group of products and collections that is published to an app. */ +export type PublicationCollectionPublicationsV3Args = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A publication is a group of products and collections that is published to an app. */ +export type PublicationCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A publication is a group of products and collections that is published to an app. */ +export type PublicationHasCollectionArgs = { + id: Scalars['ID']['input']; +}; + + +/** A publication is a group of products and collections that is published to an app. */ +export type PublicationProductPublicationsV3Args = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A publication is a group of products and collections that is published to an app. */ +export type PublicationProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Publications. */ +export type PublicationConnection = { + __typename?: 'PublicationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in PublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for creating a publication. */ +export type PublicationCreateInput = { + /** Whether to automatically add newly created products to this publication. */ + autoPublish?: InputMaybe; + /** The ID of the catalog. */ + catalogId?: InputMaybe; + /** Whether to create an empty publication or prepopulate it with all products. */ + defaultState?: InputMaybe; +}; + +/** The input fields for the possible values for the default state of a publication. */ +export enum PublicationCreateInputPublicationDefaultState { + /** The publication is populated with all products. */ + AllProducts = 'ALL_PRODUCTS', + /** The publication is empty. */ + Empty = 'EMPTY' +} + +/** Return type for `publicationCreate` mutation. */ +export type PublicationCreatePayload = { + __typename?: 'PublicationCreatePayload'; + /** The publication that's been created. */ + publication?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `publicationDelete` mutation. */ +export type PublicationDeletePayload = { + __typename?: 'PublicationDeletePayload'; + /** The ID of the publication that was deleted. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Publication and a cursor during pagination. */ +export type PublicationEdge = { + __typename?: 'PublicationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of PublicationEdge. */ + node: Publication; +}; + +/** The input fields required to publish a resource. */ +export type PublicationInput = { + /** ID of the publication. */ + publicationId?: InputMaybe; + /** The date and time that the resource was published. Setting this to a date in the future will schedule the resource to be published. Only online store channels support future publishing. This field has no effect if you include it in the `publishableUnpublish` mutation. */ + publishDate?: InputMaybe; +}; + +/** The possible types of publication operations. */ +export type PublicationOperation = AddAllProductsOperation | CatalogCsvOperation | PublicationResourceOperation; + +/** A bulk update operation on a publication. */ +export type PublicationResourceOperation = Node & ResourceOperation & { + __typename?: 'PublicationResourceOperation'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The count of processed rows, summing imported, failed, and skipped rows. */ + processedRowCount?: Maybe; + /** Represents a rows objects within this background operation. */ + rowCount?: Maybe; + /** The status of this operation. */ + status: ResourceOperationStatus; +}; + +/** The input fields for updating a publication. */ +export type PublicationUpdateInput = { + /** Whether new products should be automatically published to the publication. */ + autoPublish?: InputMaybe; + /** A list of publishable IDs to add. The maximum number of publishables to update simultaneously is 50. */ + publishablesToAdd?: InputMaybe>; + /** A list of publishable IDs to remove. The maximum number of publishables to update simultaneously is 50. */ + publishablesToRemove?: InputMaybe>; +}; + +/** Return type for `publicationUpdate` mutation. */ +export type PublicationUpdatePayload = { + __typename?: 'PublicationUpdatePayload'; + /** The publication that's been updated. */ + publication?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Defines errors encountered while managing a publication. */ +export type PublicationUserError = DisplayableError & { + __typename?: 'PublicationUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `PublicationUserError`. */ +export enum PublicationUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** Cannot modify a catalog for an app. */ + CannotModifyAppCatalog = 'CANNOT_MODIFY_APP_CATALOG', + /** Can't modify a publication that belongs to an app catalog. */ + CannotModifyAppCatalogPublication = 'CANNOT_MODIFY_APP_CATALOG_PUBLICATION', + /** Cannot modify a catalog for a market. */ + CannotModifyMarketCatalog = 'CANNOT_MODIFY_MARKET_CATALOG', + /** Can't modify a publication that belongs to a market catalog. */ + CannotModifyMarketCatalogPublication = 'CANNOT_MODIFY_MARKET_CATALOG_PUBLICATION', + /** Catalog does not exist. */ + CatalogNotFound = 'CATALOG_NOT_FOUND', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Publishable ID not found. */ + InvalidPublishableId = 'INVALID_PUBLISHABLE_ID', + /** Market does not exist. */ + MarketNotFound = 'MARKET_NOT_FOUND', + /** A product publication cannot be created because the catalog type associated with this publication does not permit publications of this product type. */ + ProductTypeIncompatibleWithCatalogType = 'PRODUCT_TYPE_INCOMPATIBLE_WITH_CATALOG_TYPE', + /** The publication is currently being modified. Please try again later. */ + PublicationLocked = 'PUBLICATION_LOCKED', + /** Publication not found. */ + PublicationNotFound = 'PUBLICATION_NOT_FOUND', + /** The limit for simultaneous publication updates has been exceeded. */ + PublicationUpdateLimitExceeded = 'PUBLICATION_UPDATE_LIMIT_EXCEEDED', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** Can't perform this action on a publication. */ + UnsupportedPublicationAction = 'UNSUPPORTED_PUBLICATION_ACTION', + /** A catalog publication can only contain products. */ + UnsupportedPublishableType = 'UNSUPPORTED_PUBLISHABLE_TYPE' +} + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type Publishable = { + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + */ + availablePublicationsCount?: Maybe; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + * @deprecated Use `resourcePublicationsCount` instead. + */ + publicationCount: Scalars['Int']['output']; + /** + * Whether the resource is published to a specific channel. + * @deprecated Use `publishedOnPublication` instead. + */ + publishedOnChannel: Scalars['Boolean']['output']; + /** + * Whether the resource is published to a + * [channel](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel). + * For example, the resource might be published to the online store channel. + * @deprecated Use `publishedOnCurrentPublication` instead. + */ + publishedOnCurrentChannel: Scalars['Boolean']['output']; + /** + * Whether the resource is published to the app's + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + * For example, the resource might be published to the app's online store channel. + */ + publishedOnCurrentPublication: Scalars['Boolean']['output']; + /** + * Whether the resource is published to a specified + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + publishedOnPublication: Scalars['Boolean']['output']; + /** + * The list of resources that are published to a + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + resourcePublications: ResourcePublicationConnection; + /** + * The number of + * [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that a resource is published to, without + * [feedback errors](https://shopify.dev/docs/api/admin-graphql/latest/objects/ResourceFeedback). + */ + resourcePublicationsCount?: Maybe; + /** + * The list of resources that are either published or staged to be published to a + * [publication](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication). + */ + resourcePublicationsV2: ResourcePublicationV2Connection; + /** + * The list of channels that the resource is not published to. + * @deprecated Use `unpublishedPublications` instead. + */ + unpublishedChannels: ChannelConnection; + /** + * The list of [publications](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication) + * that the resource isn't published to. + */ + unpublishedPublications: PublicationConnection; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishablePublicationCountArgs = { + onlyPublished?: InputMaybe; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishablePublishedOnChannelArgs = { + channelId: Scalars['ID']['input']; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishablePublishedOnPublicationArgs = { + publicationId: Scalars['ID']['input']; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishableResourcePublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishableResourcePublicationsCountArgs = { + onlyPublished?: InputMaybe; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishableResourcePublicationsV2Args = { + after?: InputMaybe; + before?: InputMaybe; + catalogType?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + onlyPublished?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishableUnpublishedChannelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a resource that can be published to a channel. + * A publishable resource can be either a Product or Collection. + */ +export type PublishableUnpublishedPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `publishablePublish` mutation. */ +export type PublishablePublishPayload = { + __typename?: 'PublishablePublishPayload'; + /** Resource that has been published. */ + publishable?: Maybe; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `publishablePublishToCurrentChannel` mutation. */ +export type PublishablePublishToCurrentChannelPayload = { + __typename?: 'PublishablePublishToCurrentChannelPayload'; + /** Resource that has been published. */ + publishable?: Maybe; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `publishableUnpublish` mutation. */ +export type PublishableUnpublishPayload = { + __typename?: 'PublishableUnpublishPayload'; + /** Resource that has been unpublished. */ + publishable?: Maybe; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `publishableUnpublishToCurrentChannel` mutation. */ +export type PublishableUnpublishToCurrentChannelPayload = { + __typename?: 'PublishableUnpublishToCurrentChannelPayload'; + /** Resource that has been unpublished. */ + publishable?: Maybe; + /** The user's shop. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents information about the purchasing company for the order or draft order. */ +export type PurchasingCompany = { + __typename?: 'PurchasingCompany'; + /** The company associated to the order or draft order. */ + company: Company; + /** The company contact associated to the order or draft order. */ + contact?: Maybe; + /** The company location associated to the order or draft order. */ + location: CompanyLocation; +}; + +/** The input fields for a purchasing company, which is a combination of company, company contact, and company location. */ +export type PurchasingCompanyInput = { + /** ID of the company contact. */ + companyContactId: Scalars['ID']['input']; + /** ID of the company. */ + companyId: Scalars['ID']['input']; + /** ID of the company location. */ + companyLocationId: Scalars['ID']['input']; +}; + +/** Represents information about the purchasing entity for the order or draft order. */ +export type PurchasingEntity = Customer | PurchasingCompany; + +/** The input fields for a purchasing entity. Can either be a customer or a purchasing company. */ +export type PurchasingEntityInput = { + /** Represents a customer. Null if there's a purchasing company. */ + customerId?: InputMaybe; + /** Represents a purchasing company. Null if there's a customer. */ + purchasingCompany?: InputMaybe; +}; + +/** + * Quantity price breaks lets you offer different rates that are based on the + * amount of a specific variant being ordered. + */ +export type QuantityPriceBreak = Node & { + __typename?: 'QuantityPriceBreak'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Minimum quantity required to reach new quantity break price. */ + minimumQuantity: Scalars['Int']['output']; + /** The price of variant after reaching the minimum quanity. */ + price: MoneyV2; + /** The price list associated with this quantity break. */ + priceList: PriceList; + /** The product variant associated with this quantity break. */ + variant: ProductVariant; +}; + +/** An auto-generated type for paginating through multiple QuantityPriceBreaks. */ +export type QuantityPriceBreakConnection = { + __typename?: 'QuantityPriceBreakConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in QuantityPriceBreakEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one QuantityPriceBreak and a cursor during pagination. */ +export type QuantityPriceBreakEdge = { + __typename?: 'QuantityPriceBreakEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of QuantityPriceBreakEdge. */ + node: QuantityPriceBreak; +}; + +/** The input fields and values to use when creating quantity price breaks. */ +export type QuantityPriceBreakInput = { + /** The minimum required quantity for a variant to qualify for this price. */ + minimumQuantity: Scalars['Int']['input']; + /** The price of the product variant when its quantity meets the break's minimum quantity. */ + price: MoneyInput; + /** The product variant ID associated with the quantity break. */ + variantId: Scalars['ID']['input']; +}; + +/** The set of valid sort keys for the QuantityPriceBreak query. */ +export enum QuantityPriceBreakSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `minimum_quantity` value. */ + MinimumQuantity = 'MINIMUM_QUANTITY', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The input fields used to update quantity pricing. */ +export type QuantityPricingByVariantUpdateInput = { + /** A list of fixed prices to add. */ + pricesToAdd: Array; + /** A list of variant IDs that identify which fixed prices to remove. */ + pricesToDeleteByVariantId: Array; + /** A list of quantity price breaks to add. */ + quantityPriceBreaksToAdd: Array; + /** A list of quantity price break IDs that identify which quantity breaks to remove. */ + quantityPriceBreaksToDelete: Array; + /** A list of quantity rules to add. */ + quantityRulesToAdd: Array; + /** A list of variant IDs that identify which quantity rules to remove. */ + quantityRulesToDeleteByVariantId: Array; +}; + +/** Return type for `quantityPricingByVariantUpdate` mutation. */ +export type QuantityPricingByVariantUpdatePayload = { + __typename?: 'QuantityPricingByVariantUpdatePayload'; + /** The variants for which quantity pricing was created successfully in the price list. */ + productVariants?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Error codes for failed volume pricing operations. */ +export type QuantityPricingByVariantUserError = DisplayableError & { + __typename?: 'QuantityPricingByVariantUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `QuantityPricingByVariantUserError`. */ +export enum QuantityPricingByVariantUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** Something went wrong when trying to update quantity pricing. Please try again later. */ + GenericError = 'GENERIC_ERROR', + /** Price list and fixed price currency mismatch. */ + PriceAddCurrencyMismatch = 'PRICE_ADD_CURRENCY_MISMATCH', + /** Prices to add inputs must be unique by variant id. */ + PriceAddDuplicateInputForVariant = 'PRICE_ADD_DUPLICATE_INPUT_FOR_VARIANT', + /** Fixed price's variant not found. */ + PriceAddVariantNotFound = 'PRICE_ADD_VARIANT_NOT_FOUND', + /** Price is not fixed. */ + PriceDeletePriceNotFixed = 'PRICE_DELETE_PRICE_NOT_FIXED', + /** Fixed price's variant not found. */ + PriceDeleteVariantNotFound = 'PRICE_DELETE_VARIANT_NOT_FOUND', + /** Price List does not exist. */ + PriceListNotFound = 'PRICE_LIST_NOT_FOUND', + /** Price list and quantity price break currency mismatch. */ + QuantityPriceBreakAddCurrencyMismatch = 'QUANTITY_PRICE_BREAK_ADD_CURRENCY_MISMATCH', + /** Quantity price breaks to add inputs must be unique by variant id and minimum quantity. */ + QuantityPriceBreakAddDuplicateInputForVariantAndMin = 'QUANTITY_PRICE_BREAK_ADD_DUPLICATE_INPUT_FOR_VARIANT_AND_MIN', + /** Failed to save quantity price break. */ + QuantityPriceBreakAddFailedToSave = 'QUANTITY_PRICE_BREAK_ADD_FAILED_TO_SAVE', + /** Invalid quantity price break. */ + QuantityPriceBreakAddInvalid = 'QUANTITY_PRICE_BREAK_ADD_INVALID', + /** Exceeded the allowed number of quantity price breaks per variant. */ + QuantityPriceBreakAddLimitExceeded = 'QUANTITY_PRICE_BREAK_ADD_LIMIT_EXCEEDED', + /** Quantity price break miniumum is higher than the quantity rule maximum. */ + QuantityPriceBreakAddMinHigherThanQuantityRulesMax = 'QUANTITY_PRICE_BREAK_ADD_MIN_HIGHER_THAN_QUANTITY_RULES_MAX', + /** Quantity price break miniumum is less than the quantity rule minimum. */ + QuantityPriceBreakAddMinLowerThanQuantityRulesMin = 'QUANTITY_PRICE_BREAK_ADD_MIN_LOWER_THAN_QUANTITY_RULES_MIN', + /** Quantity price break miniumum is not multiple of the quantity rule increment. */ + QuantityPriceBreakAddMinNotAMultipleOfQuantityRulesIncrement = 'QUANTITY_PRICE_BREAK_ADD_MIN_NOT_A_MULTIPLE_OF_QUANTITY_RULES_INCREMENT', + /** Quantity price break's fixed price not found. */ + QuantityPriceBreakAddPriceListPriceNotFound = 'QUANTITY_PRICE_BREAK_ADD_PRICE_LIST_PRICE_NOT_FOUND', + /** Quantity price break variant not found. */ + QuantityPriceBreakAddVariantNotFound = 'QUANTITY_PRICE_BREAK_ADD_VARIANT_NOT_FOUND', + /** Failed to delete quantity price break. */ + QuantityPriceBreakDeleteFailed = 'QUANTITY_PRICE_BREAK_DELETE_FAILED', + /** Quantity price break not found. */ + QuantityPriceBreakDeleteNotFound = 'QUANTITY_PRICE_BREAK_DELETE_NOT_FOUND', + /** Quantity rule catalog context not supported. */ + QuantityRuleAddCatalogContextNotSupported = 'QUANTITY_RULE_ADD_CATALOG_CONTEXT_NOT_SUPPORTED', + /** Quantity rules to add inputs must be unique by variant id. */ + QuantityRuleAddDuplicateInputForVariant = 'QUANTITY_RULE_ADD_DUPLICATE_INPUT_FOR_VARIANT', + /** Quantity rule increment is greater than minimum. */ + QuantityRuleAddIncrementIsGreaterThanMinimum = 'QUANTITY_RULE_ADD_INCREMENT_IS_GREATER_THAN_MINIMUM', + /** Quantity rule increment is less than one. */ + QuantityRuleAddIncrementIsLessThanOne = 'QUANTITY_RULE_ADD_INCREMENT_IS_LESS_THAN_ONE', + /** Quantity rule increment must be a multiple of the quantity price break minimum. */ + QuantityRuleAddIncrementNotAMultipleOfQuantityPriceBreakMin = 'QUANTITY_RULE_ADD_INCREMENT_NOT_A_MULTIPLE_OF_QUANTITY_PRICE_BREAK_MIN', + /** Quantity rule maximum is less than one. */ + QuantityRuleAddMaximumIsLessThanOne = 'QUANTITY_RULE_ADD_MAXIMUM_IS_LESS_THAN_ONE', + /** Quantity rule maximum is not a multiple of increment. */ + QuantityRuleAddMaximumNotAMultipleOfIncrement = 'QUANTITY_RULE_ADD_MAXIMUM_NOT_A_MULTIPLE_OF_INCREMENT', + /** Quantity rule maximum is less than the quantity price break minimum. */ + QuantityRuleAddMaxLowerThanQuantityPriceBreakMin = 'QUANTITY_RULE_ADD_MAX_LOWER_THAN_QUANTITY_PRICE_BREAK_MIN', + /** Quantity rule minimum is greater than maximum. */ + QuantityRuleAddMinimumGreaterThanMaximum = 'QUANTITY_RULE_ADD_MINIMUM_GREATER_THAN_MAXIMUM', + /** Quantity rule minimum is less than one. */ + QuantityRuleAddMinimumIsLessThanOne = 'QUANTITY_RULE_ADD_MINIMUM_IS_LESS_THAN_ONE', + /** Quantity rule minimum is not a multiple of increment. */ + QuantityRuleAddMinimumNotAMultipleOfIncrement = 'QUANTITY_RULE_ADD_MINIMUM_NOT_A_MULTIPLE_OF_INCREMENT', + /** Quantity rule minimum is higher than the quantity price break minimum. */ + QuantityRuleAddMinHigherThanQuantityPriceBreakMin = 'QUANTITY_RULE_ADD_MIN_HIGHER_THAN_QUANTITY_PRICE_BREAK_MIN', + /** Quantity rule variant not found. */ + QuantityRuleAddVariantNotFound = 'QUANTITY_RULE_ADD_VARIANT_NOT_FOUND', + /** Quantity rule not found. */ + QuantityRuleDeleteRuleNotFound = 'QUANTITY_RULE_DELETE_RULE_NOT_FOUND', + /** Quantity rule variant not found. */ + QuantityRuleDeleteVariantNotFound = 'QUANTITY_RULE_DELETE_VARIANT_NOT_FOUND' +} + +/** The quantity rule for the product variant in a given context. */ +export type QuantityRule = { + __typename?: 'QuantityRule'; + /** + * The value that specifies the quantity increment between minimum and maximum of the rule. + * Only quantities divisible by this value will be considered valid. + * + * The increment must be lower than or equal to the minimum and the maximum, and both minimum and maximum + * must be divisible by this value. + */ + increment: Scalars['Int']['output']; + /** Whether the quantity rule fields match one increment, one minimum and no maximum. */ + isDefault: Scalars['Boolean']['output']; + /** + * An optional value that defines the highest allowed quantity purchased by the customer. + * If defined, maximum must be lower than or equal to the minimum and must be a multiple of the increment. + */ + maximum?: Maybe; + /** + * The value that defines the lowest allowed quantity purchased by the customer. + * The minimum must be a multiple of the quantity rule's increment. + */ + minimum: Scalars['Int']['output']; + /** Whether the values of the quantity rule were explicitly set. */ + originType: QuantityRuleOriginType; + /** The product variant for which the quantity rule is applied. */ + productVariant: ProductVariant; +}; + +/** An auto-generated type for paginating through multiple QuantityRules. */ +export type QuantityRuleConnection = { + __typename?: 'QuantityRuleConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in QuantityRuleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one QuantityRule and a cursor during pagination. */ +export type QuantityRuleEdge = { + __typename?: 'QuantityRuleEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of QuantityRuleEdge. */ + node: QuantityRule; +}; + +/** The input fields for the per-order quantity rule to be applied on the product variant. */ +export type QuantityRuleInput = { + /** The quantity increment. */ + increment: Scalars['Int']['input']; + /** The maximum quantity. */ + maximum?: InputMaybe; + /** The minimum quantity. */ + minimum: Scalars['Int']['input']; + /** Product variant on which to apply the quantity rule. */ + variantId: Scalars['ID']['input']; +}; + +/** The origin of quantity rule on a price list. */ +export enum QuantityRuleOriginType { + /** Quantity rule is explicitly defined. */ + Fixed = 'FIXED', + /** Quantity rule falls back to the relative rule. */ + Relative = 'RELATIVE' +} + +/** An error for a failed quantity rule operation. */ +export type QuantityRuleUserError = DisplayableError & { + __typename?: 'QuantityRuleUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `QuantityRuleUserError`. */ +export enum QuantityRuleUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** Quantity rules can be associated only with company location catalogs. */ + CatalogContextDoesNotSupportQuantityRules = 'CATALOG_CONTEXT_DOES_NOT_SUPPORT_QUANTITY_RULES', + /** Quantity rule inputs must be unique by variant id. */ + DuplicateInputForVariant = 'DUPLICATE_INPUT_FOR_VARIANT', + /** Something went wrong when trying to save the quantity rule. Please try again later. */ + GenericError = 'GENERIC_ERROR', + /** Value must be greater than or equal to 1. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** Increment must be lower than or equal to the minimum. */ + IncrementIsGreaterThanMinimum = 'INCREMENT_IS_GREATER_THAN_MINIMUM', + /** Increment must be a multiple of all quantity price break minimums associated with this variant in the specified price list. */ + IncrementNotAMultipleOfQuantityPriceBreakMinimum = 'INCREMENT_NOT_A_MULTIPLE_OF_QUANTITY_PRICE_BREAK_MINIMUM', + /** Maximum must be greater than or equal to all quantity price break minimums associated with this variant in the specified price list. */ + MaximumIsLowerThanQuantityPriceBreakMinimum = 'MAXIMUM_IS_LOWER_THAN_QUANTITY_PRICE_BREAK_MINIMUM', + /** The maximum must be a multiple of the increment. */ + MaximumNotMultipleOfIncrement = 'MAXIMUM_NOT_MULTIPLE_OF_INCREMENT', + /** Minimum must be lower than or equal to the maximum. */ + MinimumIsGreaterThanMaximum = 'MINIMUM_IS_GREATER_THAN_MAXIMUM', + /** Minimum must be less than or equal to all quantity price break minimums associated with this variant in the specified price list. */ + MinimumIsHigherThanQuantityPriceBreakMinimum = 'MINIMUM_IS_HIGHER_THAN_QUANTITY_PRICE_BREAK_MINIMUM', + /** The minimum must be a multiple of the increment. */ + MinimumNotMultipleOfIncrement = 'MINIMUM_NOT_MULTIPLE_OF_INCREMENT', + /** Price list does not exist. */ + PriceListDoesNotExist = 'PRICE_LIST_DOES_NOT_EXIST', + /** Product variant ID does not exist. */ + ProductVariantDoesNotExist = 'PRODUCT_VARIANT_DOES_NOT_EXIST', + /** Quantity rule for variant associated with the price list provided does not exist. */ + VariantQuantityRuleDoesNotExist = 'VARIANT_QUANTITY_RULE_DOES_NOT_EXIST' +} + +/** Return type for `quantityRulesAdd` mutation. */ +export type QuantityRulesAddPayload = { + __typename?: 'QuantityRulesAddPayload'; + /** The list of quantity rules that were added to or updated in the price list. */ + quantityRules?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `quantityRulesDelete` mutation. */ +export type QuantityRulesDeletePayload = { + __typename?: 'QuantityRulesDeletePayload'; + /** A list of product variant IDs whose quantity rules were removed from the price list. */ + deletedQuantityRulesVariantIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRoot = { + __typename?: 'QueryRoot'; + /** List of abandoned checkouts. Includes checkouts that were recovered after being abandoned. */ + abandonedCheckouts: AbandonedCheckoutConnection; + /** Returns the count of abandoned checkouts for the given shop. Limited to a maximum of 10000. */ + abandonedCheckoutsCount?: Maybe; + /** Returns an abandonment by ID. */ + abandonment?: Maybe; + /** Returns an Abandonment by the Abandoned Checkout ID. */ + abandonmentByAbandonedCheckoutId?: Maybe; + /** Lookup an App by ID or return the currently authenticated App. */ + app?: Maybe; + /** + * Fetches app by handle. + * Returns null if the app doesn't exist. + */ + appByHandle?: Maybe; + /** + * Fetches an app by its client ID. + * Returns null if the app doesn't exist. + */ + appByKey?: Maybe; + /** An app discount type. */ + appDiscountType?: Maybe; + /** A list of app discount types installed by apps. */ + appDiscountTypes: Array; + /** Lookup an AppInstallation by ID or return the AppInstallation for the currently authenticated App. */ + appInstallation?: Maybe; + /** A list of app installations. To use this query, you need to contact [Shopify Support](https://partners.shopify.com/current/support/) to grant your custom app the `read_apps` access scope. Public apps can't be granted this access scope. */ + appInstallations: AppInstallationConnection; + /** Returns an Article resource by ID. */ + article?: Maybe
; + /** List of all article tags. */ + articleTags: Array; + /** List of the shop's articles. */ + articles: ArticleConnection; + /** + * The paginated list of fulfillment orders assigned to the shop locations owned by the app. + * + * Assigned fulfillment orders are fulfillment orders that are set to be fulfilled from locations + * managed by + * [fulfillment services](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * that are registered by the app. + * One app (api_client) can host multiple fulfillment services on a shop. + * Each fulfillment service manages a dedicated location on a shop. + * Assigned fulfillment orders can have associated + * [fulfillment requests](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderRequestStatus), + * or might currently not be requested to be fulfilled. + * + * The app must have the `read_assigned_fulfillment_orders` + * [access scope](https://shopify.dev/docs/api/usage/access-scopes) + * to be able to retrieve the fulfillment orders assigned to its locations. + * + * All assigned fulfillment orders (except those with the `CLOSED` status) will be returned by default. + * Perform filtering with the `assignmentStatus` argument + * to receive only fulfillment orders that have been requested to be fulfilled. + */ + assignedFulfillmentOrders: FulfillmentOrderConnection; + /** + * Returns an automatic discount resource by ID. + * @deprecated Use `automaticDiscountNode` instead. + */ + automaticDiscount?: Maybe; + /** Returns an automatic discount resource by ID. */ + automaticDiscountNode?: Maybe; + /** List of automatic discounts. */ + automaticDiscountNodes: DiscountAutomaticNodeConnection; + /** List of the shop's automatic discount saved searches. */ + automaticDiscountSavedSearches: SavedSearchConnection; + /** + * List of automatic discounts. + * @deprecated Use `automaticDiscountNodes` instead. + */ + automaticDiscounts: DiscountAutomaticConnection; + /** Returns a list of activated carrier services and associated shop locations that support them. */ + availableCarrierServices: Array; + /** A list of available locales. */ + availableLocales: Array; + /** Returns a Blog resource by ID. */ + blog?: Maybe; + /** List of the shop's blogs. */ + blogs: BlogConnection; + /** Count of blogs. */ + blogsCount?: Maybe; + /** Returns a list of Business Entities associated with the shop. */ + businessEntities: Array; + /** Returns a Business Entity by ID. */ + businessEntity?: Maybe; + /** Returns a `DeliveryCarrierService` object by ID. */ + carrierService?: Maybe; + /** Retrieve a list of CarrierServices. */ + carrierServices: DeliveryCarrierServiceConnection; + /** List of Cart transform objects owned by the current API client. */ + cartTransforms: CartTransformConnection; + /** Lookup a cash tracking session by ID. */ + cashTrackingSession?: Maybe; + /** + * Returns a shop's cash tracking sessions for locations with a POS Pro subscription. + * + * Tip: To query for cash tracking sessions in bulk, you can + * [perform a bulk operation](https://shopify.dev/docs/api/usage/bulk-operations/queries). + */ + cashTrackingSessions: CashTrackingSessionConnection; + /** Returns a Catalog resource by ID. */ + catalog?: Maybe; + /** Returns the most recent catalog operations for the shop. */ + catalogOperations: Array; + /** The catalogs belonging to the shop. */ + catalogs: CatalogConnection; + /** The count of catalogs belonging to the shop. Limited to a maximum of 10000. */ + catalogsCount?: Maybe; + /** + * Lookup a channel by ID. + * @deprecated Use `publication` instead. + */ + channel?: Maybe; + /** + * List of the active sales channels. + * @deprecated Use `publications` instead. + */ + channels: ChannelConnection; + /** + * Returns the visual customizations for checkout for a given checkout profile. + * + * To learn more about updating checkout branding settings, refer to the + * [checkoutBrandingUpsert](https://shopify.dev/api/admin-graphql/unstable/mutations/checkoutBrandingUpsert) + * mutation and the checkout branding [tutorial](https://shopify.dev/docs/apps/checkout/styling). + */ + checkoutBranding?: Maybe; + /** A checkout profile on a shop. */ + checkoutProfile?: Maybe; + /** List of checkout profiles on a shop. */ + checkoutProfiles: CheckoutProfileConnection; + /** Returns a code discount resource by ID. */ + codeDiscountNode?: Maybe; + /** Returns a code discount identified by its discount code. */ + codeDiscountNodeByCode?: Maybe; + /** + * List of code discounts. Special fields for query params: + * * status: active, expired, scheduled + * * discount_type: bogo, fixed_amount, free_shipping, percentage. + */ + codeDiscountNodes: DiscountCodeNodeConnection; + /** List of the shop's code discount saved searches. */ + codeDiscountSavedSearches: SavedSearchConnection; + /** Returns a Collection resource by ID. */ + collection?: Maybe; + /** Return a collection by its handle. */ + collectionByHandle?: Maybe; + /** Lists all rules that can be used to create smart collections. */ + collectionRulesConditions: Array; + /** Returns a list of the shop's collection saved searches. */ + collectionSavedSearches: SavedSearchConnection; + /** Returns a list of collections. */ + collections: CollectionConnection; + /** Count of collections. Limited to a maximum of 10000. */ + collectionsCount?: Maybe; + /** Returns a Comment resource by ID. */ + comment?: Maybe; + /** List of the shop's comments. */ + comments: CommentConnection; + /** Returns the list of companies in the shop. */ + companies: CompanyConnection; + /** The number of companies for a shop. */ + companiesCount?: Maybe; + /** Returns a `Company` object by ID. */ + company?: Maybe; + /** Returns a `CompanyContact` object by ID. */ + companyContact?: Maybe; + /** Returns a `CompanyContactRole` object by ID. */ + companyContactRole?: Maybe; + /** Returns a `CompanyLocation` object by ID. */ + companyLocation?: Maybe; + /** Returns the list of company locations in the shop. */ + companyLocations: CompanyLocationConnection; + /** Return the AppInstallation for the currently authenticated App. */ + currentAppInstallation: AppInstallation; + /** Returns the current app's most recent BulkOperation. Apps can run one bulk query and one bulk mutation operation at a time, by shop. */ + currentBulkOperation?: Maybe; + /** The staff member making the API request. */ + currentStaffMember?: Maybe; + /** Returns a Customer resource by ID. */ + customer?: Maybe; + /** Returns a customer account page. */ + customerAccountPage?: Maybe; + /** List of the shop's customer account pages. */ + customerAccountPages?: Maybe; + /** Returns the status of a customer merge request job. */ + customerMergeJobStatus?: Maybe; + /** Returns a preview of a customer merge request. */ + customerMergePreview: CustomerMergePreview; + /** Returns a CustomerPaymentMethod resource by its ID. */ + customerPaymentMethod?: Maybe; + /** + * The list of members, such as customers, that's associated with an individual segment. + * The maximum page size is 1000. + */ + customerSegmentMembers: CustomerSegmentMemberConnection; + /** Returns a segment members query resource by ID. */ + customerSegmentMembersQuery?: Maybe; + /** Whether a member, which is a customer, belongs to a segment. */ + customerSegmentMembership: SegmentMembershipResponse; + /** Returns a list of customers. */ + customers: CustomerConnection; + /** The number of customers. */ + customersCount?: Maybe; + /** + * The paginated list of deletion events. + * @deprecated Use `events` instead. + */ + deletionEvents: DeletionEventConnection; + /** The delivery customization. */ + deliveryCustomization?: Maybe; + /** The delivery customizations. */ + deliveryCustomizations: DeliveryCustomizationConnection; + /** Returns a Delivery Profile resource by ID. */ + deliveryProfile?: Maybe; + /** Returns a list of saved delivery profiles. */ + deliveryProfiles: DeliveryProfileConnection; + /** Lookup a delivery promise provider. */ + deliveryPromiseProvider?: Maybe; + /** Returns the shop-wide shipping settings. */ + deliverySettings?: Maybe; + /** The total number of discount codes for the shop. */ + discountCodesCount?: Maybe; + /** Returns a discount resource by ID. */ + discountNode?: Maybe; + /** List of discounts. */ + discountNodes: DiscountNodeConnection; + /** The total number of discounts for the shop. Limited to a maximum of 10000. */ + discountNodesCount?: Maybe; + /** Returns a bulk code creation resource by ID. */ + discountRedeemCodeBulkCreation?: Maybe; + /** List of the shop's redeemed discount code saved searches. */ + discountRedeemCodeSavedSearches: SavedSearchConnection; + /** Returns dispute details based on ID. */ + dispute?: Maybe; + /** Returns dispute evidence details based on ID. */ + disputeEvidence?: Maybe; + /** All disputes related to the Shop. */ + disputes: ShopifyPaymentsDisputeConnection; + /** Lookup a Domain by ID. */ + domain?: Maybe; + /** Returns a DraftOrder resource by ID. */ + draftOrder?: Maybe; + /** List of the shop's draft order saved searches. */ + draftOrderSavedSearches: SavedSearchConnection; + /** Returns a DraftOrderTag resource by ID. */ + draftOrderTag?: Maybe; + /** List of saved draft orders. */ + draftOrders: DraftOrderConnection; + /** Get a single event by its id. */ + event?: Maybe; + /** The paginated list of events associated with the store. */ + events?: Maybe; + /** Count of events. Limited to a maximum of 10000. */ + eventsCount?: Maybe; + /** A list of the shop's file saved searches. */ + fileSavedSearches: SavedSearchConnection; + /** Returns a paginated list of files that have been uploaded to Shopify. */ + files: FileConnection; + /** Returns a Fulfillment resource by ID. */ + fulfillment?: Maybe; + /** The fulfillment constraint rules that belong to a shop. */ + fulfillmentConstraintRules: Array; + /** Returns a Fulfillment order resource by ID. */ + fulfillmentOrder?: Maybe; + /** + * The paginated list of all fulfillment orders. + * The returned fulfillment orders are filtered according to the + * [fulfillment order access scopes](https://shopify.dev/api/admin-graphql/latest/objects/fulfillmentorder#api-access-scopes) + * granted to the app. + * + * Use this query to retrieve fulfillment orders assigned to merchant-managed locations, + * third-party fulfillment service locations, or all kinds of locations together. + * + * For fetching only the fulfillment orders assigned to the app's locations, use the + * [assignedFulfillmentOrders](https://shopify.dev/api/admin-graphql/2024-07/objects/queryroot#connection-assignedfulfillmentorders) + * connection. + */ + fulfillmentOrders: FulfillmentOrderConnection; + /** Returns a FulfillmentService resource by ID. */ + fulfillmentService?: Maybe; + /** Returns a gift card resource by ID. */ + giftCard?: Maybe; + /** Returns a list of gift cards. */ + giftCards: GiftCardConnection; + /** The total number of gift cards issued for the shop. Limited to a maximum of 10000. */ + giftCardsCount?: Maybe; + /** + * Returns an + * [InventoryItem](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryItem) + * object by ID. + */ + inventoryItem?: Maybe; + /** Returns a list of inventory items. */ + inventoryItems: InventoryItemConnection; + /** + * Returns an + * [InventoryLevel](https://shopify.dev/docs/api/admin-graphql/latest/objects/InventoryLevel) + * object by ID. + */ + inventoryLevel?: Maybe; + /** General inventory properties for the shop. */ + inventoryProperties: InventoryProperties; + /** Returns a Job resource by ID. Used to check the status of internal jobs and any applicable changes. */ + job?: Maybe; + /** Returns an inventory Location resource by ID. */ + location?: Maybe; + /** Returns a list of active inventory locations. */ + locations: LocationConnection; + /** + * Returns a list of all origin locations available for a delivery profile. + * @deprecated Use `locationsAvailableForDeliveryProfilesConnection` instead. + */ + locationsAvailableForDeliveryProfiles?: Maybe>; + /** Returns a list of all origin locations available for a delivery profile. */ + locationsAvailableForDeliveryProfilesConnection: LocationConnection; + /** Returns the count of locations for the given shop. Limited to a maximum of 10000. */ + locationsCount?: Maybe; + /** Returns a list of fulfillment orders that are on hold. */ + manualHoldsFulfillmentOrders: FulfillmentOrderConnection; + /** Returns a market resource by ID. */ + market?: Maybe; + /** Returns the applicable market for a customer based on where they are in the world. */ + marketByGeography?: Maybe; + /** A resource that can have localized values for different markets. */ + marketLocalizableResource?: Maybe; + /** Resources that can have localized values for different markets. */ + marketLocalizableResources: MarketLocalizableResourceConnection; + /** Resources that can have localized values for different markets. */ + marketLocalizableResourcesByIds: MarketLocalizableResourceConnection; + /** A list of marketing activities associated with the marketing app. */ + marketingActivities: MarketingActivityConnection; + /** Returns a MarketingActivity resource by ID. */ + marketingActivity?: Maybe; + /** Returns a MarketingEvent resource by ID. */ + marketingEvent?: Maybe; + /** A list of marketing events associated with the marketing app. */ + marketingEvents: MarketingEventConnection; + /** The markets configured for the shop. */ + markets: MarketConnection; + /** Returns a Menu resource by ID. */ + menu?: Maybe; + /** The shop's menus. */ + menus: MenuConnection; + /** Returns a metafield definition by identifier. */ + metafieldDefinition?: Maybe; + /** + * Each metafield definition has a type, which defines the type of information that it can store. + * This type is enforced across every instance of the resource that owns the metafield definition. + * + * Refer to the [list of supported metafield types](https://shopify.dev/apps/metafields/types). + */ + metafieldDefinitionTypes: Array; + /** Returns a list of metafield definitions. */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * List of the `MetafieldStorefrontVisibility` records. + * @deprecated This query will be removed in a future version. Use the `access.storefront` field for nodes inside the `metafieldDefinitions` query instead. + * + */ + metafieldStorefrontVisibilities: MetafieldStorefrontVisibilityConnection; + /** + * Returns a `MetafieldStorefrontVisibility` record by ID. A `MetafieldStorefrontVisibility` record lists the + * metafields to make visible in the Storefront API. + * @deprecated This query will be removed in a future version. Use the `access.storefront` field inside the `metafieldDefinition` query instead. + * + */ + metafieldStorefrontVisibility?: Maybe; + /** Retrieves a metaobject by ID. */ + metaobject?: Maybe; + /** Retrieves a metaobject by handle. */ + metaobjectByHandle?: Maybe; + /** Retrieves a metaobject definition by ID. */ + metaobjectDefinition?: Maybe; + /** Finds a metaobject definition by type. */ + metaobjectDefinitionByType?: Maybe; + /** All metaobject definitions. */ + metaobjectDefinitions: MetaobjectDefinitionConnection; + /** All metaobjects for the shop. */ + metaobjects: MetaobjectConnection; + /** Return a mobile platform application by its ID. */ + mobilePlatformApplication?: Maybe; + /** List the mobile platform applications. */ + mobilePlatformApplications: MobilePlatformApplicationConnection; + /** + * Returns a specific node (any object that implements the + * [Node](https://shopify.dev/api/admin-graphql/latest/interfaces/Node) + * interface) by ID, in accordance with the + * [Relay specification](https://relay.dev/docs/guides/graphql-server-specification/#object-identification). + * This field is commonly used for refetching an object. + */ + node?: Maybe; + /** + * Returns the list of nodes (any objects that implement the + * [Node](https://shopify.dev/api/admin-graphql/latest/interfaces/Node) + * interface) with the given IDs, in accordance with the + * [Relay specification](https://relay.dev/docs/guides/graphql-server-specification/#object-identification). + */ + nodes: Array>; + /** The shop's online store channel. */ + onlineStore: OnlineStore; + /** Returns an Order resource by ID. */ + order?: Maybe; + /** Returns a payment status by payment reference ID. Used to check the status of a deferred payment. */ + orderPaymentStatus?: Maybe; + /** List of the shop's order saved searches. */ + orderSavedSearches: SavedSearchConnection; + /** Returns a list of orders placed in the store. */ + orders: OrderConnection; + /** Returns the count of orders for the given shop. Limited to a maximum of 10000. */ + ordersCount?: Maybe; + /** Returns a Page resource by ID. */ + page?: Maybe; + /** List of the shop's pages. */ + pages: PageConnection; + /** Count of pages. */ + pagesCount?: Maybe; + /** The payment customization. */ + paymentCustomization?: Maybe; + /** The payment customizations. */ + paymentCustomizations: PaymentCustomizationConnection; + /** The list of payment terms templates eligible for all shops and users. */ + paymentTermsTemplates: Array; + /** The number of pendings orders. Limited to a maximum of 10000. */ + pendingOrdersCount?: Maybe; + /** Returns a price list resource by ID. */ + priceList?: Maybe; + /** All price lists for a shop. */ + priceLists: PriceListConnection; + /** The primary market of the shop. */ + primaryMarket: Market; + /** + * Returns a private metafield by ID. + * Private metafields are accessible only by the application that created them. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * Returns a list of private metafields associated to a resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** Returns a Product resource by ID. */ + product?: Maybe; + /** Return a product by its handle. */ + productByHandle?: Maybe; + /** Returns the product duplicate job. */ + productDuplicateJob: ProductDuplicateJob; + /** Returns a ProductFeed resource by ID. */ + productFeed?: Maybe; + /** The product feeds for the shop. */ + productFeeds: ProductFeedConnection; + /** + * Returns a ProductOperation resource by ID. + * + * This can be used to query the + * [ProductSetOperation](https://shopify.dev/api/admin-graphql/current/objects/ProductSetOperation), using + * the ID that was returned + * [when the product was created or updated](https://shopify.dev/api/admin/migrate/new-product-model/sync-data#create-a-product-with-variants-and-options-asynchronously) + * by the + * [ProductSet](https://shopify.dev/api/admin-graphql/current/mutations/productSet) mutation. + * + * The `status` field indicates whether the operation is `CREATED`, `ACTIVE`, or `COMPLETE`. + * + * The `product` field provides the details of the created or updated product. + * + * For the + * [ProductSetOperation](https://shopify.dev/api/admin-graphql/current/objects/ProductSetOperation), the + * `userErrors` field provides mutation errors that occurred during the operation. + */ + productOperation?: Maybe; + /** Returns the product resource feedback for the currently authenticated app. */ + productResourceFeedback?: Maybe; + /** Returns a list of the shop's product saved searches. */ + productSavedSearches: SavedSearchConnection; + /** Returns a ProductVariant resource by ID. */ + productVariant?: Maybe; + /** Returns a list of product variants. */ + productVariants: ProductVariantConnection; + /** Count of product variants. */ + productVariantsCount?: Maybe; + /** Returns a list of products. */ + products: ProductConnection; + /** Count of products. Limited to a maximum of 10000. */ + productsCount?: Maybe; + /** The list of publicly-accessible Admin API versions, including supported versions, the release candidate, and unstable versions. */ + publicApiVersions: Array; + /** Lookup a publication by ID. */ + publication?: Maybe; + /** List of publications. */ + publications: PublicationConnection; + /** Count of publications. */ + publicationsCount?: Maybe; + /** Returns a count of published products by publication ID. */ + publishedProductsCount?: Maybe; + /** Returns a Refund resource by ID. */ + refund?: Maybe; + /** Returns a Return resource by ID. */ + return?: Maybe; + /** The calculated monetary value to be exchanged due to the return. */ + returnCalculate?: Maybe; + /** Lookup a returnable fulfillment by ID. */ + returnableFulfillment?: Maybe; + /** List of returnable fulfillments. */ + returnableFulfillments: ReturnableFulfillmentConnection; + /** Lookup a reverse delivery by ID. */ + reverseDelivery?: Maybe; + /** Lookup a reverse fulfillment order by ID. */ + reverseFulfillmentOrder?: Maybe; + /** + *

Theme app extensions

+ *

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

+ * + *

Script tag deprecation

+ *

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ * + * + * Lookup a script tag resource by ID. + */ + scriptTag?: Maybe; + /** + *

Theme app extensions

+ *

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

+ * + *

Script tag deprecation

+ *

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ * + * + * A list of script tags. + */ + scriptTags: ScriptTagConnection; + /** The Customer Segment. */ + segment?: Maybe; + /** A list of filter suggestions associated with a segment. A segment is a group of members (commonly customers) that meet specific criteria. */ + segmentFilterSuggestions: SegmentFilterConnection; + /** A list of filters. */ + segmentFilters: SegmentFilterConnection; + /** A list of a shop's segment migrations. */ + segmentMigrations: SegmentMigrationConnection; + /** The list of suggested values corresponding to a particular filter for a segment. A segment is a group of members, such as customers, that meet specific criteria. */ + segmentValueSuggestions: SegmentValueConnection; + /** A list of a shop's segments. */ + segments: SegmentConnection; + /** The number of segments for a shop. */ + segmentsCount?: Maybe; + /** Returns a Selling Plan Group resource by ID. */ + sellingPlanGroup?: Maybe; + /** List Selling Plan Groups. */ + sellingPlanGroups: SellingPlanGroupConnection; + /** The server pixel configured by the app. */ + serverPixel?: Maybe; + /** + * 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. + */ + shop: Shop; + /** The shop's billing preferences. */ + shopBillingPreferences: ShopBillingPreferences; + /** A list of locales available on a shop. */ + shopLocales: Array; + /** The Shopify Function. */ + shopifyFunction?: Maybe; + /** Returns the Shopify Functions for apps installed on the shop. */ + shopifyFunctions: ShopifyFunctionConnection; + /** Shopify Payments account information, including balances and payouts. */ + shopifyPaymentsAccount?: Maybe; + /** The StaffMember resource, by ID. */ + staffMember?: Maybe; + /** The shop staff members. */ + staffMembers?: Maybe; + /** + * Standard metafield definitions are intended for specific, common use cases. Their namespace and keys reflect these use cases and are reserved. + * + * Refer to all available [`Standard Metafield Definition Templates`](https://shopify.dev/api/admin-graphql/latest/objects/StandardMetafieldDefinitionTemplate). + */ + standardMetafieldDefinitionTemplates: StandardMetafieldDefinitionTemplateConnection; + /** Returns a store credit account resource by ID. */ + storeCreditAccount?: Maybe; + /** Returns a SubscriptionBillingAttempt by ID. */ + subscriptionBillingAttempt?: Maybe; + /** Returns subscription billing attempts on a store. */ + subscriptionBillingAttempts: SubscriptionBillingAttemptConnection; + /** Returns a subscription billing cycle found either by cycle index or date. */ + subscriptionBillingCycle?: Maybe; + /** + * Retrieves the results of the asynchronous job for the subscription billing cycle bulk action based on the specified job ID. + * This query can be used to obtain the billing cycles that match the criteria defined in the subscriptionBillingCycleBulkSearch and subscriptionBillingCycleBulkCharge mutations. + */ + subscriptionBillingCycleBulkResults: SubscriptionBillingCycleConnection; + /** Returns subscription billing cycles for a contract ID. */ + subscriptionBillingCycles: SubscriptionBillingCycleConnection; + /** Returns a Subscription Contract resource by ID. */ + subscriptionContract?: Maybe; + /** List Subscription Contracts. */ + subscriptionContracts: SubscriptionContractConnection; + /** Returns a Subscription Draft resource by ID. */ + subscriptionDraft?: Maybe; + /** The Taxonomy resource lets you access the categories, attributes and values of the loaded taxonomy tree. */ + taxonomy?: Maybe; + /** Returns a list of TenderTransactions associated with the shop. */ + tenderTransactions: TenderTransactionConnection; + /** Returns a particular theme for the shop. */ + theme?: Maybe; + /** Returns a paginated list of themes for the shop. */ + themes?: Maybe; + /** A resource that can have localized values for different languages. */ + translatableResource?: Maybe; + /** Resources that can have localized values for different languages. */ + translatableResources: TranslatableResourceConnection; + /** Resources that can have localized values for different languages. */ + translatableResourcesByIds: TranslatableResourceConnection; + /** Returns a redirect resource by ID. */ + urlRedirect?: Maybe; + /** Returns a redirect import resource by ID. */ + urlRedirectImport?: Maybe; + /** A list of the shop's URL redirect saved searches. */ + urlRedirectSavedSearches: SavedSearchConnection; + /** A list of redirects for a shop. */ + urlRedirects: UrlRedirectConnection; + /** Count of redirects. Limited to a maximum of 10000. */ + urlRedirectsCount?: Maybe; + /** Validation available on the shop. */ + validation?: Maybe; + /** Validations available on the shop. */ + validations: ValidationConnection; + /** The web pixel configured by the app. */ + webPixel?: Maybe; + /** + * Returns a webhook subscription by ID. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + webhookSubscription?: Maybe; + /** + * Returns a list of webhook subscriptions. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). + */ + webhookSubscriptions: WebhookSubscriptionConnection; + /** + * The count of webhook subscriptions. + * + * Building an app? If you only use app-specific webhooks, you won't need this. App-specific webhook subscriptions specified in your `shopify.app.toml` may be easier. They are automatically kept up to date by Shopify & require less maintenance. Please read [About managing webhook subscriptions](https://shopify.dev/docs/apps/build/webhooks/subscribe). Limited to a maximum of 10000. + */ + webhookSubscriptionsCount?: Maybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAbandonedCheckoutsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAbandonedCheckoutsCountArgs = { + limit?: InputMaybe; + query?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAbandonmentArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAbandonmentByAbandonedCheckoutIdArgs = { + abandonedCheckoutId: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAppArgs = { + id?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAppByHandleArgs = { + handle: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAppByKeyArgs = { + apiKey: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAppDiscountTypeArgs = { + functionId: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAppInstallationArgs = { + id?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAppInstallationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + category?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + privacy?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootArticleArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootArticleTagsArgs = { + limit: Scalars['Int']['input']; + sort?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootArticlesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAssignedFulfillmentOrdersArgs = { + after?: InputMaybe; + assignmentStatus?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + locationIds?: InputMaybe>; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAutomaticDiscountArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAutomaticDiscountNodeArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAutomaticDiscountNodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAutomaticDiscountSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootAutomaticDiscountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootBlogArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootBlogsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootBlogsCountArgs = { + query?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootBusinessEntityArgs = { + id?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCarrierServiceArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCarrierServicesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCartTransformsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCashTrackingSessionArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCashTrackingSessionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCatalogArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCatalogsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; + type?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCatalogsCountArgs = { + query?: InputMaybe; + type?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootChannelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootChannelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCheckoutBrandingArgs = { + checkoutProfileId: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCheckoutProfileArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCheckoutProfilesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCodeDiscountNodeArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCodeDiscountNodeByCodeArgs = { + code: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCodeDiscountNodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCodeDiscountSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCollectionArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCollectionByHandleArgs = { + handle: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCollectionSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCollectionsCountArgs = { + query?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCommentArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCommentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCompaniesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCompanyArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCompanyContactArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCompanyContactRoleArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCompanyLocationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCompanyLocationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCurrentBulkOperationArgs = { + type?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerAccountPageArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerAccountPagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerMergeJobStatusArgs = { + jobId: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerMergePreviewArgs = { + customerOneId: Scalars['ID']['input']; + customerTwoId: Scalars['ID']['input']; + overrideFields?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerPaymentMethodArgs = { + id: Scalars['ID']['input']; + showRevoked?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerSegmentMembersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + queryId?: InputMaybe; + reverse?: InputMaybe; + segmentId?: InputMaybe; + sortKey?: InputMaybe; + timezone?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerSegmentMembersQueryArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomerSegmentMembershipArgs = { + customerId: Scalars['ID']['input']; + segmentIds: Array; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootCustomersCountArgs = { + query?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDeletionEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; + subjectTypes?: InputMaybe>; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDeliveryCustomizationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDeliveryCustomizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDeliveryProfileArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDeliveryProfilesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + merchantOwnedOnly?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDeliveryPromiseProviderArgs = { + locationId: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDiscountCodesCountArgs = { + query?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDiscountNodeArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDiscountNodesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDiscountNodesCountArgs = { + query?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDiscountRedeemCodeBulkCreationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDiscountRedeemCodeSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDisputeArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDisputeEvidenceArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDisputesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDomainArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDraftOrderArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDraftOrderSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDraftOrderTagArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootDraftOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootEventArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootEventsCountArgs = { + query?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootFileSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootFilesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootFulfillmentArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootFulfillmentOrderArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootFulfillmentOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + includeClosed?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootFulfillmentServiceArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootGiftCardArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootGiftCardsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootGiftCardsCountArgs = { + query?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootInventoryItemArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootInventoryItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootInventoryLevelArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootJobArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootLocationArgs = { + id?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootLocationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + includeInactive?: InputMaybe; + includeLegacy?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootLocationsAvailableForDeliveryProfilesConnectionArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootLocationsCountArgs = { + query?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootManualHoldsFulfillmentOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketByGeographyArgs = { + countryCode: CountryCode; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketLocalizableResourceArgs = { + resourceId: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketLocalizableResourcesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + resourceType: MarketLocalizableResourceType; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketLocalizableResourcesByIdsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + resourceIds: Array; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketingActivitiesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + marketingActivityIds?: InputMaybe>; + query?: InputMaybe; + remoteIds?: InputMaybe>; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; + utm?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketingActivityArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketingEventArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketingEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMarketsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMenuArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMenusArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetafieldDefinitionArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + constraintStatus?: InputMaybe; + constraintSubtype?: InputMaybe; + first?: InputMaybe; + key?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + ownerType: MetafieldOwnerType; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetafieldStorefrontVisibilitiesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetafieldStorefrontVisibilityArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetaobjectArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetaobjectByHandleArgs = { + handle: MetaobjectHandleInput; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetaobjectDefinitionArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetaobjectDefinitionByTypeArgs = { + type: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetaobjectDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMetaobjectsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; + type: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMobilePlatformApplicationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootMobilePlatformApplicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootNodeArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootNodesArgs = { + ids: Array; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootOrderArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootOrderPaymentStatusArgs = { + orderId: Scalars['ID']['input']; + paymentReferenceId: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootOrderSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootOrdersCountArgs = { + limit?: InputMaybe; + query?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPageArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPaymentCustomizationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPaymentCustomizationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPaymentTermsTemplatesArgs = { + paymentTermsType?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPriceListArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPriceListsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPrivateMetafieldArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + owner: Scalars['ID']['input']; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductByHandleArgs = { + handle: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductDuplicateJobArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductFeedArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductFeedsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductOperationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductResourceFeedbackArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductVariantArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductVariantsCountArgs = { + query?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootProductsCountArgs = { + limit?: InputMaybe; + query?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPublicationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPublicationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + catalogType?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPublicationsCountArgs = { + catalogType?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootPublishedProductsCountArgs = { + publicationId: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootRefundArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootReturnArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootReturnCalculateArgs = { + input: CalculateReturnInput; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootReturnableFulfillmentArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootReturnableFulfillmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + orderId: Scalars['ID']['input']; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootReverseDeliveryArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootReverseFulfillmentOrderArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootScriptTagArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootScriptTagsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + src?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSegmentArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSegmentFilterSuggestionsArgs = { + after?: InputMaybe; + first: Scalars['Int']['input']; + search: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSegmentFiltersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSegmentMigrationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSegmentValueSuggestionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + filterQueryName?: InputMaybe; + first?: InputMaybe; + functionParameterQueryName?: InputMaybe; + last?: InputMaybe; + search: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSegmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSellingPlanGroupArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSellingPlanGroupsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootShopLocalesArgs = { + published?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootShopifyFunctionArgs = { + id: Scalars['String']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootShopifyFunctionsArgs = { + after?: InputMaybe; + apiType?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + useCreationUi?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootStaffMemberArgs = { + id?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootStaffMembersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootStandardMetafieldDefinitionTemplatesArgs = { + after?: InputMaybe; + before?: InputMaybe; + constraintStatus?: InputMaybe; + constraintSubtype?: InputMaybe; + excludeActivated?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootStoreCreditAccountArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionBillingAttemptArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionBillingAttemptsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionBillingCycleArgs = { + billingCycleInput: SubscriptionBillingCycleInput; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionBillingCycleBulkResultsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + jobId: Scalars['ID']['input']; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionBillingCyclesArgs = { + after?: InputMaybe; + before?: InputMaybe; + billingCyclesDateRangeSelector?: InputMaybe; + billingCyclesIndexRangeSelector?: InputMaybe; + contractId: Scalars['ID']['input']; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionContractArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionContractsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootSubscriptionDraftArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootTenderTransactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootThemeArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootThemesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + names?: InputMaybe>; + reverse?: InputMaybe; + roles?: InputMaybe>; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootTranslatableResourceArgs = { + resourceId: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootTranslatableResourcesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + resourceType: TranslatableResourceType; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootTranslatableResourcesByIdsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + resourceIds: Array; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootUrlRedirectArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootUrlRedirectImportArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootUrlRedirectSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootUrlRedirectsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootUrlRedirectsCountArgs = { + query?: InputMaybe; + savedSearchId?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootValidationArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootValidationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootWebPixelArgs = { + id?: InputMaybe; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootWebhookSubscriptionArgs = { + id: Scalars['ID']['input']; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootWebhookSubscriptionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + callbackUrl?: InputMaybe; + first?: InputMaybe; + format?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; + topics?: InputMaybe>; +}; + + +/** The schema's entry-point for queries. This acts as the public, top-level API from which all queries must start. */ +export type QueryRootWebhookSubscriptionsCountArgs = { + query?: InputMaybe; +}; + +/** The record of the line items and transactions that were refunded to a customer, along with restocking instructions for refunded line items. */ +export type Refund = LegacyInteroperability & Node & { + __typename?: 'Refund'; + /** The date and time when the refund was created. */ + createdAt?: Maybe; + /** A list of the refunded duties as part of this refund. */ + duties?: Maybe>; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The optional note associated with the refund. */ + note?: Maybe; + /** The order associated with the refund. */ + order: Order; + /** The order adjustments that are attached with the refund. */ + orderAdjustments: OrderAdjustmentConnection; + /** The `RefundLineItem` resources attached to the refund. */ + refundLineItems: RefundLineItemConnection; + /** The `RefundShippingLine` resources attached to the refund. */ + refundShippingLines: RefundShippingLineConnection; + /** The return associated with the refund. */ + return?: Maybe; + /** The staff member who created the refund. */ + staffMember?: Maybe; + /** + * The total amount across all transactions for the refund. + * @deprecated Use `totalRefundedSet` instead. + */ + totalRefunded: MoneyV2; + /** The total amount across all transactions for the refund, in shop and presentment currencies. */ + totalRefundedSet: MoneyBag; + /** The transactions associated with the refund. */ + transactions: OrderTransactionConnection; + /** The date and time when the refund was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** The record of the line items and transactions that were refunded to a customer, along with restocking instructions for refunded line items. */ +export type RefundOrderAdjustmentsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The record of the line items and transactions that were refunded to a customer, along with restocking instructions for refunded line items. */ +export type RefundRefundLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The record of the line items and transactions that were refunded to a customer, along with restocking instructions for refunded line items. */ +export type RefundRefundShippingLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** The record of the line items and transactions that were refunded to a customer, along with restocking instructions for refunded line items. */ +export type RefundTransactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An agreement between the merchant and customer to refund all or a portion of the order. */ +export type RefundAgreement = SalesAgreement & { + __typename?: 'RefundAgreement'; + /** The application that created the agreement. */ + app?: Maybe; + /** The date and time at which the agreement occured. */ + happenedAt: Scalars['DateTime']['output']; + /** The unique ID for the agreement. */ + id: Scalars['ID']['output']; + /** The reason the agremeent was created. */ + reason: OrderActionType; + /** The refund associated with the agreement. */ + refund: Refund; + /** The sales associated with the agreement. */ + sales: SaleConnection; + /** The staff member associated with the agreement. */ + user?: Maybe; +}; + + +/** An agreement between the merchant and customer to refund all or a portion of the order. */ +export type RefundAgreementSalesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Refunds. */ +export type RefundConnection = { + __typename?: 'RefundConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in RefundEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `refundCreate` mutation. */ +export type RefundCreatePayload = { + __typename?: 'RefundCreatePayload'; + /** The order associated with the created refund. */ + order?: Maybe; + /** The created refund. */ + refund?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a refunded duty. */ +export type RefundDuty = { + __typename?: 'RefundDuty'; + /** The amount of a refunded duty in shop and presentment currencies. */ + amountSet: MoneyBag; + /** The duty associated with this refunded duty. */ + originalDuty?: Maybe; +}; + +/** The input fields required to reimburse duties on a refund. */ +export type RefundDutyInput = { + /** The ID of the duty in the refund. */ + dutyId: Scalars['ID']['input']; + /** The type of refund for this duty. */ + refundType?: InputMaybe; +}; + +/** The type of refund to perform for a particular refund duty. */ +export enum RefundDutyRefundType { + /** The duty is fully refunded. */ + Full = 'FULL', + /** The duty is proportionally refunded based on the quantity of the refunded line item. */ + Proportional = 'PROPORTIONAL' +} + +/** An auto-generated type which holds one Refund and a cursor during pagination. */ +export type RefundEdge = { + __typename?: 'RefundEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of RefundEdge. */ + node: Refund; +}; + +/** The input fields to create a refund. */ +export type RefundInput = { + /** The currency that is used to refund the order. This must be the presentment currency, which is the currency used by the customer. This is a required field for orders where the currency and presentment currency differ. */ + currency?: InputMaybe; + /** An optional reason for a discrepancy between calculated and actual refund amounts. */ + discrepancyReason?: InputMaybe; + /** An optional note that's attached to the refund. */ + note?: InputMaybe; + /** Whether to send a refund notification to the customer. */ + notify?: InputMaybe; + /** The ID of the order that's being refunded. */ + orderId: Scalars['ID']['input']; + /** A list of duties to refund. */ + refundDuties?: InputMaybe>; + /** A list of line items to refund. */ + refundLineItems?: InputMaybe>; + /** The input fields that are required to reimburse shipping costs. */ + shipping?: InputMaybe; + /** A list of transactions involved in the refund. */ + transactions?: InputMaybe>; +}; + +/** A line item that's included in a refund. */ +export type RefundLineItem = { + __typename?: 'RefundLineItem'; + /** A globally-unique ID. */ + id?: Maybe; + /** The `LineItem` resource associated to the refunded line item. */ + lineItem: LineItem; + /** The inventory restock location. */ + location?: Maybe; + /** + * The price of a refunded line item. + * @deprecated Use `priceSet` instead. + */ + price: Scalars['Money']['output']; + /** The price of a refunded line item in shop and presentment currencies. */ + priceSet: MoneyBag; + /** The quantity of a refunded line item. */ + quantity: Scalars['Int']['output']; + /** The type of restock for the refunded line item. */ + restockType: RefundLineItemRestockType; + /** Whether the refunded line item was restocked. Not applicable in the context of a SuggestedRefund. */ + restocked: Scalars['Boolean']['output']; + /** + * The subtotal price of a refunded line item. + * @deprecated Use `subtotalSet` instead. + */ + subtotal: Scalars['Money']['output']; + /** The subtotal price of a refunded line item in shop and presentment currencies. */ + subtotalSet: MoneyBag; + /** + * The total tax charged on a refunded line item. + * @deprecated Use `totalTaxSet` instead. + */ + totalTax: Scalars['Money']['output']; + /** The total tax charged on a refunded line item in shop and presentment currencies. */ + totalTaxSet: MoneyBag; +}; + +/** An auto-generated type for paginating through multiple RefundLineItems. */ +export type RefundLineItemConnection = { + __typename?: 'RefundLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in RefundLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one RefundLineItem and a cursor during pagination. */ +export type RefundLineItemEdge = { + __typename?: 'RefundLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of RefundLineItemEdge. */ + node: RefundLineItem; +}; + +/** The input fields required to reimburse line items on a refund. */ +export type RefundLineItemInput = { + /** The ID of the line item in the refund. */ + lineItemId: Scalars['ID']['input']; + /** The intended location for restocking. If the `restockType` is set to `NO_RESTOCK`, then this value is empty.` */ + locationId?: InputMaybe; + /** The quantity of the associated line item to be refunded. */ + quantity: Scalars['Int']['input']; + /** The type of restock for this line item. */ + restockType?: InputMaybe; +}; + +/** The type of restock performed for a particular refund line item. */ +export enum RefundLineItemRestockType { + /** The refund line item was canceled. Use this when restocking unfulfilled line items. */ + Cancel = 'CANCEL', + /** Deprecated. The refund line item was restocked, without specifically beingidentified as a return or cancelation. This value is not accepted when creating new refunds. */ + LegacyRestock = 'LEGACY_RESTOCK', + /** Refund line item was not restocked. */ + NoRestock = 'NO_RESTOCK', + /** The refund line item was returned. Use this when restocking line items that were fulfilled. */ + Return = 'RETURN' +} + +/** The input fields for the shipping cost to refund. */ +export type RefundShippingInput = { + /** Whether to refund the full shipping amount. */ + fullRefund?: InputMaybe; + /** + * The input fields required to refund shipping cost, in the presentment currency of the order. + * This overrides the `fullRefund` argument. + */ + shippingRefundAmount?: InputMaybe; +}; + +/** A shipping line item that's included in a refund. */ +export type RefundShippingLine = Node & { + __typename?: 'RefundShippingLine'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The `ShippingLine` resource associated to the refunded shipping line item. */ + shippingLine: ShippingLine; + /** The subtotal amount of the refund shipping line in shop and presentment currencies. */ + subtotalAmountSet: MoneyBag; + /** The tax amount of the refund shipping line in shop and presentment currencies. */ + taxAmountSet: MoneyBag; +}; + +/** An auto-generated type for paginating through multiple RefundShippingLines. */ +export type RefundShippingLineConnection = { + __typename?: 'RefundShippingLineConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in RefundShippingLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one RefundShippingLine and a cursor during pagination. */ +export type RefundShippingLineEdge = { + __typename?: 'RefundShippingLineEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of RefundShippingLineEdge. */ + node: RefundShippingLine; +}; + +/** The input fields for a remote Authorize.net customer payment profile. */ +export type RemoteAuthorizeNetCustomerPaymentProfileInput = { + /** The customerPaymentProfileId value from the Authorize.net API. */ + customerPaymentProfileId?: InputMaybe; + /** The customerProfileId value from the Authorize.net API. */ + customerProfileId: Scalars['String']['input']; +}; + +/** The input fields for a remote Braintree customer payment profile. */ +export type RemoteBraintreePaymentMethodInput = { + /** The `customer_id` value from the Braintree API. */ + customerId: Scalars['String']['input']; + /** The `payment_method_token` value from the Braintree API. */ + paymentMethodToken?: InputMaybe; +}; + +/** The input fields for a remote stripe payment method. */ +export type RemoteStripePaymentMethodInput = { + /** The customer_id value from the Stripe API. */ + customerId: Scalars['String']['input']; + /** The payment_method_id value from the Stripe API. */ + paymentMethodId?: InputMaybe; +}; + +/** + * An alert message that appears in the Shopify admin about a problem with a store resource, with 1 or more actions to take. For example, you could use an alert to indicate that you're not charging taxes on some product variants. + * They can optionally have a specific icon and be dismissed by merchants. + */ +export type ResourceAlert = { + __typename?: 'ResourceAlert'; + /** + * Buttons in the alert that link to related information. + * For example, _Edit variants_. + */ + actions: Array; + /** The secondary text in the alert that includes further information or instructions about how to solve a problem. */ + content: Scalars['HTML']['output']; + /** + * Unique identifier that appears when an alert is manually closed by the merchant. + * Most alerts can't be manually closed. + */ + dismissibleHandle?: Maybe; + /** An icon that's optionally displayed with the alert. */ + icon?: Maybe; + /** Indication of how important the alert is. */ + severity: ResourceAlertSeverity; + /** The primary text in the alert that includes information or describes the problem. */ + title: Scalars['String']['output']; +}; + +/** An action associated to a resource alert, such as editing variants. */ +export type ResourceAlertAction = { + __typename?: 'ResourceAlertAction'; + /** Whether the action appears as a button or as a link. */ + primary: Scalars['Boolean']['output']; + /** Resource for the action to show. */ + show?: Maybe; + /** The text for the button in the alert. For example, _Edit variants_. */ + title: Scalars['String']['output']; + /** The target URL that the button links to. */ + url: Scalars['URL']['output']; +}; + +/** The available icons for resource alerts. */ +export enum ResourceAlertIcon { + /** A checkmark inside a circle. */ + CheckmarkCircle = 'CHECKMARK_CIRCLE', + /** A lowercase `i` inside a circle. */ + InformationCircle = 'INFORMATION_CIRCLE' +} + +/** The possible severity levels for a resource alert. */ +export enum ResourceAlertSeverity { + /** Indicates a critical alert. For example, a blocked app. */ + Critical = 'CRITICAL', + /** Indicates a neutral alert. For example, an accepted dispute. */ + Default = 'DEFAULT', + /** @deprecated `ERROR` severity is being deprecated in favour of `WARNING` or `CRITICAL` instead. */ + Error = 'ERROR', + /** Indicates an informative alert. For example, an escalated dispute. */ + Info = 'INFO', + /** Indicates a success alert. For example, a winning a dispute. */ + Success = 'SUCCESS', + /** Indicates an informative alert. For example, a new dispute. */ + Warning = 'WARNING' +} + +/** Represents feedback from apps about a resource, and the steps required to set up the apps on the shop. */ +export type ResourceFeedback = { + __typename?: 'ResourceFeedback'; + /** + * Feedback from an app about the steps a merchant needs to take to set up the app on their store. + * @deprecated Use `details` instead. + */ + appFeedback: Array; + /** List of AppFeedback detailing issues regarding a resource. */ + details: Array; + /** Summary of resource feedback pertaining to the resource. */ + summary: Scalars['String']['output']; +}; + +/** The input fields for a resource feedback object. */ +export type ResourceFeedbackCreateInput = { + /** + * The date and time when the feedback was generated. Used to help determine whether + * incoming feedback is outdated compared to existing feedback. + */ + feedbackGeneratedAt: Scalars['DateTime']['input']; + /** + * If the feedback state is `requires_action`, then you can send a string message that communicates the action to be taken by the merchant. + * The string must be a single message up to 100 characters long and must end with a period. + * You need to adhere to the message formatting rules or your requests will fail: + * - `[Explanation of the problem]. [Suggested action].` + * + * **Examples:** + * - `[Your app name]` isn't connected. Connect your account to use this sales channel. `[Learn more]` + * - `[Your app name]` isn't configured. Agree to the terms and conditions to use this app. `[Learn more]` + * Both `Your app name` and `Learn more` (a button which directs merchants to your app) are automatically populated in the Shopify admin. + */ + messages?: InputMaybe>; + /** The state of the feedback and whether it requires merchant action. */ + state: ResourceFeedbackState; +}; + +/** The state of the resource feedback. */ +export enum ResourceFeedbackState { + /** No action required from merchant. */ + Accepted = 'ACCEPTED', + /** The merchant needs to resolve an issue with the resource. */ + RequiresAction = 'REQUIRES_ACTION' +} + +/** Represents a merchandising background operation interface. */ +export type ResourceOperation = { + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The count of processed rows, summing imported, failed, and skipped rows. */ + processedRowCount?: Maybe; + /** Represents a rows objects within this background operation. */ + rowCount?: Maybe; + /** The status of this operation. */ + status: ResourceOperationStatus; +}; + +/** Represents the state of this catalog operation. */ +export enum ResourceOperationStatus { + /** Operation is currently running. */ + Active = 'ACTIVE', + /** Operation is complete. */ + Complete = 'COMPLETE', + /** Operation has been created. */ + Created = 'CREATED' +} + +/** + * A resource publication represents information about the publication of a resource. + * An instance of `ResourcePublication`, unlike `ResourcePublicationV2`, can be neither published or scheduled to be published. + * + * See [ResourcePublicationV2](/api/admin-graphql/latest/objects/ResourcePublicationV2) for more context. + */ +export type ResourcePublication = { + __typename?: 'ResourcePublication'; + /** + * The channel the resource publication is published to. + * @deprecated Use `publication` instead. + */ + channel: Channel; + /** + * Whether the resource publication is published. Also returns true if the resource publication is scheduled to be published. + * If false, then the resource publication is neither published nor scheduled to be published. + */ + isPublished: Scalars['Boolean']['output']; + /** The publication the resource publication is published to. */ + publication: Publication; + /** + * The date that the resource publication was or is going to be published to the publication. + * If the product isn't published, then this field returns an epoch timestamp. + */ + publishDate: Scalars['DateTime']['output']; + /** The resource published to the publication. */ + publishable: Publishable; +}; + +/** An auto-generated type for paginating through multiple ResourcePublications. */ +export type ResourcePublicationConnection = { + __typename?: 'ResourcePublicationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ResourcePublicationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ResourcePublication and a cursor during pagination. */ +export type ResourcePublicationEdge = { + __typename?: 'ResourcePublicationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ResourcePublicationEdge. */ + node: ResourcePublication; +}; + +/** + * A resource publication represents information about the publication of a resource. + * Unlike `ResourcePublication`, an instance of `ResourcePublicationV2` can't be unpublished. It must either be published or scheduled to be published. + * + * See [ResourcePublication](/api/admin-graphql/latest/objects/ResourcePublication) for more context. + */ +export type ResourcePublicationV2 = { + __typename?: 'ResourcePublicationV2'; + /** + * Whether the resource publication is published. If true, then the resource publication is published to the publication. + * If false, then the resource publication is staged to be published to the publication. + */ + isPublished: Scalars['Boolean']['output']; + /** The publication the resource publication is published to. */ + publication: Publication; + /** The date that the resource publication was or is going to be published to the publication. */ + publishDate?: Maybe; + /** The resource published to the publication. */ + publishable: Publishable; +}; + +/** An auto-generated type for paginating through multiple ResourcePublicationV2s. */ +export type ResourcePublicationV2Connection = { + __typename?: 'ResourcePublicationV2Connection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ResourcePublicationV2Edge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ResourcePublicationV2 and a cursor during pagination. */ +export type ResourcePublicationV2Edge = { + __typename?: 'ResourcePublicationV2Edge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ResourcePublicationV2Edge. */ + node: ResourcePublicationV2; +}; + +/** + * A restocking fee is a fee captured as part of a return to cover the costs of handling a return line item. + * Typically, this would cover the costs of inspecting, repackaging, and restocking the item. + */ +export type RestockingFee = Fee & { + __typename?: 'RestockingFee'; + /** The amount of the restocking fee, in shop and presentment currencies. */ + amountSet: MoneyBag; + /** The unique ID for the Fee. */ + id: Scalars['ID']['output']; + /** The value of the fee as a percentage. */ + percentage: Scalars['Float']['output']; +}; + +/** The input fields for a restocking fee. */ +export type RestockingFeeInput = { + /** The value of the fee as a percentage. */ + percentage: Scalars['Float']['input']; +}; + +/** Information about product is restricted for a given resource. */ +export type RestrictedForResource = { + __typename?: 'RestrictedForResource'; + /** Returns true when the product is restricted for the given resource. */ + restricted: Scalars['Boolean']['output']; + /** Restriction reason for the given resource. */ + restrictedReason: Scalars['String']['output']; +}; + +/** Represents a return. */ +export type Return = Node & { + __typename?: 'Return'; + /** Additional information about the declined return. */ + decline?: Maybe; + /** The exchange line items attached to the return. */ + exchangeLineItems: ExchangeLineItemConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the return. */ + name: Scalars['String']['output']; + /** The order that the return belongs to. */ + order: Order; + /** The list of refunds associated with the return. */ + refunds: RefundConnection; + /** The return line items attached to the return. */ + returnLineItems: ReturnLineItemTypeConnection; + /** The return shipping fees for the return. */ + returnShippingFees: Array; + /** The list of reverse fulfillment orders for the return. */ + reverseFulfillmentOrders: ReverseFulfillmentOrderConnection; + /** The status of the return. */ + status: ReturnStatus; + /** A suggested refund for the return. */ + suggestedRefund?: Maybe; + /** The sum of all return line item quantities for the return. */ + totalQuantity: Scalars['Int']['output']; +}; + + +/** Represents a return. */ +export type ReturnExchangeLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + includeRemovedItems?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a return. */ +export type ReturnRefundsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a return. */ +export type ReturnReturnLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a return. */ +export type ReturnReverseFulfillmentOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a return. */ +export type ReturnSuggestedRefundArgs = { + refundDuties?: InputMaybe>; + refundShipping?: InputMaybe; + returnRefundLineItems: Array; +}; + +/** An agreement between the merchant and customer for a return. */ +export type ReturnAgreement = SalesAgreement & { + __typename?: 'ReturnAgreement'; + /** The application that created the agreement. */ + app?: Maybe; + /** The date and time at which the agreement occured. */ + happenedAt: Scalars['DateTime']['output']; + /** The unique ID for the agreement. */ + id: Scalars['ID']['output']; + /** The reason the agremeent was created. */ + reason: OrderActionType; + /** The return associated with the agreement. */ + return: Return; + /** The sales associated with the agreement. */ + sales: SaleConnection; + /** The staff member associated with the agreement. */ + user?: Maybe; +}; + + +/** An agreement between the merchant and customer for a return. */ +export type ReturnAgreementSalesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The input fields for approving a customer's return request. */ +export type ReturnApproveRequestInput = { + /** The ID of the return that's being approved. */ + id: Scalars['ID']['input']; + /** + * Notify the customer when a return request is approved. + * The customer will only receive a notification if `Order.email` is present. + */ + notifyCustomer?: InputMaybe; +}; + +/** Return type for `returnApproveRequest` mutation. */ +export type ReturnApproveRequestPayload = { + __typename?: 'ReturnApproveRequestPayload'; + /** The approved return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `returnCancel` mutation. */ +export type ReturnCancelPayload = { + __typename?: 'ReturnCancelPayload'; + /** The canceled return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `returnClose` mutation. */ +export type ReturnClosePayload = { + __typename?: 'ReturnClosePayload'; + /** The closed return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple Returns. */ +export type ReturnConnection = { + __typename?: 'ReturnConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReturnEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `returnCreate` mutation. */ +export type ReturnCreatePayload = { + __typename?: 'ReturnCreatePayload'; + /** The created return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Additional information about why a merchant declined the customer's return request. */ +export type ReturnDecline = { + __typename?: 'ReturnDecline'; + /** + * The notification message sent to the customer about their declined return request. + * Maximum length: 500 characters. + */ + note?: Maybe; + /** The reason the customer's return request was declined. */ + reason: ReturnDeclineReason; +}; + +/** The reason why the merchant declined a customer's return request. */ +export enum ReturnDeclineReason { + /** The return contains final sale items. */ + FinalSale = 'FINAL_SALE', + /** The return is declined for another reason. */ + Other = 'OTHER', + /** The return period has ended. */ + ReturnPeriodEnded = 'RETURN_PERIOD_ENDED' +} + +/** The input fields for declining a customer's return request. */ +export type ReturnDeclineRequestInput = { + /** + * The notification message that's sent to a customer about their declined return request. + * Maximum length: 500 characters. + */ + declineNote?: InputMaybe; + /** The reason why the merchant declined the customer's return request. */ + declineReason: ReturnDeclineReason; + /** The ID of the return that's being declined. */ + id: Scalars['ID']['input']; + /** + * Notify the customer when a return request is declined. + * The customer will only receive a notification if `Order.email` is present. + */ + notifyCustomer?: InputMaybe; +}; + +/** Return type for `returnDeclineRequest` mutation. */ +export type ReturnDeclineRequestPayload = { + __typename?: 'ReturnDeclineRequestPayload'; + /** The declined return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Return and a cursor during pagination. */ +export type ReturnEdge = { + __typename?: 'ReturnEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReturnEdge. */ + node: Return; +}; + +/** Possible error codes that can be returned by `ReturnUserError`. */ +export enum ReturnErrorCode { + /** The requested resource already exists. */ + AlreadyExists = 'ALREADY_EXISTS', + /** The input value is blank. */ + Blank = 'BLANK', + /** A requested resource could not be created. */ + CreationFailed = 'CREATION_FAILED', + /** The input value should be equal to the value allowed. */ + EqualTo = 'EQUAL_TO', + /** A required feature is not enabled. */ + FeatureNotEnabled = 'FEATURE_NOT_ENABLED', + /** The input value should be greater than the minimum allowed value. */ + GreaterThan = 'GREATER_THAN', + /** The input value should be greater than or equal to the minimum value allowed. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** Unexpected internal error happened. */ + InternalError = 'INTERNAL_ERROR', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** A resource was not in the correct state for the operation to succeed. */ + InvalidState = 'INVALID_STATE', + /** The input value should be less than the maximum value allowed. */ + LessThan = 'LESS_THAN', + /** The input value should be less than or equal to the maximum value allowed. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + /** A requested notification could not be sent. */ + NotificationFailed = 'NOTIFICATION_FAILED', + /** The input value is not a number. */ + NotANumber = 'NOT_A_NUMBER', + /** A requested item is not editable. */ + NotEditable = 'NOT_EDITABLE', + /** A requested item could not be found. */ + NotFound = 'NOT_FOUND', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too big. */ + TooBig = 'TOO_BIG', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** Too many arguments provided. */ + TooManyArguments = 'TOO_MANY_ARGUMENTS', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** The input value is the wrong length. */ + WrongLength = 'WRONG_LENGTH' +} + +/** The input fields for a return. */ +export type ReturnInput = { + /** The new line items to be added to the order. */ + exchangeLineItems?: InputMaybe>; + /** When `true` the customer will receive a notification if there's an `Order.email` present. */ + notifyCustomer?: InputMaybe; + /** The ID of the order to be returned. */ + orderId: Scalars['ID']['input']; + /** The UTC date and time when the return was first solicited by the customer. */ + requestedAt?: InputMaybe; + /** The return line items list to be handled. */ + returnLineItems: Array; + /** The return shipping fee to capture. */ + returnShippingFee?: InputMaybe; +}; + +/** A return line item. */ +export type ReturnLineItem = Node & ReturnLineItemType & { + __typename?: 'ReturnLineItem'; + /** A note from the customer that describes the item to be returned. Maximum length: 300 characters. */ + customerNote?: Maybe; + /** The fulfillment line item from which items are returned. */ + fulfillmentLineItem: FulfillmentLineItem; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The quantity being returned. */ + quantity: Scalars['Int']['output']; + /** The quantity that can be refunded. */ + refundableQuantity: Scalars['Int']['output']; + /** The quantity that was refunded. */ + refundedQuantity: Scalars['Int']['output']; + /** The restocking fee for the return line item. */ + restockingFee?: Maybe; + /** The reason for returning the item. */ + returnReason: ReturnReason; + /** Additional information about the reason for the return. Maximum length: 255 characters. */ + returnReasonNote: Scalars['String']['output']; + /** The total weight of the item. */ + totalWeight?: Maybe; + /** The total line price after all discounts on the line item, including both line item level discounts and code-based line item discounts, are applied. */ + withCodeDiscountedTotalPriceSet: MoneyBag; +}; + +/** The input fields for a return line item. */ +export type ReturnLineItemInput = { + /** + * The ID of the fulfillment line item to be returned. + * Specifically, this field expects a `FulfillmentLineItem.id`. + */ + fulfillmentLineItemId: Scalars['ID']['input']; + /** The quantity of the item to be returned. */ + quantity: Scalars['Int']['input']; + /** The restocking fee to capture. */ + restockingFee?: InputMaybe; + /** The reason for the item to be returned. */ + returnReason: ReturnReason; + /** + * A note about the reason that the item is being returned. + * Maximum length: 255 characters. + */ + returnReasonNote?: InputMaybe; +}; + +/** The input fields for a removing a return line item from a return. */ +export type ReturnLineItemRemoveFromReturnInput = { + /** The quantity of the associated return line item to be removed. */ + quantity: Scalars['Int']['input']; + /** The ID of the return line item to remove. */ + returnLineItemId: Scalars['ID']['input']; +}; + +/** Return type for `returnLineItemRemoveFromReturn` mutation. */ +export type ReturnLineItemRemoveFromReturnPayload = { + __typename?: 'ReturnLineItemRemoveFromReturnPayload'; + /** The modified return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A return line item of any type. */ +export type ReturnLineItemType = { + /** A note from the customer that describes the item to be returned. Maximum length: 300 characters. */ + customerNote?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The quantity being returned. */ + quantity: Scalars['Int']['output']; + /** The quantity that can be refunded. */ + refundableQuantity: Scalars['Int']['output']; + /** The quantity that was refunded. */ + refundedQuantity: Scalars['Int']['output']; + /** The reason for returning the item. */ + returnReason: ReturnReason; + /** Additional information about the reason for the return. Maximum length: 255 characters. */ + returnReasonNote: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple ReturnLineItemTypes. */ +export type ReturnLineItemTypeConnection = { + __typename?: 'ReturnLineItemTypeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReturnLineItemTypeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ReturnLineItemType and a cursor during pagination. */ +export type ReturnLineItemTypeEdge = { + __typename?: 'ReturnLineItemTypeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReturnLineItemTypeEdge. */ + node: ReturnLineItemType; +}; + +/** The reason for returning the return line item. */ +export enum ReturnReason { + /** The item is returned because the buyer did not like the color. */ + Color = 'COLOR', + /** The item is returned because it is damaged or defective. */ + Defective = 'DEFECTIVE', + /** The item is returned because it was not as described. */ + NotAsDescribed = 'NOT_AS_DESCRIBED', + /** The item is returned for another reason. For this value, a return reason note is also provided. */ + Other = 'OTHER', + /** The item is returned because the size was too large. */ + SizeTooLarge = 'SIZE_TOO_LARGE', + /** The item is returned because the size was too small. */ + SizeTooSmall = 'SIZE_TOO_SMALL', + /** The item is returned because the buyer did not like the style. */ + Style = 'STYLE', + /** The item is returned because of an unknown reason. */ + Unknown = 'UNKNOWN', + /** The item is returned because the customer changed their mind. */ + Unwanted = 'UNWANTED', + /** The item is returned because the customer received the wrong one. */ + WrongItem = 'WRONG_ITEM' +} + +/** The input fields to refund a return. */ +export type ReturnRefundInput = { + /** Whether to send a refund notification to the customer. */ + notifyCustomer?: InputMaybe; + /** A list of transactions involved in refunding the return. */ + orderTransactions?: InputMaybe>; + /** A list of duties to refund. */ + refundDuties?: InputMaybe>; + /** The shipping amount to refund. */ + refundShipping?: InputMaybe; + /** The ID of the return. */ + returnId: Scalars['ID']['input']; + /** A list of return line items to refund. */ + returnRefundLineItems: Array; +}; + +/** The input fields for a return refund line item. */ +export type ReturnRefundLineItemInput = { + /** The quantity of the return line item to be refunded. */ + quantity: Scalars['Int']['input']; + /** The ID of the return line item to be refunded. */ + returnLineItemId: Scalars['ID']['input']; +}; + +/** The input fields to create order transactions when refunding a return. */ +export type ReturnRefundOrderTransactionInput = { + /** The ID of the parent order transaction. The transaction must be of kind `CAPTURE` or a `SALE`. */ + parentId: Scalars['ID']['input']; + /** The amount of money for the transaction in the presentment currency of the order. */ + transactionAmount: MoneyInput; +}; + +/** Return type for `returnRefund` mutation. */ +export type ReturnRefundPayload = { + __typename?: 'ReturnRefundPayload'; + /** The created refund. */ + refund?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `returnReopen` mutation. */ +export type ReturnReopenPayload = { + __typename?: 'ReturnReopenPayload'; + /** The reopened return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for requesting a return. */ +export type ReturnRequestInput = { + /** The ID of the order that's being returned. */ + orderId: Scalars['ID']['input']; + /** The line items that are being handled in the return. */ + returnLineItems: Array; + /** The return shipping fee to capture. */ + returnShippingFee?: InputMaybe; +}; + +/** The input fields for a return line item. */ +export type ReturnRequestLineItemInput = { + /** + * A note from the customer that describes the item to be returned. + * For example, the note can communicate issues with the item to the merchant. + * Maximum length: 300 characters. + */ + customerNote?: InputMaybe; + /** + * The ID of the fulfillment line item to be returned. + * Specifically, this field expects a `FulfillmentLineItem.id`. + */ + fulfillmentLineItemId: Scalars['ID']['input']; + /** The quantity of the item that's being returned. */ + quantity: Scalars['Int']['input']; + /** The restocking fee to capture. */ + restockingFee?: InputMaybe; + /** The reason why the line item is being returned. */ + returnReason: ReturnReason; +}; + +/** Return type for `returnRequest` mutation. */ +export type ReturnRequestPayload = { + __typename?: 'ReturnRequestPayload'; + /** The requested return. */ + return?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A return shipping fee is a fee captured as part of a return to cover the costs of shipping the return. */ +export type ReturnShippingFee = Fee & { + __typename?: 'ReturnShippingFee'; + /** The amount of the return shipping fee, in shop and presentment currencies. */ + amountSet: MoneyBag; + /** The unique ID for the Fee. */ + id: Scalars['ID']['output']; +}; + +/** The input fields for a return shipping fee. */ +export type ReturnShippingFeeInput = { + /** The value of the fee as a fixed amount in the presentment currency of the order. */ + amount: MoneyInput; +}; + +/** The status of a return. */ +export enum ReturnStatus { + /** The return has been canceled. */ + Canceled = 'CANCELED', + /** The return has been completed. */ + Closed = 'CLOSED', + /** The return was declined. */ + Declined = 'DECLINED', + /** The return is in progress. */ + Open = 'OPEN', + /** The return was requested. */ + Requested = 'REQUESTED' +} + +/** An error that occurs during the execution of a return mutation. */ +export type ReturnUserError = DisplayableError & { + __typename?: 'ReturnUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** + * A returnable fulfillment, which is an order that has been delivered + * and is eligible to be returned to the merchant. + */ +export type ReturnableFulfillment = Node & { + __typename?: 'ReturnableFulfillment'; + /** The fulfillment that the returnable fulfillment refers to. */ + fulfillment: Fulfillment; + /** The unique ID of the Returnable Fulfillment. */ + id: Scalars['ID']['output']; + /** The list of returnable fulfillment line items. */ + returnableFulfillmentLineItems: ReturnableFulfillmentLineItemConnection; +}; + + +/** + * A returnable fulfillment, which is an order that has been delivered + * and is eligible to be returned to the merchant. + */ +export type ReturnableFulfillmentReturnableFulfillmentLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple ReturnableFulfillments. */ +export type ReturnableFulfillmentConnection = { + __typename?: 'ReturnableFulfillmentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReturnableFulfillmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ReturnableFulfillment and a cursor during pagination. */ +export type ReturnableFulfillmentEdge = { + __typename?: 'ReturnableFulfillmentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReturnableFulfillmentEdge. */ + node: ReturnableFulfillment; +}; + +/** A returnable fulfillment line item. */ +export type ReturnableFulfillmentLineItem = { + __typename?: 'ReturnableFulfillmentLineItem'; + /** The fulfillment line item that can be returned. */ + fulfillmentLineItem: FulfillmentLineItem; + /** The quantity available to be returned. */ + quantity: Scalars['Int']['output']; +}; + +/** An auto-generated type for paginating through multiple ReturnableFulfillmentLineItems. */ +export type ReturnableFulfillmentLineItemConnection = { + __typename?: 'ReturnableFulfillmentLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReturnableFulfillmentLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ReturnableFulfillmentLineItem and a cursor during pagination. */ +export type ReturnableFulfillmentLineItemEdge = { + __typename?: 'ReturnableFulfillmentLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReturnableFulfillmentLineItemEdge. */ + node: ReturnableFulfillmentLineItem; +}; + +/** + * A reverse delivery is a post-fulfillment object that represents a buyer sending a package to a merchant. + * For example, a buyer requests a return, and a merchant sends the buyer a shipping label. + * The reverse delivery contains the context of the items sent back, how they're being sent back + * (for example, a shipping label), and the current state of the delivery (tracking information). + */ +export type ReverseDelivery = Node & { + __typename?: 'ReverseDelivery'; + /** The deliverable associated with the reverse delivery. */ + deliverable?: Maybe; + /** The ID of the reverse delivery. */ + id: Scalars['ID']['output']; + /** The reverse delivery line items attached to the reverse delivery. */ + reverseDeliveryLineItems: ReverseDeliveryLineItemConnection; + /** The `ReverseFulfillmentOrder` associated with the reverse delivery. */ + reverseFulfillmentOrder: ReverseFulfillmentOrder; +}; + + +/** + * A reverse delivery is a post-fulfillment object that represents a buyer sending a package to a merchant. + * For example, a buyer requests a return, and a merchant sends the buyer a shipping label. + * The reverse delivery contains the context of the items sent back, how they're being sent back + * (for example, a shipping label), and the current state of the delivery (tracking information). + */ +export type ReverseDeliveryReverseDeliveryLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple ReverseDeliveries. */ +export type ReverseDeliveryConnection = { + __typename?: 'ReverseDeliveryConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReverseDeliveryEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `reverseDeliveryCreateWithShipping` mutation. */ +export type ReverseDeliveryCreateWithShippingPayload = { + __typename?: 'ReverseDeliveryCreateWithShippingPayload'; + /** The created reverse delivery. */ + reverseDelivery?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The delivery method and artifacts associated with a reverse delivery. */ +export type ReverseDeliveryDeliverable = ReverseDeliveryShippingDeliverable; + +/** An auto-generated type which holds one ReverseDelivery and a cursor during pagination. */ +export type ReverseDeliveryEdge = { + __typename?: 'ReverseDeliveryEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReverseDeliveryEdge. */ + node: ReverseDelivery; +}; + +/** The input fields for a reverse label. */ +export type ReverseDeliveryLabelInput = { + /** The URL of the label file. If a label file was uploaded to be attached to the delivery, then provide the temporary staged URL. */ + fileUrl: Scalars['URL']['input']; +}; + +/** The return label file information for a reverse delivery. */ +export type ReverseDeliveryLabelV2 = { + __typename?: 'ReverseDeliveryLabelV2'; + /** The date and time when the reverse delivery label was created. */ + createdAt: Scalars['DateTime']['output']; + /** A public link that can be used to download the label image. */ + publicFileUrl?: Maybe; + /** The date and time when the reverse delivery label was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** The details about a reverse delivery line item. */ +export type ReverseDeliveryLineItem = Node & { + __typename?: 'ReverseDeliveryLineItem'; + /** The dispositions of the item. */ + dispositions: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The expected number of units. */ + quantity: Scalars['Int']['output']; + /** The corresponding reverse fulfillment order line item. */ + reverseFulfillmentOrderLineItem: ReverseFulfillmentOrderLineItem; +}; + +/** An auto-generated type for paginating through multiple ReverseDeliveryLineItems. */ +export type ReverseDeliveryLineItemConnection = { + __typename?: 'ReverseDeliveryLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReverseDeliveryLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ReverseDeliveryLineItem and a cursor during pagination. */ +export type ReverseDeliveryLineItemEdge = { + __typename?: 'ReverseDeliveryLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReverseDeliveryLineItemEdge. */ + node: ReverseDeliveryLineItem; +}; + +/** The input fields for a reverse delivery line item. */ +export type ReverseDeliveryLineItemInput = { + /** The quantity of the item to be included in the delivery. */ + quantity: Scalars['Int']['input']; + /** The ID of the related reverse fulfillment order line item. */ + reverseFulfillmentOrderLineItemId: Scalars['ID']['input']; +}; + +/** A reverse shipping deliverable that may include a label and tracking information. */ +export type ReverseDeliveryShippingDeliverable = { + __typename?: 'ReverseDeliveryShippingDeliverable'; + /** The return label attached to the reverse delivery. */ + label?: Maybe; + /** The information to track the reverse delivery. */ + tracking?: Maybe; +}; + +/** Return type for `reverseDeliveryShippingUpdate` mutation. */ +export type ReverseDeliveryShippingUpdatePayload = { + __typename?: 'ReverseDeliveryShippingUpdatePayload'; + /** The updated reverse delivery. */ + reverseDelivery?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for tracking information about a return delivery. */ +export type ReverseDeliveryTrackingInput = { + /** The tracking number for the label. */ + number?: InputMaybe; + /** The tracking URL for the carrier. If the carrier isn't supported by Shopify, then provide the tracking URL of the delivery. */ + url?: InputMaybe; +}; + +/** Represents the information used to track a reverse delivery. */ +export type ReverseDeliveryTrackingV2 = { + __typename?: 'ReverseDeliveryTrackingV2'; + /** The provider of the tracking information, in a human-readable format for display purposes. */ + carrierName?: Maybe; + /** The identifier used by the courier to identify the shipment. */ + number?: Maybe; + /** The URL to track a shipment. */ + url?: Maybe; +}; + +/** + * A group of one or more items in a return that will be processed at a fulfillment service. + * There can be more than one reverse fulfillment order for a return at a given location. + */ +export type ReverseFulfillmentOrder = Node & { + __typename?: 'ReverseFulfillmentOrder'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The list of reverse fulfillment order line items for the reverse fulfillment order. */ + lineItems: ReverseFulfillmentOrderLineItemConnection; + /** The order associated with the reverse fulfillment order. */ + order: Order; + /** The list of reverse deliveries for the reverse fulfillment order. */ + reverseDeliveries: ReverseDeliveryConnection; + /** The status of the reverse fulfillment order. */ + status: ReverseFulfillmentOrderStatus; + /** + * The current confirmation for the reverse fulfillment order from a third-party logistics service. + * If no third-party service is involved, then this value is `nil`. + */ + thirdPartyConfirmation?: Maybe; +}; + + +/** + * A group of one or more items in a return that will be processed at a fulfillment service. + * There can be more than one reverse fulfillment order for a return at a given location. + */ +export type ReverseFulfillmentOrderLineItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * A group of one or more items in a return that will be processed at a fulfillment service. + * There can be more than one reverse fulfillment order for a return at a given location. + */ +export type ReverseFulfillmentOrderReverseDeliveriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple ReverseFulfillmentOrders. */ +export type ReverseFulfillmentOrderConnection = { + __typename?: 'ReverseFulfillmentOrderConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReverseFulfillmentOrderEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields to dispose a reverse fulfillment order line item. */ +export type ReverseFulfillmentOrderDisposeInput = { + /** The final arrangement for the reverse fulfillment order line item. */ + dispositionType: ReverseFulfillmentOrderDispositionType; + /** + * The ID of the location where the reverse fulfillment order line item is to be disposed. + * This is required when the disposition type is RESTOCKED. + */ + locationId?: InputMaybe; + /** The quantity of the reverse fulfillment order line item to dispose. */ + quantity: Scalars['Int']['input']; + /** The ID of the reverse fulfillment order line item. */ + reverseFulfillmentOrderLineItemId: Scalars['ID']['input']; +}; + +/** Return type for `reverseFulfillmentOrderDispose` mutation. */ +export type ReverseFulfillmentOrderDisposePayload = { + __typename?: 'ReverseFulfillmentOrderDisposePayload'; + /** The disposed reverse fulfillment order line items. */ + reverseFulfillmentOrderLineItems?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The details of the arrangement of an item. */ +export type ReverseFulfillmentOrderDisposition = Node & { + __typename?: 'ReverseFulfillmentOrderDisposition'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The location where the disposition occurred. */ + location?: Maybe; + /** The number of disposed units. */ + quantity: Scalars['Int']['output']; + /** The final arrangement of an item. */ + type: ReverseFulfillmentOrderDispositionType; +}; + +/** The final arrangement of an item from a reverse fulfillment order. */ +export enum ReverseFulfillmentOrderDispositionType { + /** An item that was expected but absent. */ + Missing = 'MISSING', + /** An item that wasn't restocked. */ + NotRestocked = 'NOT_RESTOCKED', + /** An item that requires further processing before being restocked or discarded. */ + ProcessingRequired = 'PROCESSING_REQUIRED', + /** An item that was restocked. */ + Restocked = 'RESTOCKED' +} + +/** An auto-generated type which holds one ReverseFulfillmentOrder and a cursor during pagination. */ +export type ReverseFulfillmentOrderEdge = { + __typename?: 'ReverseFulfillmentOrderEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReverseFulfillmentOrderEdge. */ + node: ReverseFulfillmentOrder; +}; + +/** The details about a reverse fulfillment order line item. */ +export type ReverseFulfillmentOrderLineItem = Node & { + __typename?: 'ReverseFulfillmentOrderLineItem'; + /** The dispositions of the item. */ + dispositions: Array; + /** The corresponding fulfillment line item for a reverse fulfillment order line item. */ + fulfillmentLineItem?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The total number of units to be processed. */ + totalQuantity: Scalars['Int']['output']; +}; + +/** An auto-generated type for paginating through multiple ReverseFulfillmentOrderLineItems. */ +export type ReverseFulfillmentOrderLineItemConnection = { + __typename?: 'ReverseFulfillmentOrderLineItemConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ReverseFulfillmentOrderLineItemEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ReverseFulfillmentOrderLineItem and a cursor during pagination. */ +export type ReverseFulfillmentOrderLineItemEdge = { + __typename?: 'ReverseFulfillmentOrderLineItemEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ReverseFulfillmentOrderLineItemEdge. */ + node: ReverseFulfillmentOrderLineItem; +}; + +/** The status of a reverse fulfillment order. */ +export enum ReverseFulfillmentOrderStatus { + /** The reverse fulfillment order has been canceled. */ + Canceled = 'CANCELED', + /** The reverse fulfillment order has been completed. */ + Closed = 'CLOSED', + /** The reverse fulfillment order is in progress. */ + Open = 'OPEN' +} + +/** The third-party confirmation of a reverse fulfillment order. */ +export type ReverseFulfillmentOrderThirdPartyConfirmation = { + __typename?: 'ReverseFulfillmentOrderThirdPartyConfirmation'; + /** The status of the reverse fulfillment order third-party confirmation. */ + status: ReverseFulfillmentOrderThirdPartyConfirmationStatus; +}; + +/** The status of a reverse fulfillment order third-party confirmation. */ +export enum ReverseFulfillmentOrderThirdPartyConfirmationStatus { + /** The reverse fulfillment order was accepted by the fulfillment service. */ + Accepted = 'ACCEPTED', + /** The reverse fulfillment order cancelation was accepted by the fulfillment service. */ + CancelAccepted = 'CANCEL_ACCEPTED', + /** The reverse fulfillment order cancelation was rejected by the fulfillment service. */ + CancelRejected = 'CANCEL_REJECTED', + /** The reverse fulfillment order is awaiting acceptance by the fulfillment service. */ + PendingAcceptance = 'PENDING_ACCEPTANCE', + /** The reverse fulfillment order is awaiting cancelation by the fulfillment service. */ + PendingCancelation = 'PENDING_CANCELATION', + /** The reverse fulfillment order was rejected by the fulfillment service. */ + Rejected = 'REJECTED' +} + +/** List of possible values for a RiskAssessment result. */ +export enum RiskAssessmentResult { + /** Indicates a high likelihood that the order is fraudulent. */ + High = 'HIGH', + /** Indicates a low likelihood that the order is fraudulent. */ + Low = 'LOW', + /** Indicates a medium likelihood that the order is fraudulent. */ + Medium = 'MEDIUM', + /** Indicates that the risk assessment will not provide a recommendation for the order. */ + None = 'NONE', + /** Indicates that the risk assessment is still pending. */ + Pending = 'PENDING' +} + +/** A risk fact belongs to a single risk assessment and serves to provide additional context for an assessment. Risk facts are not necessarily tied to the result of the recommendation. */ +export type RiskFact = { + __typename?: 'RiskFact'; + /** A description of the fact. */ + description: Scalars['String']['output']; + /** Indicates whether the fact is a negative, neutral or positive contributor with regards to risk. */ + sentiment: RiskFactSentiment; +}; + +/** List of possible values for a RiskFact sentiment. */ +export enum RiskFactSentiment { + /** A negative contributor that increases the risk. */ + Negative = 'NEGATIVE', + /** A neutral contributor with regards to risk. */ + Neutral = 'NEUTRAL', + /** A positive contributor that lowers the risk. */ + Positive = 'POSITIVE' +} + +/** A row count represents rows on background operation. */ +export type RowCount = { + __typename?: 'RowCount'; + /** Estimated number of rows contained within this background operation. */ + count: Scalars['Int']['output']; + /** Whether the operation exceeds max number of reportable rows. */ + exceedsMax: Scalars['Boolean']['output']; +}; + +/** SEO information. */ +export type Seo = { + __typename?: 'SEO'; + /** SEO Description. */ + description?: Maybe; + /** SEO Title. */ + title?: Maybe; +}; + +/** The input fields for SEO information. */ +export type SeoInput = { + /** SEO description of the product. */ + description?: InputMaybe; + /** SEO title of the product. */ + title?: InputMaybe; +}; + +/** An individual sale record associated with a sales agreement. Every money value in an order's sales data is represented in the currency's smallest unit. When amounts are divided across multiple line items, such as taxes or order discounts, the amounts might not divide evenly across all of the line items on the order. To address this, the remaining currency units that couldn't be divided evenly are allocated one at a time, starting with the first line item, until they are all accounted for. In aggregate, the values sum up correctly. In isolation, one line item might have a different tax or discount amount than another line item of the same price, before taxes and discounts. This is because the amount could not be divided evenly across the items. The allocation of currency units across line items is immutable. After they are allocated, currency units are never reallocated or redistributed among the line items. */ +export type Sale = { + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** The possible order action types for a sale. */ +export enum SaleActionType { + /** A purchase or charge. */ + Order = 'ORDER', + /** A removal or return. */ + Return = 'RETURN', + /** An unknown order action. Represents new actions that may be added in future versions. */ + Unknown = 'UNKNOWN', + /** A change to the price, taxes, or discounts for a prior purchase. */ + Update = 'UPDATE' +} + +/** The additional fee details for a line item. */ +export type SaleAdditionalFee = Node & { + __typename?: 'SaleAdditionalFee'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the additional fee. */ + name: Scalars['String']['output']; + /** The price of the additional fee. */ + price: MoneyBag; + /** A list of taxes charged on the additional fee. */ + taxLines: Array; +}; + +/** An auto-generated type for paginating through multiple Sales. */ +export type SaleConnection = { + __typename?: 'SaleConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SaleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one Sale and a cursor during pagination. */ +export type SaleEdge = { + __typename?: 'SaleEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SaleEdge. */ + node: Sale; +}; + +/** The possible line types for a sale record. One of the possible order line types for a sale is an adjustment. Sales adjustments occur when a refund is issued for a line item that is either more or less than the total value of the line item. Examples are restocking fees and goodwill payments. When this happens, Shopify produces a sales agreement with sale records for each line item that is returned or refunded and an additional sale record for the adjustment (for example, a restocking fee). The sales records for the returned or refunded items represent the reversal of the original line item sale value. The additional adjustment sale record represents the difference between the original total value of all line items that were refunded, and the actual amount refunded. */ +export enum SaleLineType { + /** An additional fee. */ + AdditionalFee = 'ADDITIONAL_FEE', + /** A sale adjustment. */ + Adjustment = 'ADJUSTMENT', + /** A duty charge. */ + Duty = 'DUTY', + /** A fee charge. */ + Fee = 'FEE', + /** A gift card. */ + GiftCard = 'GIFT_CARD', + /** A product purchased, returned or exchanged. */ + Product = 'PRODUCT', + /** A shipping cost. */ + Shipping = 'SHIPPING', + /** A tip added by the customer. */ + Tip = 'TIP', + /** An unknown sale line. Represents new types that may be added in future versions. */ + Unknown = 'UNKNOWN' +} + +/** The tax allocated to a sale from a single tax line. */ +export type SaleTax = { + __typename?: 'SaleTax'; + /** The portion of the total tax amount on the related sale that comes from the associated tax line. */ + amount: MoneyBag; + /** The unique ID for the sale tax. */ + id: Scalars['ID']['output']; + /** The tax line associated with the sale. */ + taxLine: TaxLine; +}; + +/** A contract between a merchant and a customer to do business. Shopify creates a sales agreement whenever an order is placed, edited, or refunded. A sales agreement has one or more sales records, which provide itemized details about the initial agreement or subsequent changes made to the order. For example, when a customer places an order, Shopify creates the order, generates a sales agreement, and records a sale for each line item purchased in the order. A sale record is specific to a type of order line. Order lines can represent different things such as a purchased product, a tip added by a customer, shipping costs collected at checkout, and more. */ +export type SalesAgreement = { + /** The application that created the agreement. */ + app?: Maybe; + /** The date and time at which the agreement occured. */ + happenedAt: Scalars['DateTime']['output']; + /** The unique ID for the agreement. */ + id: Scalars['ID']['output']; + /** The reason the agremeent was created. */ + reason: OrderActionType; + /** The sales associated with the agreement. */ + sales: SaleConnection; + /** The staff member associated with the agreement. */ + user?: Maybe; +}; + + +/** A contract between a merchant and a customer to do business. Shopify creates a sales agreement whenever an order is placed, edited, or refunded. A sales agreement has one or more sales records, which provide itemized details about the initial agreement or subsequent changes made to the order. For example, when a customer places an order, Shopify creates the order, generates a sales agreement, and records a sale for each line item purchased in the order. A sale record is specific to a type of order line. Order lines can represent different things such as a purchased product, a tip added by a customer, shipping costs collected at checkout, and more. */ +export type SalesAgreementSalesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple SalesAgreements. */ +export type SalesAgreementConnection = { + __typename?: 'SalesAgreementConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SalesAgreementEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one SalesAgreement and a cursor during pagination. */ +export type SalesAgreementEdge = { + __typename?: 'SalesAgreementEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SalesAgreementEdge. */ + node: SalesAgreement; +}; + +/** A saved search is a representation of a search query saved in the admin. */ +export type SavedSearch = LegacyInteroperability & Node & { + __typename?: 'SavedSearch'; + /** The filters of a saved search. */ + filters: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The name of a saved search. */ + name: Scalars['String']['output']; + /** The query string of a saved search. This includes search terms and filters. */ + query: Scalars['String']['output']; + /** The type of resource this saved search is searching in. */ + resourceType: SearchResultType; + /** The search terms of a saved search. */ + searchTerms: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple SavedSearches. */ +export type SavedSearchConnection = { + __typename?: 'SavedSearchConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SavedSearchEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields to create a saved search. */ +export type SavedSearchCreateInput = { + /** A descriptive name of the saved search. */ + name: Scalars['String']['input']; + /** The query string of a saved search. This includes search terms and filters. */ + query: Scalars['String']['input']; + /** The type of resource this saved search is searching in. */ + resourceType: SearchResultType; +}; + +/** Return type for `savedSearchCreate` mutation. */ +export type SavedSearchCreatePayload = { + __typename?: 'SavedSearchCreatePayload'; + /** The saved search that was created. */ + savedSearch?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to delete a saved search. */ +export type SavedSearchDeleteInput = { + /** ID of the saved search to delete. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `savedSearchDelete` mutation. */ +export type SavedSearchDeletePayload = { + __typename?: 'SavedSearchDeletePayload'; + /** The ID of the saved search that was deleted. */ + deletedSavedSearchId?: Maybe; + /** The shop of the saved search that was deleted. */ + shop: Shop; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one SavedSearch and a cursor during pagination. */ +export type SavedSearchEdge = { + __typename?: 'SavedSearchEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SavedSearchEdge. */ + node: SavedSearch; +}; + +/** The input fields to update a saved search. */ +export type SavedSearchUpdateInput = { + /** ID of the saved search to update. */ + id: Scalars['ID']['input']; + /** A descriptive name of the saved search. */ + name?: InputMaybe; + /** The query string of a saved search. This included search terms and filters. */ + query?: InputMaybe; +}; + +/** Return type for `savedSearchUpdate` mutation. */ +export type SavedSearchUpdatePayload = { + __typename?: 'SavedSearchUpdatePayload'; + /** The saved search that was updated. */ + savedSearch?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The set of valid sort keys for the ScheduledChange query. */ +export enum ScheduledChangeSortKeys { + /** Sort by the `expected_at` value. */ + ExpectedAt = 'EXPECTED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** + * Script discount applications capture the intentions of a discount that + * was created by a Shopify Script for an order's line item or shipping line. + * + * Discount applications don't represent the actual final amount discounted on a line (line item or shipping line). The actual amount discounted on a line is represented by the [DiscountAllocation](https://shopify.dev/api/admin-graphql/latest/objects/discountallocation) object. + */ +export type ScriptDiscountApplication = DiscountApplication & { + __typename?: 'ScriptDiscountApplication'; + /** The method by which the discount's value is applied to its entitled items. */ + allocationMethod: DiscountApplicationAllocationMethod; + /** + * The description of the application as defined by the Script. + * @deprecated Use `title` instead. + */ + description: Scalars['String']['output']; + /** + * An ordered index that can be used to identify the discount application and indicate the precedence + * of the discount application for calculations. + */ + index: Scalars['Int']['output']; + /** How the discount amount is distributed on the discounted lines. */ + targetSelection: DiscountApplicationTargetSelection; + /** Whether the discount is applied on line items or shipping lines. */ + targetType: DiscountApplicationTargetType; + /** The title of the application as defined by the Script. */ + title: Scalars['String']['output']; + /** The value of the discount application. */ + value: PricingValue; +}; + +/** + *

Theme app extensions

+ *

Your app might not pass App Store review if it uses script tags instead of theme app extensions. All new apps, and apps that integrate with Online Store 2.0 themes, should use theme app extensions, such as app blocks or app embed blocks. Script tags are an alternative you can use with only vintage themes. Learn more.

+ * + *

Script tag deprecation

+ *

Script tags will be sunset for the Order status page on August 28, 2025. Upgrade to Checkout Extensibility before this date. Shopify Scripts will continue to work alongside Checkout Extensibility until August 28, 2025.

+ * + * + * A script tag represents remote JavaScript code that is loaded into the pages of a shop's storefront or the **Order status** page of checkout. + */ +export type ScriptTag = LegacyInteroperability & Node & { + __typename?: 'ScriptTag'; + /** + * Whether the Shopify CDN can cache and serve the script tag. + * If `true`, then the script will be cached and served by the CDN. + * The cache expires 15 minutes after the script tag is successfully returned. + * If `false`, then the script will be served as is. + */ + cache: Scalars['Boolean']['output']; + /** The date and time when the script tag was created. */ + createdAt: Scalars['DateTime']['output']; + /** The page or pages on the online store that the script should be included. */ + displayScope: ScriptTagDisplayScope; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The URL to the remote script. */ + src: Scalars['URL']['output']; + /** The date and time when the script tag was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple ScriptTags. */ +export type ScriptTagConnection = { + __typename?: 'ScriptTagConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ScriptTagEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `scriptTagCreate` mutation. */ +export type ScriptTagCreatePayload = { + __typename?: 'ScriptTagCreatePayload'; + /** The script tag that was created. */ + scriptTag?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `scriptTagDelete` mutation. */ +export type ScriptTagDeletePayload = { + __typename?: 'ScriptTagDeletePayload'; + /** The ID of the deleted script tag. */ + deletedScriptTagId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The page or pages on the online store where the script should be included. */ +export enum ScriptTagDisplayScope { + /** Include the script on both the web storefront and the Order status page. */ + All = 'ALL', + /** Include the script only on the web storefront. */ + OnlineStore = 'ONLINE_STORE', + /** Include the script only on the Order status page. */ + OrderStatus = 'ORDER_STATUS' +} + +/** An auto-generated type which holds one ScriptTag and a cursor during pagination. */ +export type ScriptTagEdge = { + __typename?: 'ScriptTagEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ScriptTagEdge. */ + node: ScriptTag; +}; + +/** + * The input fields for a script tag. This input object is used when creating or updating + * a script tag to specify its URL, where it should be included, and how it will be cached. + */ +export type ScriptTagInput = { + /** + * Whether the Shopify CDN can cache and serve the script tag. + * If `true`, then the script will be cached and served by the CDN. + * The cache expires 15 minutes after the script tag is successfully returned. + * If `false`, then the script is served as is. + * The default value is `false`. + */ + cache?: InputMaybe; + /** The page or pages on the online store where the script should be included. */ + displayScope?: InputMaybe; + /** The URL of the remote script. For example: `https://example.com/path/to/script.js`. */ + src?: InputMaybe; +}; + +/** Return type for `scriptTagUpdate` mutation. */ +export type ScriptTagUpdatePayload = { + __typename?: 'ScriptTagUpdatePayload'; + /** The script tag that was updated. */ + scriptTag?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A filter in a search query represented by a key value pair. */ +export type SearchFilter = { + __typename?: 'SearchFilter'; + /** The key of the search filter. */ + key: Scalars['String']['output']; + /** The value of the search filter. */ + value: Scalars['String']['output']; +}; + +/** A list of search filters along with their specific options in value and label pair for filtering. */ +export type SearchFilterOptions = { + __typename?: 'SearchFilterOptions'; + /** A list of options that can be use to filter product availability. */ + productAvailability: Array; +}; + +/** Represents an individual result returned from a search. */ +export type SearchResult = { + __typename?: 'SearchResult'; + /** Returns the search result description text. */ + description?: Maybe; + /** Returns the Image resource presented to accompany a search result. */ + image?: Maybe; + /** Returns the ID of the resource returned in the search result. */ + reference: Node; + /** Returns the resource title. */ + title: Scalars['String']['output']; + /** Returns the absolute URL to the resource in the search result. */ + url: Scalars['URL']['output']; +}; + +/** The connection type for SearchResult. */ +export type SearchResultConnection = { + __typename?: 'SearchResultConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; + /** + * An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. + * @deprecated The provided information is not accurate. + */ + resultsAfterCount: Scalars['Int']['output']; +}; + +/** An auto-generated type which holds one SearchResult and a cursor during pagination. */ +export type SearchResultEdge = { + __typename?: 'SearchResultEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SearchResultEdge. */ + node: SearchResult; +}; + +/** Specifies the type of resources to be returned from a search. */ +export enum SearchResultType { + /** An article. */ + Article = 'ARTICLE', + /** A balance transaction. */ + BalanceTransaction = 'BALANCE_TRANSACTION', + /** A blog. */ + Blog = 'BLOG', + Collection = 'COLLECTION', + Customer = 'CUSTOMER', + /** A code discount redeem code. */ + DiscountRedeemCode = 'DISCOUNT_REDEEM_CODE', + DraftOrder = 'DRAFT_ORDER', + /** A file. */ + File = 'FILE', + Order = 'ORDER', + /** A page. */ + Page = 'PAGE', + PriceRule = 'PRICE_RULE', + Product = 'PRODUCT', + /** A URL redirect. */ + UrlRedirect = 'URL_REDIRECT' +} + +/** A dynamic collection of customers based on specific criteria. */ +export type Segment = Node & { + __typename?: 'Segment'; + /** The date and time when the segment was added to the store. */ + creationDate: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The date and time when the segment was last updated. */ + lastEditDate: Scalars['DateTime']['output']; + /** The name of the segment. */ + name: Scalars['String']['output']; + /** A precise definition of the segment. The definition is composed of a combination of conditions on facts about customers. */ + query: Scalars['String']['output']; +}; + +/** A filter that takes a value that's associated with an object. For example, the `tags` field is associated with the [`Customer`](/api/admin-graphql/latest/objects/Customer) object. */ +export type SegmentAssociationFilter = SegmentFilter & { + __typename?: 'SegmentAssociationFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** The statistics of a given attribute. */ +export type SegmentAttributeStatistics = { + __typename?: 'SegmentAttributeStatistics'; + /** The average of a given attribute. */ + average: Scalars['Float']['output']; + /** The sum of a given attribute. */ + sum: Scalars['Float']['output']; +}; + +/** A filter with a Boolean value that's been added to a segment query. */ +export type SegmentBooleanFilter = SegmentFilter & { + __typename?: 'SegmentBooleanFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple Segments. */ +export type SegmentConnection = { + __typename?: 'SegmentConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SegmentEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `segmentCreate` mutation. */ +export type SegmentCreatePayload = { + __typename?: 'SegmentCreatePayload'; + /** The newly created segment. */ + segment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A filter with a date value that's been added to a segment query. */ +export type SegmentDateFilter = SegmentFilter & { + __typename?: 'SegmentDateFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** Return type for `segmentDelete` mutation. */ +export type SegmentDeletePayload = { + __typename?: 'SegmentDeletePayload'; + /** ID of the deleted segment. */ + deletedSegmentId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Segment and a cursor during pagination. */ +export type SegmentEdge = { + __typename?: 'SegmentEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SegmentEdge. */ + node: Segment; +}; + +/** A filter with a set of possible values that's been added to a segment query. */ +export type SegmentEnumFilter = SegmentFilter & { + __typename?: 'SegmentEnumFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** A filter that's used to segment customers based on the date that an event occured. For example, the `product_bought` event filter allows you to segment customers based on what products they've bought. */ +export type SegmentEventFilter = SegmentFilter & { + __typename?: 'SegmentEventFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The parameters for an event segment filter. */ + parameters: Array; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; + /** The return value type for an event segment filter. */ + returnValueType: Scalars['String']['output']; +}; + +/** The parameters for an event segment filter. */ +export type SegmentEventFilterParameter = { + __typename?: 'SegmentEventFilterParameter'; + /** Whether the parameter accepts a list of values. */ + acceptsMultipleValues: Scalars['Boolean']['output']; + /** The localized description of the parameter. */ + localizedDescription: Scalars['String']['output']; + /** The localized name of the parameter. */ + localizedName: Scalars['String']['output']; + /** Whether the parameter is optional. */ + optional: Scalars['Boolean']['output']; + /** The type of the parameter. */ + parameterType: Scalars['String']['output']; + /** The query name of the parameter. */ + queryName: Scalars['String']['output']; +}; + +/** The filters used in segment queries associated with a shop. */ +export type SegmentFilter = { + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple SegmentFilters. */ +export type SegmentFilterConnection = { + __typename?: 'SegmentFilterConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SegmentFilterEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one SegmentFilter and a cursor during pagination. */ +export type SegmentFilterEdge = { + __typename?: 'SegmentFilterEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SegmentFilterEdge. */ + node: SegmentFilter; +}; + +/** A filter with a double-precision, floating-point value that's been added to a segment query. */ +export type SegmentFloatFilter = SegmentFilter & { + __typename?: 'SegmentFloatFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** A filter with an integer that's been added to a segment query. */ +export type SegmentIntegerFilter = SegmentFilter & { + __typename?: 'SegmentIntegerFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** The response type for the `segmentMembership` object. */ +export type SegmentMembership = { + __typename?: 'SegmentMembership'; + /** A Boolean that indicates whether or not the customer in the query is a member of the segment, which is identified using the `segmentId`. */ + isMember: Scalars['Boolean']['output']; + /** A `segmentId` that's used for testing membership. */ + segmentId: Scalars['ID']['output']; +}; + +/** A list of maps that contain `segmentId` IDs and `isMember` Booleans. The maps represent segment memberships. */ +export type SegmentMembershipResponse = { + __typename?: 'SegmentMembershipResponse'; + /** The membership status for the given list of segments. */ + memberships: Array; +}; + +/** + * A segment and its corresponding saved search. + * For example, you can use `SegmentMigration` to retrieve the segment ID that corresponds to a saved search ID. + */ +export type SegmentMigration = { + __typename?: 'SegmentMigration'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The ID of the saved search. */ + savedSearchId: Scalars['ID']['output']; + /** The ID of the segment. */ + segmentId?: Maybe; +}; + +/** An auto-generated type for paginating through multiple SegmentMigrations. */ +export type SegmentMigrationConnection = { + __typename?: 'SegmentMigrationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SegmentMigrationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one SegmentMigration and a cursor during pagination. */ +export type SegmentMigrationEdge = { + __typename?: 'SegmentMigrationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SegmentMigrationEdge. */ + node: SegmentMigration; +}; + +/** The set of valid sort keys for the Segment query. */ +export enum SegmentSortKeys { + /** Sort by the `creation_date` value. */ + CreationDate = 'CREATION_DATE', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `last_edit_date` value. */ + LastEditDate = 'LAST_EDIT_DATE', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The statistics of a given segment. */ +export type SegmentStatistics = { + __typename?: 'SegmentStatistics'; + /** The statistics of a given attribute. */ + attributeStatistics: SegmentAttributeStatistics; +}; + + +/** The statistics of a given segment. */ +export type SegmentStatisticsAttributeStatisticsArgs = { + attributeName: Scalars['String']['input']; +}; + +/** A filter with a string that's been added to a segment query. */ +export type SegmentStringFilter = SegmentFilter & { + __typename?: 'SegmentStringFilter'; + /** The localized name of the filter. */ + localizedName: Scalars['String']['output']; + /** Whether a file can have multiple values for a single customer. */ + multiValue: Scalars['Boolean']['output']; + /** The query name of the filter. */ + queryName: Scalars['String']['output']; +}; + +/** Return type for `segmentUpdate` mutation. */ +export type SegmentUpdatePayload = { + __typename?: 'SegmentUpdatePayload'; + /** The updated segment. */ + segment?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * A list of suggested values associated with an individual segment. A + * segment is a group of members, such as customers, that meet specific + * criteria. + */ +export type SegmentValue = { + __typename?: 'SegmentValue'; + /** The localized version of the value's name. This name is displayed to the merchant. */ + localizedValue: Scalars['String']['output']; + /** The name of the query associated with the suggestion. */ + queryName: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple SegmentValues. */ +export type SegmentValueConnection = { + __typename?: 'SegmentValueConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SegmentValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one SegmentValue and a cursor during pagination. */ +export type SegmentValueEdge = { + __typename?: 'SegmentValueEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SegmentValueEdge. */ + node: SegmentValue; +}; + +/** + * Properties used by customers to select a product variant. + * Products can have multiple options, like different sizes or colors. + */ +export type SelectedOption = { + __typename?: 'SelectedOption'; + /** The product option’s name. */ + name: Scalars['String']['output']; + /** The product option’s value object. */ + optionValue: ProductOptionValue; + /** The product option’s value. */ + value: Scalars['String']['output']; +}; + +/** The input fields for the selected variant option of the combined listing. */ +export type SelectedVariantOptionInput = { + /** The metaobject value of the linked metafield. */ + linkedMetafieldValue?: InputMaybe; + /** The name of the parent product's option. */ + name: Scalars['String']['input']; + /** The selected option value of the parent product's option. */ + value: Scalars['String']['input']; +}; + +/** + * Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups + * and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing + * up these records if you need to restore them later. + * + * For more information on selling plans, refer to + * [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). + */ +export type SellingPlan = HasMetafieldDefinitions & HasMetafields & HasPublishedTranslations & Node & { + __typename?: 'SellingPlan'; + /** A selling plan policy which describes the recurring billing details. */ + billingPolicy: SellingPlanBillingPolicy; + /** The category used to classify the selling plan for reporting purposes. */ + category?: Maybe; + /** The date and time when the selling plan was created. */ + createdAt: Scalars['DateTime']['output']; + /** A selling plan policy which describes the delivery details. */ + deliveryPolicy: SellingPlanDeliveryPolicy; + /** Buyer facing string which describes the selling plan commitment. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** When to reserve inventory for a selling plan. */ + inventoryPolicy?: Maybe; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * A customer-facing description of the selling plan. + * + * If your store supports multiple currencies, then don't include country-specific pricing content, such as "Buy monthly, get 10$ CAD off". This field won't be converted to reflect different currencies. + */ + name: Scalars['String']['output']; + /** The values of all options available on the selling plan. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values. */ + options: Array; + /** Relative position of the selling plan for display. A lower position will be displayed before a higher position. */ + position?: Maybe; + /** Selling plan pricing details. */ + pricingPolicies: Array; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The published translations associated with the resource. */ + translations: Array; +}; + + +/** + * Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups + * and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing + * up these records if you need to restore them later. + * + * For more information on selling plans, refer to + * [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). + */ +export type SellingPlanMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** + * Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups + * and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing + * up these records if you need to restore them later. + * + * For more information on selling plans, refer to + * [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). + */ +export type SellingPlanMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups + * and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing + * up these records if you need to restore them later. + * + * For more information on selling plans, refer to + * [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). + */ +export type SellingPlanMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups + * and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing + * up these records if you need to restore them later. + * + * For more information on selling plans, refer to + * [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). + */ +export type SellingPlanPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** + * Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups + * and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing + * up these records if you need to restore them later. + * + * For more information on selling plans, refer to + * [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). + */ +export type SellingPlanPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents how a product can be sold and purchased. Selling plans and associated records (selling plan groups + * and policies) are deleted 48 hours after a merchant uninstalls their subscriptions app. We recommend backing + * up these records if you need to restore them later. + * + * For more information on selling plans, refer to + * [*Creating and managing selling plans*](https://shopify.dev/docs/apps/selling-strategies/subscriptions/selling-plans). + */ +export type SellingPlanTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** + * Specifies the date when delivery or fulfillment is completed by a merchant for a given time cycle. You can also + * define a cutoff for which customers are eligible to enter this cycle and the desired behavior for customers who + * start their subscription inside the cutoff period. + * + * Some example scenarios where anchors can be useful to implement advanced delivery behavior: + * - A merchant starts fulfillment on a specific date every month. + * - A merchant wants to bill the 1st of every quarter. + * - A customer expects their delivery every Tuesday. + * + * For more details, see [About Selling Plans](https://shopify.dev/docs/apps/build/purchase-options/subscriptions/selling-plans#anchors). + */ +export type SellingPlanAnchor = { + __typename?: 'SellingPlanAnchor'; + /** + * The cutoff day for the anchor. Specifies a buffer period before the anchor date for orders to be included in a + * delivery or fulfillment cycle. + * + * If `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets + * the days of the week according to ISO 8601, where 1 is Monday. + * + * If `type` is MONTHDAY, then the value must be between 1-31. + * + * If `type` is YEARDAY, then the value must be `null`. + */ + cutoffDay?: Maybe; + /** + * The day of the anchor. + * + * If `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets + * the days of the week according to ISO 8601, where 1 is Monday. + * + * If `type` isn't WEEKDAY, then the value must be between 1-31. + */ + day: Scalars['Int']['output']; + /** + * The month of the anchor. If type is different than YEARDAY, then the value must + * be `null` or between 1-12. + */ + month?: Maybe; + /** Represents the anchor type, it can be one one of WEEKDAY, MONTHDAY, YEARDAY. */ + type: SellingPlanAnchorType; +}; + +/** The input fields required to create or update a selling plan anchor. */ +export type SellingPlanAnchorInput = { + /** + * The cutoff day of the anchor. + * + * If `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets + * the days of the week according to ISO 8601, where 1 is Monday. + * + * If `type` is MONTHDAY, then the value must be between 1-31. + * + * If `type` is YEARDAY, then the value must be `null`. + * + * This field should only be set if the cutoff field for the delivery policy is `null`. + */ + cutoffDay?: InputMaybe; + /** + * The day of the anchor. + * + * If `type` is WEEKDAY, then the value must be between 1-7. Shopify interprets + * the days of the week according to ISO 8601, where 1 is Monday. + * + * If `type` isn't WEEKDAY, then the value must be between 1-31. + */ + day?: InputMaybe; + /** + * The month of the anchor. If type is different than YEARDAY, then the value must + * be `null` or between 1-12. + */ + month?: InputMaybe; + /** Represents the anchor type, must be one of WEEKDAY, MONTHDAY, YEARDAY. */ + type?: InputMaybe; +}; + +/** Represents the anchor type. */ +export enum SellingPlanAnchorType { + /** Which day of the month, between 1-31. */ + Monthday = 'MONTHDAY', + /** Which day of the week, between 1-7. */ + Weekday = 'WEEKDAY', + /** Which days of the month and year, month between 1-12, and day between 1-31. */ + Yearday = 'YEARDAY' +} + +/** + * Represents the billing frequency associated to the selling plan (for example, bill every week, or bill every + * three months). The selling plan billing policy and associated records (selling plan groups, selling plans, pricing + * policies, and delivery policy) are deleted 48 hours after a merchant uninstalls their subscriptions app. + * We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanBillingPolicy = SellingPlanFixedBillingPolicy | SellingPlanRecurringBillingPolicy; + +/** The input fields that are required to create or update a billing policy type. */ +export type SellingPlanBillingPolicyInput = { + /** The fixed billing policy details. */ + fixed?: InputMaybe; + /** The recurring billing policy details. */ + recurring?: InputMaybe; +}; + +/** + * The category of the selling plan. For the `OTHER` category, + * you must fill out our [request form](https://docs.google.com/forms/d/e/1FAIpQLSeU18Xmw0Q61V8wdH-dfGafFqIBfRchQKUO8WAF3yJTvgyyZQ/viewform), + * where we'll review your request for a new purchase option. + */ +export enum SellingPlanCategory { + /** The selling plan is for anything not in one of the other categories. */ + Other = 'OTHER', + /** The selling plan is for pre-orders. */ + PreOrder = 'PRE_ORDER', + /** The selling plan is for subscriptions. */ + Subscription = 'SUBSCRIPTION', + /** The selling plan is for try before you buy purchases. */ + TryBeforeYouBuy = 'TRY_BEFORE_YOU_BUY' +} + +/** The amount charged at checkout when the full amount isn't charged at checkout. */ +export type SellingPlanCheckoutCharge = { + __typename?: 'SellingPlanCheckoutCharge'; + /** The charge type for the checkout charge. */ + type: SellingPlanCheckoutChargeType; + /** The charge value for the checkout charge. */ + value: SellingPlanCheckoutChargeValue; +}; + +/** The input fields that are required to create or update a checkout charge. */ +export type SellingPlanCheckoutChargeInput = { + /** The checkout charge type defined by the policy. */ + type?: InputMaybe; + /** The checkout charge value defined by the policy. */ + value?: InputMaybe; +}; + +/** The percentage value of the price used for checkout charge. */ +export type SellingPlanCheckoutChargePercentageValue = { + __typename?: 'SellingPlanCheckoutChargePercentageValue'; + /** The percentage value of the price used for checkout charge. */ + percentage: Scalars['Float']['output']; +}; + +/** The checkout charge when the full amount isn't charged at checkout. */ +export enum SellingPlanCheckoutChargeType { + /** The checkout charge is a percentage of the product or variant price. */ + Percentage = 'PERCENTAGE', + /** The checkout charge is a fixed price amount. */ + Price = 'PRICE' +} + +/** The portion of the price to be charged at checkout. */ +export type SellingPlanCheckoutChargeValue = MoneyV2 | SellingPlanCheckoutChargePercentageValue; + +/** The input fields required to create or update an checkout charge value. */ +export type SellingPlanCheckoutChargeValueInput = { + /** The fixed value for an checkout charge. */ + fixedValue?: InputMaybe; + /** The percentage value. */ + percentage?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple SellingPlans. */ +export type SellingPlanConnection = { + __typename?: 'SellingPlanConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SellingPlanEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** + * Represents the delivery frequency associated to the selling plan (for example, deliver every month, or deliver + * every other week). The selling plan delivery policy and associated records (selling plan groups, selling plans, + * pricing policies, and billing policy) are deleted 48 hours after a merchant uninstalls their subscriptions app. + * We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanDeliveryPolicy = SellingPlanFixedDeliveryPolicy | SellingPlanRecurringDeliveryPolicy; + +/** The input fields that are required to create or update a delivery policy. */ +export type SellingPlanDeliveryPolicyInput = { + /** The fixed delivery policy details. */ + fixed?: InputMaybe; + /** The recurring delivery policy details. */ + recurring?: InputMaybe; +}; + +/** An auto-generated type which holds one SellingPlan and a cursor during pagination. */ +export type SellingPlanEdge = { + __typename?: 'SellingPlanEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SellingPlanEdge. */ + node: SellingPlan; +}; + +/** + * The fixed selling plan billing policy defines how much of the price of the product will be billed to customer + * at checkout. If there is an outstanding balance, it determines when it will be paid. + */ +export type SellingPlanFixedBillingPolicy = { + __typename?: 'SellingPlanFixedBillingPolicy'; + /** The checkout charge when the full amount isn't charged at checkout. */ + checkoutCharge: SellingPlanCheckoutCharge; + /** The exact time when to capture the full payment. */ + remainingBalanceChargeExactTime?: Maybe; + /** The period after remaining_balance_charge_trigger, before capturing the full payment. Expressed as an ISO8601 duration. */ + remainingBalanceChargeTimeAfterCheckout?: Maybe; + /** When to capture payment for amount due. */ + remainingBalanceChargeTrigger: SellingPlanRemainingBalanceChargeTrigger; +}; + +/** The input fields required to create or update a fixed billing policy. */ +export type SellingPlanFixedBillingPolicyInput = { + /** The checkout charge policy for the selling plan. */ + checkoutCharge?: InputMaybe; + /** The date and time to capture the full payment. */ + remainingBalanceChargeExactTime?: InputMaybe; + /** The period after capturing the payment for the amount due (`remainingBalanceChargeTrigger`), and before capturing the full payment. Expressed as an ISO8601 duration. */ + remainingBalanceChargeTimeAfterCheckout?: InputMaybe; + /** When to capture the payment for the amount due. */ + remainingBalanceChargeTrigger?: InputMaybe; +}; + +/** Represents a fixed selling plan delivery policy. */ +export type SellingPlanFixedDeliveryPolicy = { + __typename?: 'SellingPlanFixedDeliveryPolicy'; + /** The specific anchor dates upon which the delivery interval calculations should be made. */ + anchors: Array; + /** A buffer period for orders to be included in next fulfillment anchor. */ + cutoff?: Maybe; + /** The date and time when the fulfillment should trigger. */ + fulfillmentExactTime?: Maybe; + /** What triggers the fulfillment. The value must be one of ANCHOR, ASAP, EXACT_TIME, or UNKNOWN. */ + fulfillmentTrigger: SellingPlanFulfillmentTrigger; + /** + * Whether the delivery policy is merchant or buyer-centric. + * Buyer-centric delivery policies state the time when the buyer will receive the goods. + * Merchant-centric delivery policies state the time when the fulfillment should be started. + * Currently, only merchant-centric delivery policies are supported. + */ + intent: SellingPlanFixedDeliveryPolicyIntent; + /** The fulfillment or delivery behavior of the first fulfillment when the order is placed before the anchor. The default value for this field is `ASAP`. */ + preAnchorBehavior: SellingPlanFixedDeliveryPolicyPreAnchorBehavior; +}; + +/** The input fields required to create or update a fixed delivery policy. */ +export type SellingPlanFixedDeliveryPolicyInput = { + /** The specific anchor dates upon which the delivery interval calculations should be made. */ + anchors?: InputMaybe>; + /** A buffer period for orders to be included in a cycle. */ + cutoff?: InputMaybe; + /** The date and time when the fulfillment should trigger. */ + fulfillmentExactTime?: InputMaybe; + /** What triggers the fulfillment. */ + fulfillmentTrigger?: InputMaybe; + /** Whether the delivery policy is merchant or buyer-centric. */ + intent?: InputMaybe; + /** The pre-anchor behavior. */ + preAnchorBehavior?: InputMaybe; +}; + +/** Possible intentions of a Delivery Policy. */ +export enum SellingPlanFixedDeliveryPolicyIntent { + /** A merchant-centric delivery policy. Mark this delivery policy to define when the merchant should start fulfillment. */ + FulfillmentBegin = 'FULFILLMENT_BEGIN' +} + +/** The fulfillment or delivery behavior of the first fulfillment when the orderis placed before the anchor. */ +export enum SellingPlanFixedDeliveryPolicyPreAnchorBehavior { + /** Orders placed can be fulfilled / delivered immediately. Orders placed inside a cutoff can be fulfilled / delivered at the next anchor. */ + Asap = 'ASAP', + /** + * Orders placed can be fulfilled / delivered at the next anchor date. + * Orders placed inside a cutoff will skip the next anchor and can be fulfilled / + * delivered at the following anchor. + */ + Next = 'NEXT' +} + +/** + * Represents the pricing policy of a subscription or deferred purchase option selling plan. + * The selling plan fixed pricing policy works with the billing and delivery policy + * to determine the final price. Discounts are divided among fulfillments. + * For example, a subscription with a $10 discount and two deliveries will have a $5 + * discount applied to each delivery. + */ +export type SellingPlanFixedPricingPolicy = SellingPlanPricingPolicyBase & { + __typename?: 'SellingPlanFixedPricingPolicy'; + /** The price adjustment type. */ + adjustmentType: SellingPlanPricingPolicyAdjustmentType; + /** The price adjustment value. */ + adjustmentValue: SellingPlanPricingPolicyAdjustmentValue; + /** The date and time when the fixed selling plan pricing policy was created. */ + createdAt: Scalars['DateTime']['output']; +}; + +/** The input fields required to create or update a fixed selling plan pricing policy. */ +export type SellingPlanFixedPricingPolicyInput = { + /** Price adjustment type defined by the policy. */ + adjustmentType?: InputMaybe; + /** Price adjustment value defined by the policy. */ + adjustmentValue?: InputMaybe; + /** ID of the pricing policy. */ + id?: InputMaybe; +}; + +/** Describes what triggers fulfillment. */ +export enum SellingPlanFulfillmentTrigger { + /** Use the anchor values to calculate fulfillment date. */ + Anchor = 'ANCHOR', + /** As soon as possible. */ + Asap = 'ASAP', + /** At an exact time defined by the fulfillment_exact_time field. */ + ExactTime = 'EXACT_TIME', + /** Unknown. Usually to be determined in the future. */ + Unknown = 'UNKNOWN' +} + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroup = HasPublishedTranslations & Node & { + __typename?: 'SellingPlanGroup'; + /** The ID for app, exposed in Liquid and product JSON. */ + appId?: Maybe; + /** Whether the given product is directly associated to the selling plan group. */ + appliesToProduct: Scalars['Boolean']['output']; + /** Whether the given product variant is directly associated to the selling plan group. */ + appliesToProductVariant: Scalars['Boolean']['output']; + /** Whether any of the product variants of the given product are associated to the selling plan group. */ + appliesToProductVariants: Scalars['Boolean']['output']; + /** The date and time when the selling plan group was created. */ + createdAt: Scalars['DateTime']['output']; + /** The merchant-facing description of the selling plan group. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The merchant-facing label of the selling plan group. */ + merchantCode: Scalars['String']['output']; + /** The buyer-facing label of the selling plan group. */ + name: Scalars['String']['output']; + /** The values of all options available on the selling plan group. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values. */ + options: Array; + /** The relative position of the selling plan group for display. */ + position?: Maybe; + /** Product variants associated to the selling plan group. */ + productVariants: ProductVariantConnection; + /** A count of product variants associated to the selling plan group. */ + productVariantsCount?: Maybe; + /** Products associated to the selling plan group. */ + products: ProductConnection; + /** A count of products associated to the selling plan group. */ + productsCount?: Maybe; + /** Selling plans associated to the selling plan group. */ + sellingPlans: SellingPlanConnection; + /** A summary of the policies associated to the selling plan group. */ + summary?: Maybe; + /** The published translations associated with the resource. */ + translations: Array; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupAppliesToProductArgs = { + productId: Scalars['ID']['input']; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupAppliesToProductVariantArgs = { + productVariantId: Scalars['ID']['input']; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupAppliesToProductVariantsArgs = { + productId: Scalars['ID']['input']; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupProductVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + productId?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupProductVariantsCountArgs = { + productId?: InputMaybe; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupSellingPlansArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Represents a selling method (for example, "Subscribe and save" or "Pre-paid"). Selling plan groups + * and associated records (selling plans and policies) are deleted 48 hours after a merchant + * uninstalls their subscriptions app. We recommend backing up these records if you need to restore them later. + */ +export type SellingPlanGroupTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** Return type for `sellingPlanGroupAddProductVariants` mutation. */ +export type SellingPlanGroupAddProductVariantsPayload = { + __typename?: 'SellingPlanGroupAddProductVariantsPayload'; + /** The updated selling plan group. */ + sellingPlanGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `sellingPlanGroupAddProducts` mutation. */ +export type SellingPlanGroupAddProductsPayload = { + __typename?: 'SellingPlanGroupAddProductsPayload'; + /** The updated selling plan group. */ + sellingPlanGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple SellingPlanGroups. */ +export type SellingPlanGroupConnection = { + __typename?: 'SellingPlanGroupConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SellingPlanGroupEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `sellingPlanGroupCreate` mutation. */ +export type SellingPlanGroupCreatePayload = { + __typename?: 'SellingPlanGroupCreatePayload'; + /** The created selling plan group object. */ + sellingPlanGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `sellingPlanGroupDelete` mutation. */ +export type SellingPlanGroupDeletePayload = { + __typename?: 'SellingPlanGroupDeletePayload'; + /** The ID of the deleted selling plan group object. */ + deletedSellingPlanGroupId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one SellingPlanGroup and a cursor during pagination. */ +export type SellingPlanGroupEdge = { + __typename?: 'SellingPlanGroupEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SellingPlanGroupEdge. */ + node: SellingPlanGroup; +}; + +/** The input fields required to create or update a selling plan group. */ +export type SellingPlanGroupInput = { + /** ID for app, exposed in Liquid and product JSON. */ + appId?: InputMaybe; + /** Merchant facing description of the selling plan group. */ + description?: InputMaybe; + /** Merchant facing label of the selling plan group. */ + merchantCode?: InputMaybe; + /** Buyer facing label of the selling plan group. */ + name?: InputMaybe; + /** The values of all options available on the selling plan group. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values. */ + options?: InputMaybe>; + /** Relative value for display purposes of the selling plan group. A lower position will be displayed before a higher one. */ + position?: InputMaybe; + /** List of selling plans to create. */ + sellingPlansToCreate?: InputMaybe>; + /** List of selling plans ids to delete. */ + sellingPlansToDelete?: InputMaybe>; + /** List of selling plans to update. */ + sellingPlansToUpdate?: InputMaybe>; +}; + +/** Return type for `sellingPlanGroupRemoveProductVariants` mutation. */ +export type SellingPlanGroupRemoveProductVariantsPayload = { + __typename?: 'SellingPlanGroupRemoveProductVariantsPayload'; + /** The removed product variant ids. */ + removedProductVariantIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `sellingPlanGroupRemoveProducts` mutation. */ +export type SellingPlanGroupRemoveProductsPayload = { + __typename?: 'SellingPlanGroupRemoveProductsPayload'; + /** The removed product ids. */ + removedProductIds?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for resource association with a Selling Plan Group. */ +export type SellingPlanGroupResourceInput = { + /** The IDs of the Products to add to the Selling Plan Group. */ + productIds?: InputMaybe>; + /** The IDs of the Variants to add to the Selling Plan Group. */ + productVariantIds?: InputMaybe>; +}; + +/** The set of valid sort keys for the SellingPlanGroup query. */ +export enum SellingPlanGroupSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `name` value. */ + Name = 'NAME', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE', + /** Sort by the `updated_at` value. */ + UpdatedAt = 'UPDATED_AT' +} + +/** Return type for `sellingPlanGroupUpdate` mutation. */ +export type SellingPlanGroupUpdatePayload = { + __typename?: 'SellingPlanGroupUpdatePayload'; + /** The IDs of the deleted Subscription Plans. */ + deletedSellingPlanIds?: Maybe>; + /** The updated Selling Plan Group. */ + sellingPlanGroup?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a selling plan group custom error. */ +export type SellingPlanGroupUserError = DisplayableError & { + __typename?: 'SellingPlanGroupUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `SellingPlanGroupUserError`. */ +export enum SellingPlanGroupUserErrorCode { + /** Billing and delivery policy types must be the same. */ + BillingAndDeliveryPolicyTypesMustBeTheSame = 'BILLING_AND_DELIVERY_POLICY_TYPES_MUST_BE_THE_SAME', + /** Billing policy's interval is too large. */ + BillingPolicyIntervalTooLarge = 'BILLING_POLICY_INTERVAL_TOO_LARGE', + /** The input value is blank. */ + Blank = 'BLANK', + /** A fixed billing policy's checkout charge value and type must match. */ + CheckoutChargeValueAndTypeMustMatch = 'CHECKOUT_CHARGE_VALUE_AND_TYPE_MUST_MATCH', + /** Delivery policy's interval is too large. */ + DeliveryPolicyIntervalTooLarge = 'DELIVERY_POLICY_INTERVAL_TOO_LARGE', + /** The input value should be equal to the value allowed. */ + EqualTo = 'EQUAL_TO', + /** Could not add the resource to the selling plan group. */ + ErrorAddingResourceToGroup = 'ERROR_ADDING_RESOURCE_TO_GROUP', + /** A fixed billing policy's fulfillment_exact_time must not be present when the fulfillment_trigger isn't EXACT_TIME. */ + FulfillmentExactTimeNotAllowed = 'FULFILLMENT_EXACT_TIME_NOT_ALLOWED', + /** A fixed billing policy's fulfillment_exact_time can't be blank when the fulfillment_trigger is EXACT_TIME. */ + FulfillmentExactTimeRequired = 'FULFILLMENT_EXACT_TIME_REQUIRED', + /** The input value should be greater than the minimum allowed value. */ + GreaterThan = 'GREATER_THAN', + /** The input value should be greater than or equal to the minimum value allowed. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** Selling plan group could not be deleted. */ + GroupCouldNotBeDeleted = 'GROUP_COULD_NOT_BE_DELETED', + /** Selling plan group does not exist. */ + GroupDoesNotExist = 'GROUP_DOES_NOT_EXIST', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The input submitted is invalid. */ + InvalidInput = 'INVALID_INPUT', + /** The input value should be less than the maximum value allowed. */ + LessThan = 'LESS_THAN', + /** The input value should be less than or equal to the maximum value allowed. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + /** The input value is not a number. */ + NotANumber = 'NOT_A_NUMBER', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** Only one billing policy type can be defined. */ + OnlyNeedOneBillingPolicyType = 'ONLY_NEED_ONE_BILLING_POLICY_TYPE', + /** A fixed billing policy's checkout charge can have at most one value. */ + OnlyNeedOneCheckoutChargeValue = 'ONLY_NEED_ONE_CHECKOUT_CHARGE_VALUE', + /** Only one delivery policy type can be defined. */ + OnlyNeedOneDeliveryPolicyType = 'ONLY_NEED_ONE_DELIVERY_POLICY_TYPE', + /** Only one pricing policy type can be defined. */ + OnlyNeedOnePricingPolicyType = 'ONLY_NEED_ONE_PRICING_POLICY_TYPE', + /** Only one pricing policy adjustment value type can be defined. */ + OnlyNeedOnePricingPolicyValue = 'ONLY_NEED_ONE_PRICING_POLICY_VALUE', + /** A selling plan can't have both fixed and recurring billing policies. */ + OnlyOneOfFixedOrRecurringBilling = 'ONLY_ONE_OF_FIXED_OR_RECURRING_BILLING', + /** A selling plan can't have both fixed and recurring delivery policies. */ + OnlyOneOfFixedOrRecurringDelivery = 'ONLY_ONE_OF_FIXED_OR_RECURRING_DELIVERY', + /** Selling plan does not exist. */ + PlanDoesNotExist = 'PLAN_DOES_NOT_EXIST', + /** Selling plan ID must be specified to update. */ + PlanIdMustBeSpecifiedToUpdate = 'PLAN_ID_MUST_BE_SPECIFIED_TO_UPDATE', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** Pricing policy's adjustment value and adjustment type must match. */ + PricingPolicyAdjustmentValueAndTypeMustMatch = 'PRICING_POLICY_ADJUSTMENT_VALUE_AND_TYPE_MUST_MATCH', + /** Product does not exist. */ + ProductDoesNotExist = 'PRODUCT_DOES_NOT_EXIST', + /** Product variant does not exist. */ + ProductVariantDoesNotExist = 'PRODUCT_VARIANT_DOES_NOT_EXIST', + /** A fixed billing policy's remaining_balance_charge_exact_time must not be present when the remaining_balance_charge_trigger isn't EXACT_TIME. */ + RemainingBalanceChargeExactTimeNotAllowed = 'REMAINING_BALANCE_CHARGE_EXACT_TIME_NOT_ALLOWED', + /** A fixed billing policy's remaining_balance_charge_exact_time can't be blank when the remaining_balance_charge_trigger is EXACT_TIME. */ + RemainingBalanceChargeExactTimeRequired = 'REMAINING_BALANCE_CHARGE_EXACT_TIME_REQUIRED', + /** A fixed billing policy's remaining_balance_charge_time_after_checkout must be present and greater than zero when the remaining_balance_charge_trigger is TIME_AFTER_CHECKOUT. */ + RemainingBalanceChargeTimeAfterCheckoutMustBeGreaterThanZero = 'REMAINING_BALANCE_CHARGE_TIME_AFTER_CHECKOUT_MUST_BE_GREATER_THAN_ZERO', + /** A fixed billing policy's remaining_balance_charge_trigger can't be NO_REMAINING_BALANCE when the checkout_charge_type is PERCENTAGE and checkout_charge_value is less than 100. */ + RemainingBalanceChargeTriggerNoRemainingBalanceOnPartialPercentageCheckoutCharge = 'REMAINING_BALANCE_CHARGE_TRIGGER_NO_REMAINING_BALANCE_ON_PARTIAL_PERCENTAGE_CHECKOUT_CHARGE', + /** A fixed billing policy's remaining_balance_charge_trigger can't be NO_REMAINING_BALANCE when the checkout_charge_type is PRICE. */ + RemainingBalanceChargeTriggerNoRemainingBalanceOnPriceCheckoutCharge = 'REMAINING_BALANCE_CHARGE_TRIGGER_NO_REMAINING_BALANCE_ON_PRICE_CHECKOUT_CHARGE', + /** A fixed billing policy's remaining_balance_charge_trigger must be NO_REMAINING_BALANCE when the checkout_charge_type is PERCENTAGE and checkout_charge_value is 100. */ + RemainingBalanceChargeTriggerOnFullCheckout = 'REMAINING_BALANCE_CHARGE_TRIGGER_ON_FULL_CHECKOUT', + /** The selling plan list provided contains 1 or more invalid IDs. */ + ResourceListContainsInvalidIds = 'RESOURCE_LIST_CONTAINS_INVALID_IDS', + /** A fixed delivery policy's anchors must not be present when the fulfillment_trigger isn't ANCHOR. */ + SellingPlanAnchorsNotAllowed = 'SELLING_PLAN_ANCHORS_NOT_ALLOWED', + /** A fixed delivery policy's anchors must be present when the fulfillment_trigger is ANCHOR. */ + SellingPlanAnchorsRequired = 'SELLING_PLAN_ANCHORS_REQUIRED', + /** Selling plan's billing and delivery policies anchors must be equal. */ + SellingPlanBillingAndDeliveryPolicyAnchorsMustBeEqual = 'SELLING_PLAN_BILLING_AND_DELIVERY_POLICY_ANCHORS_MUST_BE_EQUAL', + /** Selling plan's billing cycle must be a multiple of delivery cycle. */ + SellingPlanBillingCycleMustBeAMultipleOfDeliveryCycle = 'SELLING_PLAN_BILLING_CYCLE_MUST_BE_A_MULTIPLE_OF_DELIVERY_CYCLE', + /** Missing billing policy. */ + SellingPlanBillingPolicyMissing = 'SELLING_PLAN_BILLING_POLICY_MISSING', + /** Must include at least one selling plan. */ + SellingPlanCountLowerBound = 'SELLING_PLAN_COUNT_LOWER_BOUND', + /** Exceeded the selling plan limit (31). */ + SellingPlanCountUpperBound = 'SELLING_PLAN_COUNT_UPPER_BOUND', + /** Missing delivery policy. */ + SellingPlanDeliveryPolicyMissing = 'SELLING_PLAN_DELIVERY_POLICY_MISSING', + /** Cannot have multiple selling plans with the same name. */ + SellingPlanDuplicateName = 'SELLING_PLAN_DUPLICATE_NAME', + /** Cannot have multiple selling plans with the same options. */ + SellingPlanDuplicateOptions = 'SELLING_PLAN_DUPLICATE_OPTIONS', + /** A fixed selling plan can have at most one pricing policy. */ + SellingPlanFixedPricingPoliciesLimit = 'SELLING_PLAN_FIXED_PRICING_POLICIES_LIMIT', + /** Selling plan's billing policy max cycles must be greater than min cycles. */ + SellingPlanMaxCyclesMustBeGreaterThanMinCycles = 'SELLING_PLAN_MAX_CYCLES_MUST_BE_GREATER_THAN_MIN_CYCLES', + /** Cannot define option2 on this selling plan as there's no label on the parent selling plan group. */ + SellingPlanMissingOption2LabelOnParentGroup = 'SELLING_PLAN_MISSING_OPTION2_LABEL_ON_PARENT_GROUP', + /** Cannot define option3 on this selling plan as there's no label on the parent selling plan group. */ + SellingPlanMissingOption3LabelOnParentGroup = 'SELLING_PLAN_MISSING_OPTION3_LABEL_ON_PARENT_GROUP', + /** Selling plan's option2 is required because option2 exists. */ + SellingPlanOption2RequiredAsDefinedOnParentGroup = 'SELLING_PLAN_OPTION2_REQUIRED_AS_DEFINED_ON_PARENT_GROUP', + /** Selling plan's option3 is required because option3 exists. */ + SellingPlanOption3RequiredAsDefinedOnParentGroup = 'SELLING_PLAN_OPTION3_REQUIRED_AS_DEFINED_ON_PARENT_GROUP', + /** Selling plans can't have more than 2 pricing policies. */ + SellingPlanPricingPoliciesLimit = 'SELLING_PLAN_PRICING_POLICIES_LIMIT', + /** Selling plan's pricing policies must contain one fixed pricing policy. */ + SellingPlanPricingPoliciesMustContainAFixedPricingPolicy = 'SELLING_PLAN_PRICING_POLICIES_MUST_CONTAIN_A_FIXED_PRICING_POLICY', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too big. */ + TooBig = 'TOO_BIG', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** The input value is the wrong length. */ + WrongLength = 'WRONG_LENGTH' +} + +/** The input fields to create or update a selling plan. */ +export type SellingPlanInput = { + /** Selling plan policy which describes the billing details. */ + billingPolicy?: InputMaybe; + /** The category used to classify this selling plan for reporting purposes. */ + category?: InputMaybe; + /** A selling plan policy which describes the delivery details. */ + deliveryPolicy?: InputMaybe; + /** Buyer facing string which describes the selling plan commitment. */ + description?: InputMaybe; + /** ID of the selling plan. */ + id?: InputMaybe; + /** A selling plan policy which describes the inventory details. */ + inventoryPolicy?: InputMaybe; + /** Additional customizable information to associate with the SellingPlan. */ + metafields?: InputMaybe>; + /** Buyer facing string which describes the selling plan content. */ + name?: InputMaybe; + /** The values of all options available on the selling plan. Selling plans are grouped together in Liquid when they're created by the same app, and have the same `selling_plan_group.name` and `selling_plan_group.options` values. */ + options?: InputMaybe>; + /** Relative value for display purposes of this plan. A lower position will be displayed before a higher one. */ + position?: InputMaybe; + /** + * The pricing policies which describe the pricing details. Each selling plan + * can only contain a maximum of 2 pricing policies. + */ + pricingPolicies?: InputMaybe>; +}; + +/** Represents valid selling plan interval. */ +export enum SellingPlanInterval { + /** Day interval. */ + Day = 'DAY', + /** Month interval. */ + Month = 'MONTH', + /** Week interval. */ + Week = 'WEEK', + /** Year interval. */ + Year = 'YEAR' +} + +/** The selling plan inventory policy. */ +export type SellingPlanInventoryPolicy = { + __typename?: 'SellingPlanInventoryPolicy'; + /** When to reserve inventory for the order. */ + reserve: SellingPlanReserve; +}; + +/** The input fields required to create or update an inventory policy. */ +export type SellingPlanInventoryPolicyInput = { + /** When to reserve inventory for the order. The value must be ON_FULFILLMENT or ON_SALE. */ + reserve?: InputMaybe; +}; + +/** + * Represents the type of pricing associated to the selling plan (for example, a $10 or 20% discount that is set + * for a limited period or that is fixed for the duration of the subscription). Selling plan pricing policies and + * associated records (selling plan groups, selling plans, billing policy, and delivery policy) are deleted 48 + * hours after a merchant uninstalls their subscriptions app. We recommend backing up these records if you need + * to restore them later. + */ +export type SellingPlanPricingPolicy = SellingPlanFixedPricingPolicy | SellingPlanRecurringPricingPolicy; + +/** Represents a selling plan pricing policy adjustment type. */ +export enum SellingPlanPricingPolicyAdjustmentType { + /** Fixed amount off adjustment. */ + FixedAmount = 'FIXED_AMOUNT', + /** Percentage off adjustment. */ + Percentage = 'PERCENTAGE', + /** Price of the policy. */ + Price = 'PRICE' +} + +/** Represents a selling plan pricing policy adjustment value type. */ +export type SellingPlanPricingPolicyAdjustmentValue = MoneyV2 | SellingPlanPricingPolicyPercentageValue; + +/** Represents selling plan pricing policy common fields. */ +export type SellingPlanPricingPolicyBase = { + /** The price adjustment type. */ + adjustmentType: SellingPlanPricingPolicyAdjustmentType; + /** The price adjustment value. */ + adjustmentValue: SellingPlanPricingPolicyAdjustmentValue; +}; + +/** The input fields required to create or update a selling plan pricing policy. */ +export type SellingPlanPricingPolicyInput = { + /** Fixed pricing policy details. */ + fixed?: InputMaybe; + /** Recurring pricing policy details. */ + recurring?: InputMaybe; +}; + +/** The percentage value of a selling plan pricing policy percentage type. */ +export type SellingPlanPricingPolicyPercentageValue = { + __typename?: 'SellingPlanPricingPolicyPercentageValue'; + /** The percentage value. */ + percentage: Scalars['Float']['output']; +}; + +/** The input fields required to create or update a pricing policy adjustment value. */ +export type SellingPlanPricingPolicyValueInput = { + /** The fixed value for an fixed amount off or a new policy price. */ + fixedValue?: InputMaybe; + /** The percentage value. */ + percentage?: InputMaybe; +}; + +/** Represents a recurring selling plan billing policy. */ +export type SellingPlanRecurringBillingPolicy = { + __typename?: 'SellingPlanRecurringBillingPolicy'; + /** Specific anchor dates upon which the billing interval calculations should be made. */ + anchors: Array; + /** The date and time when the selling plan billing policy was created. */ + createdAt: Scalars['DateTime']['output']; + /** The billing frequency, it can be either: day, week, month or year. */ + interval: SellingPlanInterval; + /** The number of intervals between billings. */ + intervalCount: Scalars['Int']['output']; + /** Maximum number of billing iterations. */ + maxCycles?: Maybe; + /** Minimum number of billing iterations. */ + minCycles?: Maybe; +}; + +/** The input fields required to create or update a recurring billing policy. */ +export type SellingPlanRecurringBillingPolicyInput = { + /** Specific anchor dates upon which the billing interval calculations should be made. */ + anchors?: InputMaybe>; + /** The billing frequency, it can be either: day, week, month or year. */ + interval?: InputMaybe; + /** The number of intervals between billings. */ + intervalCount?: InputMaybe; + /** Maximum number of billing iterations. */ + maxCycles?: InputMaybe; + /** Minimum number of billing iterations. */ + minCycles?: InputMaybe; +}; + +/** Represents a recurring selling plan delivery policy. */ +export type SellingPlanRecurringDeliveryPolicy = { + __typename?: 'SellingPlanRecurringDeliveryPolicy'; + /** The specific anchor dates upon which the delivery interval calculations should be made. */ + anchors: Array; + /** The date and time when the selling plan delivery policy was created. */ + createdAt: Scalars['DateTime']['output']; + /** Number of days which represent a buffer period for orders to be included in a cycle. */ + cutoff?: Maybe; + /** + * Whether the delivery policy is merchant or buyer-centric. + * Buyer-centric delivery policies state the time when the buyer will receive the goods. + * Merchant-centric delivery policies state the time when the fulfillment should be started. + * Currently, only merchant-centric delivery policies are supported. + */ + intent: SellingPlanRecurringDeliveryPolicyIntent; + /** The delivery frequency, it can be either: day, week, month or year. */ + interval: SellingPlanInterval; + /** The number of intervals between deliveries. */ + intervalCount: Scalars['Int']['output']; + /** The fulfillment or delivery behavior of the first fulfillment when the order is placed before the anchor. The default value for this field is `ASAP`. */ + preAnchorBehavior: SellingPlanRecurringDeliveryPolicyPreAnchorBehavior; +}; + +/** The input fields to create or update a recurring delivery policy. */ +export type SellingPlanRecurringDeliveryPolicyInput = { + /** The specific anchor dates upon which the delivery interval calculations should be made. */ + anchors?: InputMaybe>; + /** A buffer period for orders to be included in a cycle. */ + cutoff?: InputMaybe; + /** Intention of this delivery policy, it can be either: delivery or fulfillment. */ + intent?: InputMaybe; + /** The delivery frequency, it can be either: day, week, month or year. */ + interval?: InputMaybe; + /** The number of intervals between deliveries. */ + intervalCount?: InputMaybe; + /** The pre-anchor behavior. It can be either: asap or next. */ + preAnchorBehavior?: InputMaybe; +}; + +/** Whether the delivery policy is merchant or buyer-centric. */ +export enum SellingPlanRecurringDeliveryPolicyIntent { + /** A merchant-centric delivery policy. Mark this delivery policy to define when the merchant should start fulfillment. */ + FulfillmentBegin = 'FULFILLMENT_BEGIN' +} + +/** The fulfillment or delivery behaviors of the first fulfillment when the orderis placed before the anchor. */ +export enum SellingPlanRecurringDeliveryPolicyPreAnchorBehavior { + /** The orders placed can be fulfilled or delivered immediately. The orders placed inside a cutoff can be fulfilled or delivered at the next anchor. */ + Asap = 'ASAP', + /** + * The orders placed can be fulfilled or delivered at the next anchor date. + * The orders placed inside a cutoff will skip the next anchor and can be fulfilled or + * delivered at the following anchor. + */ + Next = 'NEXT' +} + +/** Represents a recurring selling plan pricing policy. It applies after the fixed pricing policy. By using the afterCycle parameter, you can specify the cycle when the recurring pricing policy comes into effect. Recurring pricing policies are not available for deferred purchase options. */ +export type SellingPlanRecurringPricingPolicy = SellingPlanPricingPolicyBase & { + __typename?: 'SellingPlanRecurringPricingPolicy'; + /** The price adjustment type. */ + adjustmentType: SellingPlanPricingPolicyAdjustmentType; + /** The price adjustment value. */ + adjustmentValue: SellingPlanPricingPolicyAdjustmentValue; + /** Cycle after which this pricing policy applies. */ + afterCycle?: Maybe; + /** The date and time when the recurring selling plan pricing policy was created. */ + createdAt: Scalars['DateTime']['output']; +}; + +/** The input fields required to create or update a recurring selling plan pricing policy. */ +export type SellingPlanRecurringPricingPolicyInput = { + /** Price adjustment type defined by the policy. */ + adjustmentType?: InputMaybe; + /** Price adjustment value defined by the policy. */ + adjustmentValue?: InputMaybe; + /** Cycle after which the pricing policy applies. */ + afterCycle: Scalars['Int']['input']; + /** ID of the pricing policy. */ + id?: InputMaybe; +}; + +/** When to capture the payment for the remaining amount due. */ +export enum SellingPlanRemainingBalanceChargeTrigger { + /** At an exact time defined by the remaining_balance_charge_exact_time field. */ + ExactTime = 'EXACT_TIME', + /** When there's no remaining balance to be charged after checkout. */ + NoRemainingBalance = 'NO_REMAINING_BALANCE', + /** After the duration defined by the remaining_balance_charge_time_after_checkout field. */ + TimeAfterCheckout = 'TIME_AFTER_CHECKOUT' +} + +/** When to reserve inventory for a selling plan. */ +export enum SellingPlanReserve { + /** Reserve inventory when order is fulfilled. */ + OnFulfillment = 'ON_FULFILLMENT', + /** Reserve inventory at time of sale. */ + OnSale = 'ON_SALE' +} + +/** A server pixel stores configuration for streaming customer interactions to an EventBridge or PubSub endpoint. */ +export type ServerPixel = Node & { + __typename?: 'ServerPixel'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The current state of this server pixel. */ + status?: Maybe; + /** Address of the EventBridge or PubSub endpoint. */ + webhookEndpointAddress?: Maybe; +}; + +/** Return type for `serverPixelCreate` mutation. */ +export type ServerPixelCreatePayload = { + __typename?: 'ServerPixelCreatePayload'; + /** The new server pixel. */ + serverPixel?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `serverPixelDelete` mutation. */ +export type ServerPixelDeletePayload = { + __typename?: 'ServerPixelDeletePayload'; + /** The ID of the server pixel that was deleted, if one was deleted. */ + deletedServerPixelId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The current state of a server pixel. */ +export enum ServerPixelStatus { + /** This server pixel is connected: it will stream customer events to the endpoint if it is configured properly. */ + Connected = 'CONNECTED', + /** This server pixel is disconnected: it does not stream events to the endpoint and an endpoint address has been added to the server pixel. */ + DisconnectedConfigured = 'DISCONNECTED_CONFIGURED', + /** This server pixel is disconnected and unconfigured: it does not stream events to the endpoint and no endpoint address had been added to the server pixel. */ + DisconnectedUnconfigured = 'DISCONNECTED_UNCONFIGURED' +} + +/** The class of the discount for combining purposes. */ +export enum ShippingDiscountClass { + /** Combined as a shipping discount. */ + Shipping = 'SHIPPING' +} + +/** Represents the shipping details that the customer chose for their order. */ +export type ShippingLine = { + __typename?: 'ShippingLine'; + /** + * A reference to the carrier service that provided the rate. + * Present when the rate was computed by a third-party carrier service. + */ + carrierIdentifier?: Maybe; + /** A reference to the shipping method. */ + code?: Maybe; + /** The current shipping price after applying refunds, after applying discounts. If the parent `order.taxesIncluded`` field is true, then this price includes taxes. Otherwise, this field is the pre-tax price. */ + currentDiscountedPriceSet: MoneyBag; + /** Whether the shipping line is custom or not. */ + custom: Scalars['Boolean']['output']; + /** The general classification of the delivery method. */ + deliveryCategory?: Maybe; + /** The discounts that have been allocated to the shipping line. */ + discountAllocations: Array; + /** + * The pre-tax shipping price with discounts applied. + * As of API version 2024-07, this will be calculated including cart level discounts, such as the free shipping discount. + * @deprecated Use `discountedPriceSet` instead. + */ + discountedPrice: MoneyV2; + /** + * The shipping price after applying discounts. If the parent order.taxesIncluded field is true, then this price includes taxes. If not, it's the pre-tax price. + * As of API version 2024-07, this will be calculated including cart level discounts, such as the free shipping discount. + */ + discountedPriceSet: MoneyBag; + /** A globally-unique ID. */ + id?: Maybe; + /** Whether the shipping line has been removed. */ + isRemoved: Scalars['Boolean']['output']; + /** + * The pre-tax shipping price without any discounts applied. + * @deprecated Use `originalPriceSet` instead. + */ + originalPrice: MoneyV2; + /** The pre-tax shipping price without any discounts applied. */ + originalPriceSet: MoneyBag; + /** The phone number at the shipping address. */ + phone?: Maybe; + /** + * Returns the price of the shipping line. + * @deprecated Use `originalPriceSet` instead. + */ + price: Scalars['Money']['output']; + /** + * The fulfillment service requested for the shipping method. + * Present if the shipping method requires processing by a third party fulfillment service. + */ + requestedFulfillmentService?: Maybe; + /** A unique identifier for the shipping rate. The format can change without notice and isn't meant to be shown to users. */ + shippingRateHandle?: Maybe; + /** Returns the rate source for the shipping line. */ + source?: Maybe; + /** The TaxLine objects connected to this shipping line. */ + taxLines: Array; + /** Returns the title of the shipping line. */ + title: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple ShippingLines. */ +export type ShippingLineConnection = { + __typename?: 'ShippingLineConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ShippingLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ShippingLine and a cursor during pagination. */ +export type ShippingLineEdge = { + __typename?: 'ShippingLineEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ShippingLineEdge. */ + node: ShippingLine; +}; + +/** + * The input fields for specifying the shipping details for the draft order. + * + * > Note: + * > A custom shipping line includes a title and price with `shippingRateHandle` set to `nil`. A shipping line with a carrier-provided shipping rate (currently set via the Shopify admin) includes the shipping rate handle. + */ +export type ShippingLineInput = { + /** Price of the shipping rate with currency. If provided, `price` will be ignored. */ + priceWithCurrency?: InputMaybe; + /** A unique identifier for the shipping rate. */ + shippingRateHandle?: InputMaybe; + /** Title of the shipping rate. */ + title?: InputMaybe; +}; + +/** A sale associated with a shipping charge. */ +export type ShippingLineSale = Sale & { + __typename?: 'ShippingLineSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** The shipping line item for the associated sale. `shippingLine` is not available if the `SaleActionType` is a return. */ + shippingLine?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** Return type for `shippingPackageDelete` mutation. */ +export type ShippingPackageDeletePayload = { + __typename?: 'ShippingPackageDeletePayload'; + /** The ID of the deleted shipping package. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `shippingPackageMakeDefault` mutation. */ +export type ShippingPackageMakeDefaultPayload = { + __typename?: 'ShippingPackageMakeDefaultPayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Type of a shipping package. */ +export enum ShippingPackageType { + /** A shipping box. */ + Box = 'BOX', + /** An envelope. */ + Envelope = 'ENVELOPE', + /** A flat rate packaging supplied by a carrier. */ + FlatRate = 'FLAT_RATE', + /** A soft-pack, bubble-wrap or vinyl envelope. */ + SoftPack = 'SOFT_PACK' +} + +/** Return type for `shippingPackageUpdate` mutation. */ +export type ShippingPackageUpdatePayload = { + __typename?: 'ShippingPackageUpdatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A shipping rate is an additional cost added to the cost of the products that were ordered. */ +export type ShippingRate = { + __typename?: 'ShippingRate'; + /** Human-readable unique identifier for this shipping rate. */ + handle: Scalars['String']['output']; + /** The cost associated with the shipping rate. */ + price: MoneyV2; + /** The name of the shipping rate. */ + title: Scalars['String']['output']; +}; + +/** Represents the shipping costs refunded on the Refund. */ +export type ShippingRefund = { + __typename?: 'ShippingRefund'; + /** + * The monetary value of the shipping fees to be refunded. + * @deprecated Use `amountSet` instead. + */ + amount: Scalars['Money']['output']; + /** The monetary value of the shipping fees to be refunded in shop and presentment currencies. */ + amountSet: MoneyBag; + /** + * The maximum amount of shipping fees currently refundable. + * @deprecated Use `maximumRefundableSet` instead. + */ + maximumRefundable: Scalars['Money']['output']; + /** The maximum amount of shipping fees currently refundable in shop and presentment currencies. */ + maximumRefundableSet: MoneyBag; + /** + * The monetary value of the tax allocated to shipping fees to be refunded. + * @deprecated Use `taxSet` instead. + */ + tax: Scalars['Money']['output']; + /** The monetary value of the tax allocated to shipping fees to be refunded in shop and presentment currencies. */ + taxSet: MoneyBag; +}; + +/** The input fields that are required to reimburse shipping costs. */ +export type ShippingRefundInput = { + /** The monetary value of the shipping fees to be reimbursed. */ + amount?: InputMaybe; + /** Whether a full refund is provided. */ + fullRefund?: InputMaybe; +}; + +/** Represents a collection of general settings and information about the shop. */ +export type Shop = HasMetafields & HasPublishedTranslations & Node & { + __typename?: 'Shop'; + /** Account owner information. */ + accountOwner: StaffMember; + /** A list of the shop's active alert messages that appear in the Shopify admin. */ + alerts: Array; + /** + * A list of the shop's product categories. Limit: 1000 product categories. + * @deprecated Deprecated in API version 2024-07. Use `allProductCategoriesList` instead. + */ + allProductCategories: Array; + /** A list of the shop's product categories. Limit: 1000 product categories. */ + allProductCategoriesList: Array; + /** + * The token required to query the shop's reports or dashboards. + * @deprecated Not supported anymore. + */ + analyticsToken: Scalars['String']['output']; + /** + * The paginated list of fulfillment orders assigned to the shop locations owned by the app. + * + * Assigned fulfillment orders are fulfillment orders that are set to be fulfilled from locations + * managed by + * [fulfillment services](https://shopify.dev/api/admin-graphql/latest/objects/FulfillmentService) + * that are registered by the app. + * One app (api_client) can host multiple fulfillment services on a shop. + * Each fulfillment service manages a dedicated location on a shop. + * Assigned fulfillment orders can have associated + * [fulfillment requests](https://shopify.dev/api/admin-graphql/latest/enums/FulfillmentOrderRequestStatus), + * or might currently not be requested to be fulfilled. + * + * The app must have `read_assigned_fulfillment_orders` + * [access scope](https://shopify.dev/docs/api/usage/access-scopes) + * to be able to retrieve fulfillment orders assigned to its locations. + * + * All assigned fulfillment orders (except those with the `CLOSED` status) will be returned by default. + * Perform filtering with the `assignmentStatus` argument + * to receive only fulfillment orders that have been requested to be fulfilled. + * @deprecated Use `QueryRoot.assignedFulfillmentOrders` instead. Details: https://shopify.dev/changelog/moving-the-shop-assignedfulfillmentorders-connection-to-queryroot + */ + assignedFulfillmentOrders: FulfillmentOrderConnection; + /** The list of sales channels not currently installed on the shop. */ + availableChannelApps: AppConnection; + /** The shop's billing address information. */ + billingAddress: ShopAddress; + /** List of all channel definitions associated with a shop. */ + channelDefinitionsForInstalledChannels: Array; + /** + * List of the shop's active sales channels. + * @deprecated Use `QueryRoot.channels` instead. + */ + channels: ChannelConnection; + /** Specifies whether the shop supports checkouts via Checkout API. */ + checkoutApiSupported: Scalars['Boolean']['output']; + /** + * Return a collection by its handle. + * @deprecated Use `QueryRoot.collectionByHandle` instead. + */ + collectionByHandle?: Maybe; + /** + * List of the shop's collection saved searches. + * @deprecated Use `QueryRoot.collectionSavedSearches` instead. + */ + collectionSavedSearches: SavedSearchConnection; + /** + * List of the shop's collections. + * @deprecated Use `QueryRoot.collections` instead. + */ + collections: CollectionConnection; + /** + * The public-facing contact email address for the shop. + * Customers will use this email to communicate with the shop owner. + */ + contactEmail: Scalars['String']['output']; + /** Countries that have been defined in shipping zones for the shop. */ + countriesInShippingZones: CountriesInShippingZones; + /** The date and time when the shop was created. */ + createdAt: Scalars['DateTime']['output']; + /** The three letter code for the currency that the shop sells in. */ + currencyCode: CurrencyCode; + /** How currencies are displayed on your store. */ + currencyFormats: CurrencyFormats; + /** The presentment currency settings for the shop excluding the shop's own currency. */ + currencySettings: CurrencySettingConnection; + /** Whether customer accounts are required, optional, or disabled for the shop. */ + customerAccounts: ShopCustomerAccountsSetting; + /** Information about the shop's customer accounts. */ + customerAccountsV2: CustomerAccountsV2; + /** + * List of the shop's customer saved searches. + * @deprecated Use `QueryRoot.customerSavedSearches` instead. + */ + customerSavedSearches: SavedSearchConnection; + /** A list of tags that have been added to customer accounts. */ + customerTags: StringConnection; + /** + * Customer accounts associated to the shop. + * @deprecated Use `QueryRoot.customers` instead. + */ + customers: CustomerConnection; + /** The shop's meta description used in search engine results. */ + description?: Maybe; + /** + * The domains configured for the shop. + * @deprecated Use `domainsPaginated` instead. + */ + domains: Array; + /** + * List of the shop's draft order saved searches. + * @deprecated Use `QueryRoot.draftOrderSavedSearches` instead. + */ + draftOrderSavedSearches: SavedSearchConnection; + /** A list of tags that have been added to draft orders. */ + draftOrderTags: StringConnection; + /** + * List of saved draft orders on the shop. + * @deprecated Use `QueryRoot.draftOrders` instead. + */ + draftOrders: DraftOrderConnection; + /** + * The shop owner's email address. + * Shopify will use this email address to communicate with the shop owner. + */ + email: Scalars['String']['output']; + /** The presentment currencies enabled for the shop. */ + enabledPresentmentCurrencies: Array; + /** The set of features enabled for the shop. */ + features: ShopFeatures; + /** + * The paginated list of merchant-managed and third-party fulfillment orders. + * @deprecated Use `QueryRoot.fulfillmentOrders` instead. + */ + fulfillmentOrders: FulfillmentOrderConnection; + /** List of the shop's installed fulfillment services. */ + fulfillmentServices: Array; + /** The shop's time zone as defined by the IANA. */ + ianaTimezone: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * List of the shop's inventory items. + * @deprecated Use `QueryRoot.inventoryItems` instead. + */ + inventoryItems: InventoryItemConnection; + /** + * The number of pendings orders on the shop. + * Limited to a maximum of 10000. + * @deprecated Use `QueryRoot.pendingOrdersCount` instead. + */ + limitedPendingOrderCount: LimitedPendingOrderCount; + /** + * List of active locations of the shop. + * @deprecated Use `QueryRoot.locations` instead. + */ + locations: LocationConnection; + /** + * List of a shop's marketing events. + * @deprecated Use `QueryRoot.marketingEvents` instead. + */ + marketingEvents: MarketingEventConnection; + /** Whether SMS marketing has been enabled on the shop's checkout configuration settings. */ + marketingSmsConsentEnabledAtCheckout: Scalars['Boolean']['output']; + /** The approval signals for a shop to support onboarding to channel apps. */ + merchantApprovalSignals?: Maybe; + /** + * 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. + */ + metafield?: Maybe; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** The shop's .myshopify.com domain name. */ + myshopifyDomain: Scalars['String']['output']; + /** The shop's name. */ + name: Scalars['String']['output']; + /** The shop's settings related to navigation. */ + navigationSettings: Array; + /** The prefix that appears before order numbers. */ + orderNumberFormatPrefix: Scalars['String']['output']; + /** The suffix that appears after order numbers. */ + orderNumberFormatSuffix: Scalars['String']['output']; + /** + * List of the shop's order saved searches. + * @deprecated Use `QueryRoot.orderSavedSearches` instead. + */ + orderSavedSearches: SavedSearchConnection; + /** A list of tags that have been added to orders. */ + orderTags: StringConnection; + /** + * A list of the shop's orders. + * @deprecated Use `QueryRoot.orders` instead. + */ + orders: OrderConnection; + /** The shop's settings related to payments. */ + paymentSettings: PaymentSettings; + /** The shop's billing plan. */ + plan: ShopPlan; + /** The primary domain of the shop's online store. */ + primaryDomain: Domain; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** + * Return a product by its handle. + * @deprecated Use `QueryRoot.productByHandle` instead. + */ + productByHandle?: Maybe; + /** + * The list of all images of all products for the shop. + * @deprecated Use `files` instead. See [filesQuery](https://shopify.dev/docs/api/admin-graphql/latest/queries/files) and its [query](https://shopify.dev/docs/api/admin-graphql/2024-01/queries/files#argument-query) argument for more information. + */ + productImages: ImageConnection; + /** + * List of the shop's product saved searches. + * @deprecated Use `QueryRoot.productSavedSearches` instead. + */ + productSavedSearches: SavedSearchConnection; + /** A list of tags that have been added to products. */ + productTags: StringConnection; + /** The list of types added to products. */ + productTypes: StringConnection; + /** + * List of the shop's product variants. + * @deprecated Use `QueryRoot.productVariants` instead. + */ + productVariants: ProductVariantConnection; + /** The list of vendors added to products. */ + productVendors: StringConnection; + /** + * List of the shop's products. + * @deprecated Use `QueryRoot.products`. + */ + products: ProductConnection; + /** + * The number of publications for the shop. + * @deprecated Use `QueryRoot.publicationsCount` instead. + */ + publicationCount: Scalars['Int']['output']; + /** The shop's limits for specific resources. For example, the maximum number ofvariants allowed per product, or the maximum number of locations allowed. */ + resourceLimits: ShopResourceLimits; + /** The URL of the rich text editor that can be used for mobile devices. */ + richTextEditorUrl: Scalars['URL']['output']; + /** Fetches a list of admin search results by a specified query. */ + search: SearchResultConnection; + /** The list of search filter options for the shop. These can be used to filter productvisibility for the shop. */ + searchFilters: SearchFilterOptions; + /** Whether the shop has outstanding setup steps. */ + setupRequired: Scalars['Boolean']['output']; + /** The list of countries that the shop ships to. */ + shipsToCountries: Array; + /** The name of the shop owner. */ + shopOwnerName: Scalars['String']['output']; + /** The list of all legal policies associated with a shop. */ + shopPolicies: Array; + /** + * The paginated list of the shop's staff members. + * @deprecated Use `QueryRoot.staffMembers` instead. + */ + staffMembers: StaffMemberConnection; + /** The storefront access token of a private application. These are scoped per-application. */ + storefrontAccessTokens: StorefrontAccessTokenConnection; + /** + * The URL of the shop's storefront. + * @deprecated Use `url` instead. + */ + storefrontUrl: Scalars['URL']['output']; + /** Whether the shop charges taxes for shipping. */ + taxShipping: Scalars['Boolean']['output']; + /** Whether applicable taxes are included in the shop's product prices. */ + taxesIncluded: Scalars['Boolean']['output']; + /** The shop's time zone abbreviation. */ + timezoneAbbreviation: Scalars['String']['output']; + /** The shop's time zone offset. */ + timezoneOffset: Scalars['String']['output']; + /** The shop's time zone offset expressed as a number of minutes. */ + timezoneOffsetMinutes: Scalars['Int']['output']; + /** Whether transactional SMS sent by Shopify have been disabled for a shop. */ + transactionalSmsDisabled: Scalars['Boolean']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The shop's unit system for weights and measures. */ + unitSystem: UnitSystem; + /** The date and time when the shop was last updated. */ + updatedAt: Scalars['DateTime']['output']; + /** + * Fetches a list of images uploaded to the shop by their IDs. + * @deprecated Use `files` instead. See [filesQuery](https://shopify.dev/docs/api/admin-graphql/latest/queries/files) and its [query](https://shopify.dev/docs/api/admin-graphql/2024-01/queries/files#argument-query) argument for more information. + */ + uploadedImagesByIds: Array; + /** The URL of the shop's online store. */ + url: Scalars['URL']['output']; + /** The shop's primary unit of weight for products and shipping. */ + weightUnit: WeightUnit; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopAssignedFulfillmentOrdersArgs = { + after?: InputMaybe; + assignmentStatus?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + locationIds?: InputMaybe>; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopAvailableChannelAppsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopChannelsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopCollectionByHandleArgs = { + handle: Scalars['String']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopCollectionSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopCollectionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopCurrencySettingsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopCustomerSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopCustomerTagsArgs = { + first: Scalars['Int']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopCustomersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopDraftOrderSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopDraftOrderTagsArgs = { + first: Scalars['Int']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopDraftOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopFulfillmentOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + includeClosed?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopInventoryItemsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopLocationsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + includeInactive?: InputMaybe; + includeLegacy?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopMarketingEventsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopOrderSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopOrderTagsArgs = { + first: Scalars['Int']['input']; + sort?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductByHandleArgs = { + handle: Scalars['String']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductImagesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductSavedSearchesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductTagsArgs = { + first: Scalars['Int']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductTypesArgs = { + first: Scalars['Int']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductVariantsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductVendorsArgs = { + first: Scalars['Int']['input']; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopProductsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopSearchArgs = { + after?: InputMaybe; + first: Scalars['Int']['input']; + query: Scalars['String']['input']; + types?: InputMaybe>; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopStaffMembersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopStorefrontAccessTokensArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + + +/** Represents a collection of general settings and information about the shop. */ +export type ShopUploadedImagesByIdsArgs = { + imageIds: Array; +}; + +/** An address for a shop. */ +export type ShopAddress = Node & { + __typename?: 'ShopAddress'; + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: Maybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: Maybe; + /** The name of the city, district, village, or town. */ + city?: Maybe; + /** The name of the company or organization. */ + company?: Maybe; + /** Whether the address coordinates are valid. */ + coordinatesValidated: Scalars['Boolean']['output']; + /** The name of the country. */ + country?: Maybe; + /** + * The two-letter code for the country of the address. + * + * For example, US. + * @deprecated Use `countryCodeV2` instead. + */ + countryCode?: Maybe; + /** + * The two-letter code for the country of the address. + * + * For example, US. + */ + countryCodeV2?: Maybe; + /** + * The first name. + * @deprecated Always null in this context. + */ + firstName?: Maybe; + /** A formatted version of the address, customized by the provided arguments. */ + formatted: Array; + /** A comma-separated list of the values for city, province, and country. */ + formattedArea?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The last name. + * @deprecated Always null in this context. + */ + lastName?: Maybe; + /** The latitude coordinate of the address. */ + latitude?: Maybe; + /** The longitude coordinate of the address. */ + longitude?: Maybe; + /** + * The full name, based on firstName and lastName. + * @deprecated Always null in this context. + */ + name?: Maybe; + /** + * A phone number associated with the address. + * + * Formatted using E.164 standard. For example, _+16135551111_. + */ + phone?: Maybe; + /** The region of the address, such as the province, state, or district. */ + province?: Maybe; + /** + * The alphanumeric code for the region. + * + * For example, ON. + */ + provinceCode?: Maybe; + /** The zip or postal code of the address. */ + zip?: Maybe; +}; + + +/** An address for a shop. */ +export type ShopAddressFormattedArgs = { + withCompany?: InputMaybe; +}; + +/** An alert message that appears in the Shopify admin about a problem with a store setting, with an action to take. For example, you could show an alert to ask the merchant to enter their billing information to activate Shopify Plus. */ +export type ShopAlert = { + __typename?: 'ShopAlert'; + /** The text for the button in the alert that links to related information. For example, _Add credit card_. */ + action: ShopAlertAction; + /** A description of the alert and further information, such as whether the merchant will be charged. */ + description: Scalars['String']['output']; +}; + +/** An action associated to a shop alert, such as adding a credit card. */ +export type ShopAlertAction = { + __typename?: 'ShopAlertAction'; + /** The text for the button in the alert. For example, _Add credit card_. */ + title: Scalars['String']['output']; + /** The target URL that the button links to. */ + url: Scalars['URL']['output']; +}; + +/** Billing preferences for the shop. */ +export type ShopBillingPreferences = { + __typename?: 'ShopBillingPreferences'; + /** The currency the shop uses to pay for apps and services. */ + currency: CurrencyCode; +}; + +/** + * Possible branding of a shop. + * Branding can be used to define the look of a shop including its styling and logo in the Shopify Admin. + */ +export enum ShopBranding { + /** Shop has Rogers branding. */ + Rogers = 'ROGERS', + /** Shop has Shopify branding. */ + Shopify = 'SHOPIFY', + /** Shop has Shopify Gold branding. */ + ShopifyGold = 'SHOPIFY_GOLD', + /** Shop has Shopify Plus branding. */ + ShopifyPlus = 'SHOPIFY_PLUS' +} + +/** Represents the shop's customer account requirement preference. */ +export enum ShopCustomerAccountsSetting { + Disabled = 'DISABLED', + Optional = 'OPTIONAL', + Required = 'REQUIRED' +} + +/** + * Represents the feature set available to the shop. + * Most fields specify whether a feature is enabled for a shop, and some fields return information + * related to specific features. + */ +export type ShopFeatures = { + __typename?: 'ShopFeatures'; + /** Whether a shop has access to Avalara AvaTax. */ + avalaraAvatax: Scalars['Boolean']['output']; + /** The branding of the shop, which influences its look and feel in the Shopify admin. */ + branding: ShopBranding; + /** Represents the Bundles feature configuration for the shop. */ + bundles: BundlesFeature; + /** Whether a shop's online store can have CAPTCHA protection. */ + captcha: Scalars['Boolean']['output']; + /** + * Whether a shop's online store can have CAPTCHA protection for domains not managed by Shopify. + * @deprecated No longer required for external domains + */ + captchaExternalDomains: Scalars['Boolean']['output']; + /** Represents the cart transform feature configuration for the shop. */ + cartTransform: CartTransformFeature; + /** + * Whether the delivery profiles functionality is enabled for this shop. + * @deprecated Delivery profiles are now 100% enabled across Shopify. + */ + deliveryProfiles: Scalars['Boolean']['output']; + /** Whether a shop has access to the Google Analytics dynamic remarketing feature. */ + dynamicRemarketing: Scalars['Boolean']['output']; + /** Whether a shop can be migrated to use Shopify subscriptions. */ + eligibleForSubscriptionMigration: Scalars['Boolean']['output']; + /** Whether a shop is configured properly to sell subscriptions. */ + eligibleForSubscriptions: Scalars['Boolean']['output']; + /** Whether a shop can create gift cards. */ + giftCards: Scalars['Boolean']['output']; + /** + * Whether a shop displays Harmonized System codes on products. This is used for customs when shipping + * internationally. + */ + harmonizedSystemCode: Scalars['Boolean']['output']; + /** + * Whether a shop can enable international domains. + * @deprecated All shops have international domains through Shopify Markets. + */ + internationalDomains: Scalars['Boolean']['output']; + /** Whether a shop can enable international price overrides. */ + internationalPriceOverrides: Scalars['Boolean']['output']; + /** Whether a shop can enable international price rules. */ + internationalPriceRules: Scalars['Boolean']['output']; + /** Whether a shop has enabled a legacy subscription gateway to handle older subscriptions. */ + legacySubscriptionGatewayEnabled: Scalars['Boolean']['output']; + /** + * Whether to show the Live View metrics in the Shopify admin. Live view is hidden from merchants that are on a trial + * or don't have a storefront. + */ + liveView: Scalars['Boolean']['output']; + /** + * Whether a shop has multi-location functionality. + * @deprecated All shops support multi-location inventory. Use `QueryRoot.locations` to determine whether shop has more than one location. + * + */ + multiLocation: Scalars['Boolean']['output']; + /** + * Whether a shop has access to the onboarding visual. + * @deprecated No longer supported. + */ + onboardingVisual: Scalars['Boolean']['output']; + /** Whether a shop is configured to sell subscriptions with PayPal Express. */ + paypalExpressSubscriptionGatewayStatus: PaypalExpressSubscriptionsGatewayStatus; + /** Whether a shop has access to all reporting features. */ + reports: Scalars['Boolean']['output']; + /** Whether a shop has ever had subscription products. */ + sellsSubscriptions: Scalars['Boolean']['output']; + /** + * Whether the shop has a Shopify Plus subscription. + * @deprecated Use Shop.plan.shopifyPlus instead. + */ + shopifyPlus: Scalars['Boolean']['output']; + /** Whether to show metrics in the Shopify admin. Metrics are hidden for new merchants until they become meaningful. */ + showMetrics: Scalars['Boolean']['output']; + /** Whether a shop has an online store. */ + storefront: Scalars['Boolean']['output']; + /** Whether a shop is using Shopify Balance. */ + usingShopifyBalance: Scalars['Boolean']['output']; +}; + +/** A locale that's been enabled on a shop. */ +export type ShopLocale = { + __typename?: 'ShopLocale'; + /** The locale ISO code. */ + locale: Scalars['String']['output']; + /** The market web presences that use the locale. */ + marketWebPresences: Array; + /** The human-readable locale name. */ + name: Scalars['String']['output']; + /** Whether the locale is the default locale for the shop. */ + primary: Scalars['Boolean']['output']; + /** Whether the locale is visible to buyers. */ + published: Scalars['Boolean']['output']; +}; + +/** Return type for `shopLocaleDisable` mutation. */ +export type ShopLocaleDisablePayload = { + __typename?: 'ShopLocaleDisablePayload'; + /** ISO code of the locale that was deleted. */ + locale?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `shopLocaleEnable` mutation. */ +export type ShopLocaleEnablePayload = { + __typename?: 'ShopLocaleEnablePayload'; + /** ISO code of the locale that was enabled. */ + shopLocale?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for a shop locale. */ +export type ShopLocaleInput = { + /** The market web presences on which the locale should be enabled. Pass in an empty array to remove the locale across all market web presences. */ + marketWebPresenceIds?: InputMaybe>; + /** Whether the locale is published. Only published locales are visible to the buyer. */ + published?: InputMaybe; +}; + +/** Return type for `shopLocaleUpdate` mutation. */ +export type ShopLocaleUpdatePayload = { + __typename?: 'ShopLocaleUpdatePayload'; + /** The locale that was updated. */ + shopLocale?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Shop Pay Installments payment details related to a transaction. */ +export type ShopPayInstallmentsPaymentDetails = BasePaymentDetails & { + __typename?: 'ShopPayInstallmentsPaymentDetails'; + /** The name of payment method used by the buyer. */ + paymentMethodName?: Maybe; +}; + +/** The billing plan of the shop. */ +export type ShopPlan = { + __typename?: 'ShopPlan'; + /** The name of the shop's billing plan. */ + displayName: Scalars['String']['output']; + /** Whether the shop is a partner development shop for testing purposes. */ + partnerDevelopment: Scalars['Boolean']['output']; + /** Whether the shop has a Shopify Plus subscription. */ + shopifyPlus: Scalars['Boolean']['output']; +}; + +/** Policy that a merchant has configured for their store, such as their refund or privacy policy. */ +export type ShopPolicy = HasPublishedTranslations & Node & { + __typename?: 'ShopPolicy'; + /** The text of the policy. The maximum size is 512kb. */ + body: Scalars['HTML']['output']; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the policy was created. */ + createdAt: Scalars['Date']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The translated title of the policy. For example, Refund Policy or Politique de remboursement. */ + title: Scalars['String']['output']; + /** The published translations associated with the resource. */ + translations: Array; + /** The shop policy type. */ + type: ShopPolicyType; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the policy was last modified. */ + updatedAt: Scalars['Date']['output']; + /** The public URL of the policy. */ + url: Scalars['URL']['output']; +}; + + +/** Policy that a merchant has configured for their store, such as their refund or privacy policy. */ +export type ShopPolicyTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; +}; + +/** Possible error codes that can be returned by `ShopPolicyUserError`. */ +export enum ShopPolicyErrorCode { + /** The input value is too big. */ + TooBig = 'TOO_BIG' +} + +/** The input fields required to update a policy. */ +export type ShopPolicyInput = { + /** Policy text, maximum size of 512kb. */ + body: Scalars['String']['input']; + /** The shop policy type. */ + type: ShopPolicyType; +}; + +/** Available shop policy types. */ +export enum ShopPolicyType { + /** The contact information. */ + ContactInformation = 'CONTACT_INFORMATION', + /** The legal notice. */ + LegalNotice = 'LEGAL_NOTICE', + /** The privacy policy. */ + PrivacyPolicy = 'PRIVACY_POLICY', + /** The refund policy. */ + RefundPolicy = 'REFUND_POLICY', + /** The shipping policy. */ + ShippingPolicy = 'SHIPPING_POLICY', + /** The cancellation policy. */ + SubscriptionPolicy = 'SUBSCRIPTION_POLICY', + /** The terms of sale. */ + TermsOfSale = 'TERMS_OF_SALE', + /** The terms of service. */ + TermsOfService = 'TERMS_OF_SERVICE' +} + +/** Return type for `shopPolicyUpdate` mutation. */ +export type ShopPolicyUpdatePayload = { + __typename?: 'ShopPolicyUpdatePayload'; + /** The shop policy that has been updated. */ + shopPolicy?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of a shop policy mutation. */ +export type ShopPolicyUserError = DisplayableError & { + __typename?: 'ShopPolicyUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Return type for `shopResourceFeedbackCreate` mutation. */ +export type ShopResourceFeedbackCreatePayload = { + __typename?: 'ShopResourceFeedbackCreatePayload'; + /** The shop feedback that's created. */ + feedback?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ShopResourceFeedbackCreate`. */ +export type ShopResourceFeedbackCreateUserError = DisplayableError & { + __typename?: 'ShopResourceFeedbackCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ShopResourceFeedbackCreateUserError`. */ +export enum ShopResourceFeedbackCreateUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The feedback for a later version of the resource was already accepted. */ + OutdatedFeedback = 'OUTDATED_FEEDBACK', + /** The input value needs to be blank. */ + Present = 'PRESENT' +} + +/** Resource limits of a shop. */ +export type ShopResourceLimits = { + __typename?: 'ShopResourceLimits'; + /** Maximum number of locations allowed. */ + locationLimit: Scalars['Int']['output']; + /** Maximum number of product options allowed. */ + maxProductOptions: Scalars['Int']['output']; + /** The maximum number of variants allowed per product. */ + maxProductVariants: Scalars['Int']['output']; + /** Whether the shop has reached the limit of the number of URL redirects it can make for resources. */ + redirectLimitReached: Scalars['Boolean']['output']; +}; + +/** Possible sort of tags. */ +export enum ShopTagSort { + /** Alphabetical sort. */ + Alphabetical = 'ALPHABETICAL', + /** Popularity sort. */ + Popular = 'POPULAR' +} + +/** A Shopify Function. */ +export type ShopifyFunction = { + __typename?: 'ShopifyFunction'; + /** The API type of the Shopify Function. */ + apiType: Scalars['String']['output']; + /** The API version of the Shopify Function. */ + apiVersion: Scalars['String']['output']; + /** The app that owns the Shopify Function. */ + app: App; + /** The App Bridge information for the Shopify Function. */ + appBridge: FunctionsAppBridge; + /** The client ID of the app that owns the Shopify Function. */ + appKey: Scalars['String']['output']; + /** The description of the Shopify Function. */ + description?: Maybe; + /** The ID of the Shopify Function. */ + id: Scalars['String']['output']; + /** The input query of the Shopify Function. */ + inputQuery?: Maybe; + /** The title of the Shopify Function. */ + title: Scalars['String']['output']; + /** If the Shopify Function uses the creation UI in the Admin. */ + useCreationUi: Scalars['Boolean']['output']; +}; + +/** An auto-generated type for paginating through multiple ShopifyFunctions. */ +export type ShopifyFunctionConnection = { + __typename?: 'ShopifyFunctionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ShopifyFunctionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ShopifyFunction and a cursor during pagination. */ +export type ShopifyFunctionEdge = { + __typename?: 'ShopifyFunctionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ShopifyFunctionEdge. */ + node: ShopifyFunction; +}; + +/** + * Balance and payout information for a + * [Shopify Payments](https://help.shopify.com/manual/payments/shopify-payments/getting-paid-with-shopify-payments) + * account. Balance includes all balances for the currencies supported by the shop. + * You can also query for a list of payouts, where each payout includes the corresponding currencyCode field. + */ +export type ShopifyPaymentsAccount = Node & { + __typename?: 'ShopifyPaymentsAccount'; + /** Whether the Shopify Payments setup is completed. */ + activated: Scalars['Boolean']['output']; + /** Current balances in all currencies for the account. */ + balance: Array; + /** A list of balance transactions associated with the shop. */ + balanceTransactions: ShopifyPaymentsBalanceTransactionConnection; + /** All bank accounts configured for the Shopify Payments account. */ + bankAccounts: ShopifyPaymentsBankAccountConnection; + /** + * The statement descriptor used for charges. + * + * The statement descriptor appears on a customer's credit card or bank statement when they make a purchase. + * @deprecated Use `chargeStatementDescriptors` instead. + */ + chargeStatementDescriptor?: Maybe; + /** + * The statement descriptors used for charges. + * + * These descriptors appear on a customer's credit card or bank statement when they make a purchase. + */ + chargeStatementDescriptors?: Maybe; + /** The Shopify Payments account country. */ + country: Scalars['String']['output']; + /** The default payout currency for the Shopify Payments account. */ + defaultCurrency: CurrencyCode; + /** All disputes that originated from a transaction made with the Shopify Payments account. */ + disputes: ShopifyPaymentsDisputeConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Whether the Shopify Payments account can be onboarded. */ + onboardable: Scalars['Boolean']['output']; + /** The payout schedule for the account. */ + payoutSchedule: ShopifyPaymentsPayoutSchedule; + /** + * The descriptor used for payouts. + * + * The descriptor appears on a merchant's bank statement when they receive a payout. + */ + payoutStatementDescriptor?: Maybe; + /** All current and previous payouts made between the account and the bank account. */ + payouts: ShopifyPaymentsPayoutConnection; +}; + + +/** + * Balance and payout information for a + * [Shopify Payments](https://help.shopify.com/manual/payments/shopify-payments/getting-paid-with-shopify-payments) + * account. Balance includes all balances for the currencies supported by the shop. + * You can also query for a list of payouts, where each payout includes the corresponding currencyCode field. + */ +export type ShopifyPaymentsAccountBalanceTransactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + hideTransfers?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** + * Balance and payout information for a + * [Shopify Payments](https://help.shopify.com/manual/payments/shopify-payments/getting-paid-with-shopify-payments) + * account. Balance includes all balances for the currencies supported by the shop. + * You can also query for a list of payouts, where each payout includes the corresponding currencyCode field. + */ +export type ShopifyPaymentsAccountBankAccountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Balance and payout information for a + * [Shopify Payments](https://help.shopify.com/manual/payments/shopify-payments/getting-paid-with-shopify-payments) + * account. Balance includes all balances for the currencies supported by the shop. + * You can also query for a list of payouts, where each payout includes the corresponding currencyCode field. + */ +export type ShopifyPaymentsAccountDisputesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** + * Balance and payout information for a + * [Shopify Payments](https://help.shopify.com/manual/payments/shopify-payments/getting-paid-with-shopify-payments) + * account. Balance includes all balances for the currencies supported by the shop. + * You can also query for a list of payouts, where each payout includes the corresponding currencyCode field. + */ +export type ShopifyPaymentsAccountPayoutsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; + transactionType?: InputMaybe; +}; + +/** The adjustment order object. */ +export type ShopifyPaymentsAdjustmentOrder = { + __typename?: 'ShopifyPaymentsAdjustmentOrder'; + /** The amount of the adjustment order. */ + amount: MoneyV2; + /** The link to the adjustment order. */ + link: Scalars['URL']['output']; + /** The name of the adjustment order. */ + name: Scalars['String']['output']; + /** The ID of the order transaction. */ + orderTransactionId: Scalars['BigInt']['output']; +}; + +/** The order associated to the balance transaction. */ +export type ShopifyPaymentsAssociatedOrder = { + __typename?: 'ShopifyPaymentsAssociatedOrder'; + /** The ID of the associated order. */ + id: Scalars['ID']['output']; + /** The name of the associated order. */ + name: Scalars['String']['output']; +}; + +/** A transaction that contributes to a Shopify Payments account balance. */ +export type ShopifyPaymentsBalanceTransaction = Node & { + __typename?: 'ShopifyPaymentsBalanceTransaction'; + /** + * The reason for the adjustment that's associated with the transaction. + * If the source_type isn't an adjustment, the value will be null. + */ + adjustmentReason?: Maybe; + /** The adjustment orders associated to the transaction. */ + adjustmentsOrders: Array; + /** The amount contributing to the balance transaction. */ + amount: MoneyV2; + /** The associated order for the balance transaction. */ + associatedOrder?: Maybe; + /** Payout assoicated with the transaction. */ + associatedPayout: ShopifyPaymentsBalanceTransactionAssociatedPayout; + /** The fee amount contributing to the balance transaction. */ + fee: MoneyV2; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The net amount contributing to the merchant's balance. */ + net: MoneyV2; + /** The ID of the resource leading to the transaction. */ + sourceId?: Maybe; + /** + * The id of the + * [Order Transaction](https://shopify.dev/docs/admin-api/rest/reference/orders/transaction) + * + * that resulted in this balance transaction. + */ + sourceOrderTransactionId?: Maybe; + /** The source type of the balance transaction. */ + sourceType?: Maybe; + /** Wether the tranaction was created in test mode. */ + test: Scalars['Boolean']['output']; + /** The date and time when the balance transaction was processed. */ + transactionDate: Scalars['DateTime']['output']; + /** The type of transaction. */ + type: ShopifyPaymentsTransactionType; +}; + +/** The payout associated with a balance transaction. */ +export type ShopifyPaymentsBalanceTransactionAssociatedPayout = { + __typename?: 'ShopifyPaymentsBalanceTransactionAssociatedPayout'; + /** The ID of the payout associated with the balance transaction. */ + id?: Maybe; + /** The status of the payout associated with the balance transaction. */ + status?: Maybe; +}; + +/** An auto-generated type for paginating through multiple ShopifyPaymentsBalanceTransactions. */ +export type ShopifyPaymentsBalanceTransactionConnection = { + __typename?: 'ShopifyPaymentsBalanceTransactionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ShopifyPaymentsBalanceTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ShopifyPaymentsBalanceTransaction and a cursor during pagination. */ +export type ShopifyPaymentsBalanceTransactionEdge = { + __typename?: 'ShopifyPaymentsBalanceTransactionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ShopifyPaymentsBalanceTransactionEdge. */ + node: ShopifyPaymentsBalanceTransaction; +}; + +/** The payout status of the balance transaction. */ +export enum ShopifyPaymentsBalanceTransactionPayoutStatus { + /** The transaction requires action before it can be paid out. */ + ActionRequired = 'ACTION_REQUIRED', + /** The payout has been canceled by Shopify. */ + Canceled = 'CANCELED', + /** The payout has been declined by the bank. */ + Failed = 'FAILED', + /** The payout has been submitted to the bank. */ + InTransit = 'IN_TRANSIT', + /** The payout has been successfully deposited into the bank. */ + Paid = 'PAID', + /** The transaction has not been assigned a payout yet. */ + Pending = 'PENDING', + /** + * The payout has been created and had transactions assigned to it, but + * it has not yet been submitted to the bank. + */ + Scheduled = 'SCHEDULED' +} + +/** A bank account that can receive payouts. */ +export type ShopifyPaymentsBankAccount = Node & { + __typename?: 'ShopifyPaymentsBankAccount'; + /** The account number of the bank account. */ + accountNumber: Scalars['String']['output']; + /** The last digits of the account number (the rest is redacted). */ + accountNumberLastDigits: Scalars['String']['output']; + /** The name of the bank. */ + bankName?: Maybe; + /** The country of the bank. */ + country: CountryCode; + /** The date that the bank account was created. */ + createdAt: Scalars['DateTime']['output']; + /** The currency of the bank account. */ + currency: CurrencyCode; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** All current and previous payouts made between the account and the bank account. */ + payouts: ShopifyPaymentsPayoutConnection; + /** The routing number of the bank account. */ + routingNumber: Scalars['String']['output']; + /** The status of the bank account. */ + status: ShopifyPaymentsBankAccountStatus; +}; + + +/** A bank account that can receive payouts. */ +export type ShopifyPaymentsBankAccountPayoutsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + savedSearchId?: InputMaybe; + sortKey?: InputMaybe; + transactionType?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple ShopifyPaymentsBankAccounts. */ +export type ShopifyPaymentsBankAccountConnection = { + __typename?: 'ShopifyPaymentsBankAccountConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ShopifyPaymentsBankAccountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ShopifyPaymentsBankAccount and a cursor during pagination. */ +export type ShopifyPaymentsBankAccountEdge = { + __typename?: 'ShopifyPaymentsBankAccountEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ShopifyPaymentsBankAccountEdge. */ + node: ShopifyPaymentsBankAccount; +}; + +/** The bank account status. */ +export enum ShopifyPaymentsBankAccountStatus { + /** A payout to the bank account failed. */ + Errored = 'ERRORED', + /** A bank account that hasn't had any activity and that's not validated. */ + New = 'NEW', + /** It was determined that the bank account exists. */ + Validated = 'VALIDATED', + /** Bank account validation was successful. */ + Verified = 'VERIFIED' +} + +/** The charge descriptors for a payments account. */ +export type ShopifyPaymentsChargeStatementDescriptor = { + /** The default charge statement descriptor. */ + default?: Maybe; + /** The prefix of the statement descriptor. */ + prefix: Scalars['String']['output']; +}; + +/** The charge descriptors for a payments account. */ +export type ShopifyPaymentsDefaultChargeStatementDescriptor = ShopifyPaymentsChargeStatementDescriptor & { + __typename?: 'ShopifyPaymentsDefaultChargeStatementDescriptor'; + /** The default charge statement descriptor. */ + default?: Maybe; + /** The prefix of the statement descriptor. */ + prefix: Scalars['String']['output']; +}; + +/** A dispute occurs when a buyer questions the legitimacy of a charge with their financial institution. */ +export type ShopifyPaymentsDispute = LegacyInteroperability & Node & { + __typename?: 'ShopifyPaymentsDispute'; + /** The total amount disputed by the cardholder. */ + amount: MoneyV2; + /** The deadline for evidence submission. */ + evidenceDueBy?: Maybe; + /** The date when evidence was sent. Returns null if evidence hasn't yet been sent. */ + evidenceSentOn?: Maybe; + /** The date when this dispute was resolved. Returns null if the dispute isn't yet resolved. */ + finalizedOn?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The date when this dispute was initiated. */ + initiatedAt: Scalars['DateTime']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The order that contains the charge that's under dispute. */ + order?: Maybe; + /** The reason of the dispute. */ + reasonDetails: ShopifyPaymentsDisputeReasonDetails; + /** The current state of the dispute. */ + status: DisputeStatus; + /** Indicates if this dispute is still in the inquiry phase or has turned into a chargeback. */ + type: DisputeType; +}; + +/** An auto-generated type for paginating through multiple ShopifyPaymentsDisputes. */ +export type ShopifyPaymentsDisputeConnection = { + __typename?: 'ShopifyPaymentsDisputeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ShopifyPaymentsDisputeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ShopifyPaymentsDispute and a cursor during pagination. */ +export type ShopifyPaymentsDisputeEdge = { + __typename?: 'ShopifyPaymentsDisputeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ShopifyPaymentsDisputeEdge. */ + node: ShopifyPaymentsDispute; +}; + +/** The evidence associated with the dispute. */ +export type ShopifyPaymentsDisputeEvidence = Node & { + __typename?: 'ShopifyPaymentsDisputeEvidence'; + /** The activity logs associated with the dispute evidence. */ + accessActivityLog?: Maybe; + /** The billing address that's provided by the customer. */ + billingAddress?: Maybe; + /** The cancellation policy disclosure associated with the dispute evidence. */ + cancellationPolicyDisclosure?: Maybe; + /** The cancellation policy file associated with the dispute evidence. */ + cancellationPolicyFile?: Maybe; + /** The cancellation rebuttal associated with the dispute evidence. */ + cancellationRebuttal?: Maybe; + /** The customer communication file associated with the dispute evidence. */ + customerCommunicationFile?: Maybe; + /** The customer's email address. */ + customerEmailAddress?: Maybe; + /** The customer's first name. */ + customerFirstName?: Maybe; + /** The customer's last name. */ + customerLastName?: Maybe; + /** The customer purchase ip for this dispute evidence. */ + customerPurchaseIp?: Maybe; + /** The dispute associated with the evidence. */ + dispute: ShopifyPaymentsDispute; + /** The file uploads associated with the dispute evidence. */ + disputeFileUploads: Array; + /** The fulfillments associated with the dispute evidence. */ + fulfillments: Array; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The product description for this dispute evidence. */ + productDescription?: Maybe; + /** The refund policy disclosure associated with the dispute evidence. */ + refundPolicyDisclosure?: Maybe; + /** The refund policy file associated with the dispute evidence. */ + refundPolicyFile?: Maybe; + /** The refund refusal explanation associated with dispute evidence. */ + refundRefusalExplanation?: Maybe; + /** The service documentation file associated with the dispute evidence. */ + serviceDocumentationFile?: Maybe; + /** The mailing address for shipping that's provided by the customer. */ + shippingAddress?: Maybe; + /** The shipping documentation file associated with the dispute evidence. */ + shippingDocumentationFile?: Maybe; + /** Whether the dispute evidence is submitted. */ + submitted: Scalars['Boolean']['output']; + /** The uncategorized file associated with the dispute evidence. */ + uncategorizedFile?: Maybe; + /** The uncategorized text for the dispute evidence. */ + uncategorizedText?: Maybe; +}; + +/** The possible dispute evidence file types. */ +export enum ShopifyPaymentsDisputeEvidenceFileType { + /** Cancellation Policy File. */ + CancellationPolicyFile = 'CANCELLATION_POLICY_FILE', + /** Customer Communication File. */ + CustomerCommunicationFile = 'CUSTOMER_COMMUNICATION_FILE', + /** Refund Policy File. */ + RefundPolicyFile = 'REFUND_POLICY_FILE', + /** Service Documentation File. */ + ServiceDocumentationFile = 'SERVICE_DOCUMENTATION_FILE', + /** Shipping Documentation File. */ + ShippingDocumentationFile = 'SHIPPING_DOCUMENTATION_FILE', + /** Uncategorized File. */ + UncategorizedFile = 'UNCATEGORIZED_FILE' +} + +/** The input fields required to update a dispute evidence object. */ +export type ShopifyPaymentsDisputeEvidenceUpdateInput = { + /** Activity logs. */ + accessActivityLog?: InputMaybe; + /** Cancellation policy disclosure. */ + cancellationPolicyDisclosure?: InputMaybe; + /** Cancellation policy file. */ + cancellationPolicyFile?: InputMaybe; + /** Cancellation rebuttal. */ + cancellationRebuttal?: InputMaybe; + /** Customer communication file. */ + customerCommunicationFile?: InputMaybe; + /** Customer email address. */ + customerEmailAddress?: InputMaybe; + /** Customer first name. */ + customerFirstName?: InputMaybe; + /** Customer last name. */ + customerLastName?: InputMaybe; + /** Refund policy disclosure. */ + refundPolicyDisclosure?: InputMaybe; + /** Refund policy file. */ + refundPolicyFile?: InputMaybe; + /** Refund refusal explanation. */ + refundRefusalExplanation?: InputMaybe; + /** Service documentation file. */ + serviceDocumentationFile?: InputMaybe; + /** The shipping address associated with the dispute evidence. */ + shippingAddress?: InputMaybe; + /** Shipping documentation file. */ + shippingDocumentationFile?: InputMaybe; + /** Whether to submit the evidence. */ + submitEvidence?: InputMaybe; + /** Uncategorized file. */ + uncategorizedFile?: InputMaybe; + /** Uncategorized text. */ + uncategorizedText?: InputMaybe; +}; + +/** The file upload associated with the dispute evidence. */ +export type ShopifyPaymentsDisputeFileUpload = Node & { + __typename?: 'ShopifyPaymentsDisputeFileUpload'; + /** The type of the file for the dispute evidence. */ + disputeEvidenceType?: Maybe; + /** The file size. */ + fileSize: Scalars['Int']['output']; + /** The file type. */ + fileType: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The original file name. */ + originalFileName?: Maybe; + /** The URL for accessing the file. */ + url: Scalars['URL']['output']; +}; + +/** The input fields required to update a dispute file upload object. */ +export type ShopifyPaymentsDisputeFileUploadUpdateInput = { + /** Whether to delete this file upload. */ + destroy?: InputMaybe; + /** The ID of the file upload to be updated. */ + id: Scalars['ID']['input']; +}; + +/** The fulfillment associated with dispute evidence. */ +export type ShopifyPaymentsDisputeFulfillment = Node & { + __typename?: 'ShopifyPaymentsDisputeFulfillment'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The shipping carrier for this fulfillment. */ + shippingCarrier?: Maybe; + /** The shipping date for this fulfillment. */ + shippingDate?: Maybe; + /** The shipping tracking number for this fulfillment. */ + shippingTrackingNumber?: Maybe; +}; + +/** The reason for the dispute provided by the cardholder's bank. */ +export enum ShopifyPaymentsDisputeReason { + /** The customer's bank can't process the charge. */ + BankCannotProcess = 'BANK_CANNOT_PROCESS', + /** The customer claims that the purchased product was returned or the transaction was otherwise canceled, but you haven't yet provided a refund or credit. */ + CreditNotProcessed = 'CREDIT_NOT_PROCESSED', + /** The customer initiated the dispute. Contact the customer for additional details on why the payment was disputed. */ + CustomerInitiated = 'CUSTOMER_INITIATED', + /** The customer's bank can't proceed with the debit since it hasn't been authorized. */ + DebitNotAuthorized = 'DEBIT_NOT_AUTHORIZED', + /** The customer claims they were charged multiple times for the same product or service. */ + Duplicate = 'DUPLICATE', + /** The cardholder claims that they didn’t authorize the payment. */ + Fraudulent = 'FRAUDULENT', + /** The dispute is uncategorized, so you should contact the customer for additional details to find out why the payment was disputed. */ + General = 'GENERAL', + /** The customer account associated with the purchase is incorrect. */ + IncorrectAccountDetails = 'INCORRECT_ACCOUNT_DETAILS', + /** The customer's bank account has insufficient funds. */ + InsufficientFunds = 'INSUFFICIENT_FUNDS', + /** The customer claims they did not receive the products or services purchased. */ + ProductNotReceived = 'PRODUCT_NOT_RECEIVED', + /** The product or service was received but was defective, damaged, or not as described. */ + ProductUnacceptable = 'PRODUCT_UNACCEPTABLE', + /** The customer claims that you continued to charge them after a subscription was canceled. */ + SubscriptionCancelled = 'SUBSCRIPTION_CANCELLED', + /** The customer doesn’t recognize the payment appearing on their card statement. */ + Unrecognized = 'UNRECOGNIZED' +} + +/** Details regarding a dispute reason. */ +export type ShopifyPaymentsDisputeReasonDetails = { + __typename?: 'ShopifyPaymentsDisputeReasonDetails'; + /** The raw code provided by the payment network. */ + networkReasonCode?: Maybe; + /** The reason for the dispute provided by the cardholder's banks. */ + reason: ShopifyPaymentsDisputeReason; +}; + +/** Presents all Shopify Payments information related to an extended authorization. */ +export type ShopifyPaymentsExtendedAuthorization = { + __typename?: 'ShopifyPaymentsExtendedAuthorization'; + /** The time after which the extended authorization expires. After the expiry, the merchant is unable to capture the payment. */ + extendedAuthorizationExpiresAt: Scalars['DateTime']['output']; + /** The time after which capture will incur an additional fee. */ + standardAuthorizationExpiresAt: Scalars['DateTime']['output']; +}; + +/** The charge descriptors for a Japanese payments account. */ +export type ShopifyPaymentsJpChargeStatementDescriptor = ShopifyPaymentsChargeStatementDescriptor & { + __typename?: 'ShopifyPaymentsJpChargeStatementDescriptor'; + /** The default charge statement descriptor. */ + default?: Maybe; + /** The charge statement descriptor in kana. */ + kana?: Maybe; + /** The charge statement descriptor in kanji. */ + kanji?: Maybe; + /** The prefix of the statement descriptor. */ + prefix: Scalars['String']['output']; +}; + +/** + * Payouts represent the movement of money between a merchant's Shopify + * Payments balance and their bank account. + */ +export type ShopifyPaymentsPayout = LegacyInteroperability & Node & { + __typename?: 'ShopifyPaymentsPayout'; + /** The bank account for the payout. */ + bankAccount?: Maybe; + /** The business entity associated with the payout. */ + businessEntity: BusinessEntity; + /** + * The total amount and currency of the payout. + * @deprecated Use `net` instead. + */ + gross: MoneyV2; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The exact time when the payout was issued. The payout only contains + * balance transactions that were available at this time. + */ + issuedAt: Scalars['DateTime']['output']; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The total amount and currency of the payout. */ + net: MoneyV2; + /** The transfer status of the payout. */ + status: ShopifyPaymentsPayoutStatus; + /** The summary of the payout. */ + summary: ShopifyPaymentsPayoutSummary; + /** The direction of the payout. */ + transactionType: ShopifyPaymentsPayoutTransactionType; +}; + +/** An auto-generated type for paginating through multiple ShopifyPaymentsPayouts. */ +export type ShopifyPaymentsPayoutConnection = { + __typename?: 'ShopifyPaymentsPayoutConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ShopifyPaymentsPayoutEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one ShopifyPaymentsPayout and a cursor during pagination. */ +export type ShopifyPaymentsPayoutEdge = { + __typename?: 'ShopifyPaymentsPayoutEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ShopifyPaymentsPayoutEdge. */ + node: ShopifyPaymentsPayout; +}; + +/** The interval at which payouts are sent to the connected bank account. */ +export enum ShopifyPaymentsPayoutInterval { + /** Each business day. */ + Daily = 'DAILY', + /** Payouts will not be automatically made. */ + Manual = 'MANUAL', + /** Each month, on the day of month specified by monthlyAnchor. */ + Monthly = 'MONTHLY', + /** Each week, on the day of week specified by weeklyAnchor. */ + Weekly = 'WEEKLY' +} + +/** The payment schedule for a payments account. */ +export type ShopifyPaymentsPayoutSchedule = { + __typename?: 'ShopifyPaymentsPayoutSchedule'; + /** The interval at which payouts are sent to the connected bank account. */ + interval: ShopifyPaymentsPayoutInterval; + /** + * The day of the month funds will be paid out. + * + * The value can be any day of the month from the 1st to the 31st. + * If the payment interval is set to monthly, this value will be used. + * Payouts scheduled between 29-31st of the month are sent on the last day of shorter months. + */ + monthlyAnchor?: Maybe; + /** + * The day of the week funds will be paid out. + * + * The value can be any weekday from Monday to Friday. + * If the payment interval is set to weekly, this value will be used. + */ + weeklyAnchor?: Maybe; +}; + +/** The transfer status of the payout. */ +export enum ShopifyPaymentsPayoutStatus { + /** The payout has been canceled by Shopify. */ + Canceled = 'CANCELED', + /** The payout has been declined by the bank. */ + Failed = 'FAILED', + /** The payout has been submitted to the bank. */ + InTransit = 'IN_TRANSIT', + /** The payout has been successfully deposited into the bank. */ + Paid = 'PAID', + /** + * The payout has been created and had transactions assigned to it, but + * it has not yet been submitted to the bank. + */ + Scheduled = 'SCHEDULED' +} + +/** + * Breakdown of the total fees and gross of each of the different types of transactions associated + * with the payout. + */ +export type ShopifyPaymentsPayoutSummary = { + __typename?: 'ShopifyPaymentsPayoutSummary'; + /** Total fees for all adjustments including disputes. */ + adjustmentsFee: MoneyV2; + /** Total gross amount for all adjustments including disputes. */ + adjustmentsGross: MoneyV2; + /** Total fees for all advances. */ + advanceFees: MoneyV2; + /** Total gross amount for all advances. */ + advanceGross: MoneyV2; + /** Total fees for all charges. */ + chargesFee: MoneyV2; + /** Total gross amount for all charges. */ + chargesGross: MoneyV2; + /** Total fees for all refunds. */ + refundsFee: MoneyV2; + /** Total gross amount for all refunds. */ + refundsFeeGross: MoneyV2; + /** Total fees for all reserved funds. */ + reservedFundsFee: MoneyV2; + /** Total gross amount for all reserved funds. */ + reservedFundsGross: MoneyV2; + /** Total fees for all retried payouts. */ + retriedPayoutsFee: MoneyV2; + /** Total gross amount for all retried payouts. */ + retriedPayoutsGross: MoneyV2; +}; + +/** The possible transaction types for a payout. */ +export enum ShopifyPaymentsPayoutTransactionType { + /** The payout is a deposit. */ + Deposit = 'DEPOSIT', + /** The payout is a withdrawal. */ + Withdrawal = 'WITHDRAWAL' +} + +/** Presents all Shopify Payments specific information related to an order refund. */ +export type ShopifyPaymentsRefundSet = { + __typename?: 'ShopifyPaymentsRefundSet'; + /** The acquirer reference number (ARN) code generated for Visa/Mastercard transactions. */ + acquirerReferenceNumber?: Maybe; +}; + +/** The possible source types for a balance transaction. */ +export enum ShopifyPaymentsSourceType { + /** The adjustment source type. */ + Adjustment = 'ADJUSTMENT', + /** The adjustment_reversal source type. */ + AdjustmentReversal = 'ADJUSTMENT_REVERSAL', + /** The charge source type. */ + Charge = 'CHARGE', + /** The dispute source type. */ + Dispute = 'DISPUTE', + /** The refund source type. */ + Refund = 'REFUND', + /** The system_adjustment source type. */ + SystemAdjustment = 'SYSTEM_ADJUSTMENT', + /** The transfer source type. */ + Transfer = 'TRANSFER' +} + +/** Presents all Shopify Payments specific information related to an order transaction. */ +export type ShopifyPaymentsTransactionSet = { + __typename?: 'ShopifyPaymentsTransactionSet'; + /** Contains all fields related to an extended authorization. */ + extendedAuthorizationSet?: Maybe; + /** Contains all fields related to a refund. */ + refundSet?: Maybe; +}; + +/** The possible types of transactions. */ +export enum ShopifyPaymentsTransactionType { + /** The adjustment transaction type. */ + Adjustment = 'ADJUSTMENT', + /** The advance transaction type. */ + Advance = 'ADVANCE', + /** The advance funding transaction type. */ + AdvanceFunding = 'ADVANCE_FUNDING', + /** The anomaly_credit transaction type. */ + AnomalyCredit = 'ANOMALY_CREDIT', + /** The anomaly_credit_reversal transaction type. */ + AnomalyCreditReversal = 'ANOMALY_CREDIT_REVERSAL', + /** The anomaly_debit transaction type. */ + AnomalyDebit = 'ANOMALY_DEBIT', + /** The anomaly_debit_reversal transaction type. */ + AnomalyDebitReversal = 'ANOMALY_DEBIT_REVERSAL', + /** The application_fee_refund transaction type. */ + ApplicationFeeRefund = 'APPLICATION_FEE_REFUND', + /** The balance_transfer_inbound transaction type. */ + BalanceTransferInbound = 'BALANCE_TRANSFER_INBOUND', + /** The billing_debit transaction type. */ + BillingDebit = 'BILLING_DEBIT', + /** The billing_debit_reversal transaction type. */ + BillingDebitReversal = 'BILLING_DEBIT_REVERSAL', + /** The channel_credit transaction type. */ + ChannelCredit = 'CHANNEL_CREDIT', + /** The channel_credit_reversal transaction type. */ + ChannelCreditReversal = 'CHANNEL_CREDIT_REVERSAL', + /** The channel_promotion_credit transaction type. */ + ChannelPromotionCredit = 'CHANNEL_PROMOTION_CREDIT', + /** The channel_promotion_credit_reversal transaction type. */ + ChannelPromotionCreditReversal = 'CHANNEL_PROMOTION_CREDIT_REVERSAL', + /** The channel_transfer_credit transaction type. */ + ChannelTransferCredit = 'CHANNEL_TRANSFER_CREDIT', + /** The channel_transfer_credit_reversal transaction type. */ + ChannelTransferCreditReversal = 'CHANNEL_TRANSFER_CREDIT_REVERSAL', + /** The channel_transfer_debit transaction type. */ + ChannelTransferDebit = 'CHANNEL_TRANSFER_DEBIT', + /** The channel_transfer_debit_reversal transaction type. */ + ChannelTransferDebitReversal = 'CHANNEL_TRANSFER_DEBIT_REVERSAL', + /** The charge transaction type. */ + Charge = 'CHARGE', + /** The chargeback_fee transaction type. */ + ChargebackFee = 'CHARGEBACK_FEE', + /** The chargeback_fee_refund transaction type. */ + ChargebackFeeRefund = 'CHARGEBACK_FEE_REFUND', + /** The chargeback_hold transaction type. */ + ChargebackHold = 'CHARGEBACK_HOLD', + /** The chargeback_hold_release transaction type. */ + ChargebackHoldRelease = 'CHARGEBACK_HOLD_RELEASE', + /** The chargeback_protection_credit transaction type. */ + ChargebackProtectionCredit = 'CHARGEBACK_PROTECTION_CREDIT', + /** The chargeback_protection_credit_reversal transaction type. */ + ChargebackProtectionCreditReversal = 'CHARGEBACK_PROTECTION_CREDIT_REVERSAL', + /** The chargeback_protection_debit transaction type. */ + ChargebackProtectionDebit = 'CHARGEBACK_PROTECTION_DEBIT', + /** The chargeback_protection_debit_reversal transaction type. */ + ChargebackProtectionDebitReversal = 'CHARGEBACK_PROTECTION_DEBIT_REVERSAL', + /** The charge_adjustment transaction type. */ + ChargeAdjustment = 'CHARGE_ADJUSTMENT', + /** The collections_credit transaction type. */ + CollectionsCredit = 'COLLECTIONS_CREDIT', + /** The collections_credit_reversal transaction type. */ + CollectionsCreditReversal = 'COLLECTIONS_CREDIT_REVERSAL', + /** The customs_duty transaction type. */ + CustomsDuty = 'CUSTOMS_DUTY', + /** The customs_duty_adjustment transaction type. */ + CustomsDutyAdjustment = 'CUSTOMS_DUTY_ADJUSTMENT', + /** The dispute_reversal transaction type. */ + DisputeReversal = 'DISPUTE_REVERSAL', + /** The dispute_withdrawal transaction type. */ + DisputeWithdrawal = 'DISPUTE_WITHDRAWAL', + /** The import_tax transaction type. */ + ImportTax = 'IMPORT_TAX', + /** The import_tax_adjustment transaction type. */ + ImportTaxAdjustment = 'IMPORT_TAX_ADJUSTMENT', + /** The marketplace_fee_credit transaction type. */ + MarketplaceFeeCredit = 'MARKETPLACE_FEE_CREDIT', + /** The marketplace_fee_credit_reversal transaction type. */ + MarketplaceFeeCreditReversal = 'MARKETPLACE_FEE_CREDIT_REVERSAL', + /** The markets_pro_credit transaction type. */ + MarketsProCredit = 'MARKETS_PRO_CREDIT', + /** The merchant_goodwill_credit transaction type. */ + MerchantGoodwillCredit = 'MERCHANT_GOODWILL_CREDIT', + /** The merchant_goodwill_credit_reversal transaction type. */ + MerchantGoodwillCreditReversal = 'MERCHANT_GOODWILL_CREDIT_REVERSAL', + /** The merchant_to_merchant_credit transaction type. */ + MerchantToMerchantCredit = 'MERCHANT_TO_MERCHANT_CREDIT', + /** The merchant_to_merchant_credit_reversal transaction type. */ + MerchantToMerchantCreditReversal = 'MERCHANT_TO_MERCHANT_CREDIT_REVERSAL', + /** The merchant_to_merchant_debit transaction type. */ + MerchantToMerchantDebit = 'MERCHANT_TO_MERCHANT_DEBIT', + /** The merchant_to_merchant_debit_reversal transaction type. */ + MerchantToMerchantDebitReversal = 'MERCHANT_TO_MERCHANT_DEBIT_REVERSAL', + /** The promotion_credit transaction type. */ + PromotionCredit = 'PROMOTION_CREDIT', + /** The promotion_credit_reversal transaction type. */ + PromotionCreditReversal = 'PROMOTION_CREDIT_REVERSAL', + /** The refund transaction type. */ + Refund = 'REFUND', + /** The refund_adjustment transaction type. */ + RefundAdjustment = 'REFUND_ADJUSTMENT', + /** The refund_failure transaction type. */ + RefundFailure = 'REFUND_FAILURE', + /** The reserved_funds transaction type. */ + ReservedFunds = 'RESERVED_FUNDS', + /** The reserved_funds_reversal transaction type. */ + ReservedFundsReversal = 'RESERVED_FUNDS_REVERSAL', + /** The reserved_funds_withdrawal transaction type. */ + ReservedFundsWithdrawal = 'RESERVED_FUNDS_WITHDRAWAL', + /** The risk_reversal transaction type. */ + RiskReversal = 'RISK_REVERSAL', + /** The risk_withdrawal transaction type. */ + RiskWithdrawal = 'RISK_WITHDRAWAL', + /** The seller_protection_credit transaction type. */ + SellerProtectionCredit = 'SELLER_PROTECTION_CREDIT', + /** The seller_protection_credit_reversal transaction type. */ + SellerProtectionCreditReversal = 'SELLER_PROTECTION_CREDIT_REVERSAL', + /** The shipping_label transaction type. */ + ShippingLabel = 'SHIPPING_LABEL', + /** The shipping_label_adjustment transaction type. */ + ShippingLabelAdjustment = 'SHIPPING_LABEL_ADJUSTMENT', + /** The shipping_label_adjustment_base transaction type. */ + ShippingLabelAdjustmentBase = 'SHIPPING_LABEL_ADJUSTMENT_BASE', + /** The shipping_label_adjustment_surcharge transaction type. */ + ShippingLabelAdjustmentSurcharge = 'SHIPPING_LABEL_ADJUSTMENT_SURCHARGE', + /** The shipping_other_carrier_charge_adjustment transaction type. */ + ShippingOtherCarrierChargeAdjustment = 'SHIPPING_OTHER_CARRIER_CHARGE_ADJUSTMENT', + /** The shipping_return_to_origin_adjustment transaction type. */ + ShippingReturnToOriginAdjustment = 'SHIPPING_RETURN_TO_ORIGIN_ADJUSTMENT', + /** The shopify_collective_credit transaction type. */ + ShopifyCollectiveCredit = 'SHOPIFY_COLLECTIVE_CREDIT', + /** The shopify_collective_credit_reversal transaction type. */ + ShopifyCollectiveCreditReversal = 'SHOPIFY_COLLECTIVE_CREDIT_REVERSAL', + /** The shopify_collective_debit transaction type. */ + ShopifyCollectiveDebit = 'SHOPIFY_COLLECTIVE_DEBIT', + /** The shopify_collective_debit_reversal transaction type. */ + ShopifyCollectiveDebitReversal = 'SHOPIFY_COLLECTIVE_DEBIT_REVERSAL', + /** The shopify_source_credit transaction type. */ + ShopifySourceCredit = 'SHOPIFY_SOURCE_CREDIT', + /** The shopify_source_credit_reversal transaction type. */ + ShopifySourceCreditReversal = 'SHOPIFY_SOURCE_CREDIT_REVERSAL', + /** The shopify_source_debit transaction type. */ + ShopifySourceDebit = 'SHOPIFY_SOURCE_DEBIT', + /** The shopify_source_debit_reversal transaction type. */ + ShopifySourceDebitReversal = 'SHOPIFY_SOURCE_DEBIT_REVERSAL', + /** The shop_cash_billing_debit transaction type. */ + ShopCashBillingDebit = 'SHOP_CASH_BILLING_DEBIT', + /** The shop_cash_billing_debit_reversal transaction type. */ + ShopCashBillingDebitReversal = 'SHOP_CASH_BILLING_DEBIT_REVERSAL', + /** The shop_cash_campaign_billing_credit transaction type. */ + ShopCashCampaignBillingCredit = 'SHOP_CASH_CAMPAIGN_BILLING_CREDIT', + /** The shop_cash_campaign_billing_credit_reversal transaction type. */ + ShopCashCampaignBillingCreditReversal = 'SHOP_CASH_CAMPAIGN_BILLING_CREDIT_REVERSAL', + /** The shop_cash_campaign_billing_debit transaction type. */ + ShopCashCampaignBillingDebit = 'SHOP_CASH_CAMPAIGN_BILLING_DEBIT', + /** The shop_cash_campaign_billing_debit_reversal transaction type. */ + ShopCashCampaignBillingDebitReversal = 'SHOP_CASH_CAMPAIGN_BILLING_DEBIT_REVERSAL', + /** The shop_cash_credit transaction type. */ + ShopCashCredit = 'SHOP_CASH_CREDIT', + /** The shop_cash_credit_reversal transaction type. */ + ShopCashCreditReversal = 'SHOP_CASH_CREDIT_REVERSAL', + /** The shop_cash_refund_debit transaction type. */ + ShopCashRefundDebit = 'SHOP_CASH_REFUND_DEBIT', + /** The shop_cash_refund_debit_reversal transaction type. */ + ShopCashRefundDebitReversal = 'SHOP_CASH_REFUND_DEBIT_REVERSAL', + /** The stripe_fee transaction type. */ + StripeFee = 'STRIPE_FEE', + /** The tax_adjustment_credit transaction type. */ + TaxAdjustmentCredit = 'TAX_ADJUSTMENT_CREDIT', + /** The tax_adjustment_credit_reversal transaction type. */ + TaxAdjustmentCreditReversal = 'TAX_ADJUSTMENT_CREDIT_REVERSAL', + /** The tax_adjustment_debit transaction type. */ + TaxAdjustmentDebit = 'TAX_ADJUSTMENT_DEBIT', + /** The tax_adjustment_debit_reversal transaction type. */ + TaxAdjustmentDebitReversal = 'TAX_ADJUSTMENT_DEBIT_REVERSAL', + /** The transfer transaction type. */ + Transfer = 'TRANSFER', + /** The transfer_cancel transaction type. */ + TransferCancel = 'TRANSFER_CANCEL', + /** The transfer_failure transaction type. */ + TransferFailure = 'TRANSFER_FAILURE', + /** The transfer_refund transaction type. */ + TransferRefund = 'TRANSFER_REFUND', + /** The vat_refund_credit transaction type. */ + VatRefundCredit = 'VAT_REFUND_CREDIT', + /** The vat_refund_credit_reversal transaction type. */ + VatRefundCreditReversal = 'VAT_REFUND_CREDIT_REVERSAL' +} + +/** + * Each subject (individual) of an account has a verification object giving + * information about the verification state. + */ +export type ShopifyPaymentsVerification = Node & { + __typename?: 'ShopifyPaymentsVerification'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The status of the verification. */ + status: ShopifyPaymentsVerificationStatus; + /** The subject/individual who has to be verified. */ + subject: ShopifyPaymentsVerificationSubject; +}; + +/** The status of a verification. */ +export enum ShopifyPaymentsVerificationStatus { + /** The verification request has been submitted but a response has not yet been given. */ + Pending = 'PENDING', + /** The verification has not yet been verified. */ + Unverified = 'UNVERIFIED', + /** The verification has been verified. */ + Verified = 'VERIFIED' +} + +/** The verification subject represents an individual that has to be verified. */ +export type ShopifyPaymentsVerificationSubject = { + __typename?: 'ShopifyPaymentsVerificationSubject'; + /** The family name of the individual to verify. */ + familyName: Scalars['String']['output']; + /** The given name of the individual to verify. */ + givenName: Scalars['String']['output']; +}; + +/** The status of an order's eligibility for protection against fraudulent chargebacks by Shopify Protect. */ +export enum ShopifyProtectEligibilityStatus { + /** + * The order is eligible for protection against fraudulent chargebacks. + * If an order is updated, the order's eligibility may change and protection could be removed. + */ + Eligible = 'ELIGIBLE', + /** The order isn't eligible for protection against fraudulent chargebacks. */ + NotEligible = 'NOT_ELIGIBLE', + /** The eligibility of the order is pending and has not yet been determined. */ + Pending = 'PENDING' +} + +/** The eligibility details of an order's protection against fraudulent chargebacks by Shopify Protect. */ +export type ShopifyProtectOrderEligibility = { + __typename?: 'ShopifyProtectOrderEligibility'; + /** The status of whether an order is eligible for protection against fraudulent chargebacks. */ + status: ShopifyProtectEligibilityStatus; +}; + +/** A summary of Shopify Protect details for an order. */ +export type ShopifyProtectOrderSummary = { + __typename?: 'ShopifyProtectOrderSummary'; + /** The eligibility details of an order's protection against fraudulent chargebacks. */ + eligibility: ShopifyProtectOrderEligibility; + /** The status of the order's protection against fraudulent chargebacks. */ + status: ShopifyProtectStatus; +}; + +/** The status of an order's protection with Shopify Protect. */ +export enum ShopifyProtectStatus { + /** + * The protection for the order is active and eligible for reimbursement against fraudulent chargebacks. + * If an order is updated, the order's eligibility may change and protection could become inactive. + */ + Active = 'ACTIVE', + /** The protection for an order isn't active because the order didn't meet eligibility requirements. */ + Inactive = 'INACTIVE', + /** The order received a chargeback but the order wasn't protected because it didn't meet coverage requirements. */ + NotProtected = 'NOT_PROTECTED', + /** The protection for the order is pending and has not yet been determined. */ + Pending = 'PENDING', + /** The order received a fraudulent chargeback and it was protected. */ + Protected = 'PROTECTED' +} + +/** Represents the data about a staff member's Shopify account. Merchants can use staff member data to get more information about the staff members in their store. */ +export type StaffMember = Node & { + __typename?: 'StaffMember'; + /** The type of account the staff member has. */ + accountType?: Maybe; + /** Whether the staff member is active. */ + active: Scalars['Boolean']['output']; + /** The image used as the staff member's avatar in the Shopify admin. */ + avatar: Image; + /** The staff member's email address. */ + email: Scalars['String']['output']; + /** Whether the staff member's account exists. */ + exists: Scalars['Boolean']['output']; + /** The staff member's first name. */ + firstName?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The staff member's initials, if available. */ + initials?: Maybe>; + /** Whether the staff member is the shop owner. */ + isShopOwner: Scalars['Boolean']['output']; + /** The staff member's last name. */ + lastName?: Maybe; + /** The staff member's preferred locale. Locale values use the format `language` or `language-COUNTRY`, where `language` is a two-letter language code, and `COUNTRY` is a two-letter country code. For example: `en` or `en-US` */ + locale: Scalars['String']['output']; + /** The staff member's full name. */ + name: Scalars['String']['output']; + /** The staff member's phone number. */ + phone?: Maybe; + /** The data used to customize the Shopify admin experience for the staff member. */ + privateData: StaffMemberPrivateData; +}; + + +/** Represents the data about a staff member's Shopify account. Merchants can use staff member data to get more information about the staff members in their store. */ +export type StaffMemberAvatarArgs = { + fallback?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple StaffMembers. */ +export type StaffMemberConnection = { + __typename?: 'StaffMemberConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in StaffMemberEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Represents the fallback avatar image for a staff member. This is used only if the staff member has no avatar image. */ +export enum StaffMemberDefaultImage { + /** Returns a default avatar image for the staff member. */ + Default = 'DEFAULT', + /** Returns a URL that returns a 404 error if the image is not present. */ + NotFound = 'NOT_FOUND', + /** Returns a transparent avatar image for the staff member. */ + Transparent = 'TRANSPARENT' +} + +/** An auto-generated type which holds one StaffMember and a cursor during pagination. */ +export type StaffMemberEdge = { + __typename?: 'StaffMemberEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of StaffMemberEdge. */ + node: StaffMember; +}; + +/** Represents access permissions for a staff member. */ +export enum StaffMemberPermission { + /** The staff member can manage and install apps and channels. */ + Applications = 'APPLICATIONS', + /** The staff member can manage and install sales channels. */ + Channels = 'CHANNELS', + /** The staff member can create and edit customers. */ + CreateAndEditCustomers = 'CREATE_AND_EDIT_CUSTOMERS', + /** The staff member can create and edit gift cards. */ + CreateAndEditGiftCards = 'CREATE_AND_EDIT_GIFT_CARDS', + /** The staff member can view customers. */ + Customers = 'CUSTOMERS', + /** The staff member can view the Shopify Home page, which includes sales information and other shop data. */ + Dashboard = 'DASHBOARD', + /** The staff member can deactivate gift cards. */ + DeactivateGiftCards = 'DEACTIVATE_GIFT_CARDS', + /** The staff member can delete customers. */ + DeleteCustomers = 'DELETE_CUSTOMERS', + /** The staff member can view, buy, and manage domains. */ + Domains = 'DOMAINS', + /** The staff member can create, update, and delete draft orders. */ + DraftOrders = 'DRAFT_ORDERS', + /** The staff member can update orders. */ + EditOrders = 'EDIT_ORDERS', + /** The staff member can erase customer private data. */ + EraseCustomerData = 'ERASE_CUSTOMER_DATA', + /** The staff member can export customers. */ + ExportCustomers = 'EXPORT_CUSTOMERS', + /** The staff member can export gift cards. */ + ExportGiftCards = 'EXPORT_GIFT_CARDS', + /** + * The staff has the same permissions as the [store owner](https://shopify.dev/en/manual/your-account/staff-accounts/staff-permissions#store-owner-permissions) with some exceptions, such as modifying the account billing or deleting staff accounts. + * @deprecated Use the list of the staff member's explicit permissions returned in the `StaffMember.permissions.userPermissions` field instead of `full` permission. + */ + Full = 'FULL', + /** The staff member can view, create, issue, and export gift cards to a CSV file. */ + GiftCards = 'GIFT_CARDS', + /** The staff member can view and modify links and navigation menus. */ + Links = 'LINKS', + /** The staff member can create, update, and delete locations where inventory is stocked or managed. */ + Locations = 'LOCATIONS', + /** The staff member can view and create discount codes and automatic discounts, and export discounts to a CSV file. */ + Marketing = 'MARKETING', + /** The staff member can view, create, and automate marketing campaigns. */ + MarketingSection = 'MARKETING_SECTION', + /** The staff member can merge customers. */ + MergeCustomers = 'MERGE_CUSTOMERS', + /** The staff member can view, create, update, delete, and cancel orders, and receive order notifications. The staff member can still create draft orders without this permission. */ + Orders = 'ORDERS', + /** The staff member can view the Overview and Live view pages, which include sales information, and other shop and sales channels data. */ + Overviews = 'OVERVIEWS', + /** The staff member can view, create, update, publish, and delete blog posts and pages. */ + Pages = 'PAGES', + /** The staff member can pay for an order by using a vaulted card. */ + PayOrdersByVaultedCard = 'PAY_ORDERS_BY_VAULTED_CARD', + /** The staff member can view the preferences and configuration of a shop. */ + Preferences = 'PREFERENCES', + /** The staff member can view, create, import, and update products, collections, and inventory. */ + Products = 'PRODUCTS', + /** The staff member can view and create all reports, which includes sales information and other shop data. */ + Reports = 'REPORTS', + /** The staff member can request customer private data. */ + RequestCustomerData = 'REQUEST_CUSTOMER_DATA', + /** The staff member can view, update, and publish themes. */ + Themes = 'THEMES', + /** + * The staff member can view and create translations. + * @deprecated Unused. + */ + Translations = 'TRANSLATIONS' +} + +/** Represents the data used to customize the Shopify admin experience for a logged-in staff member. */ +export type StaffMemberPrivateData = { + __typename?: 'StaffMemberPrivateData'; + /** The URL to the staff member's account settings page. */ + accountSettingsUrl: Scalars['URL']['output']; + /** The date and time when the staff member was created. */ + createdAt: Scalars['DateTime']['output']; + /** + * Access permissions for the staff member. + * @deprecated There's no alternative field to use instead. + */ + permissions: Array; +}; + +/** The set of valid sort keys for the StaffMembers query. */ +export enum StaffMembersSortKeys { + /** Sort by the `email` value. */ + Email = 'EMAIL', + /** Sort by the `first_name` value. */ + FirstName = 'FIRST_NAME', + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `last_name` value. */ + LastName = 'LAST_NAME' +} + +/** + * An image to be uploaded. + * + * Deprecated in favor of + * [StagedUploadInput](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadInput), + * which is used by the + * [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate). + */ +export type StageImageInput = { + /** The image filename. */ + filename: Scalars['String']['input']; + /** HTTP method to be used by the staged upload. */ + httpMethod?: InputMaybe; + /** The image MIME type. */ + mimeType: Scalars['String']['input']; + /** The image resource. */ + resource: StagedUploadTargetGenerateUploadResource; +}; + +/** + * Information about a staged upload target, which should be used to send a request to upload + * the file. + * + * For more information on the upload process, refer to + * [Upload media to Shopify](https://shopify.dev/apps/online-store/media/products#step-1-upload-media-to-shopify). + */ +export type StagedMediaUploadTarget = { + __typename?: 'StagedMediaUploadTarget'; + /** Parameters needed to authenticate a request to upload the file. */ + parameters: Array; + /** + * The URL to be passed as `originalSource` in + * [CreateMediaInput](https://shopify.dev/api/admin-graphql/latest/input-objects/CreateMediaInput) + * and [FileCreateInput](https://shopify.dev/api/admin-graphql/2022-04/input-objects/FileCreateInput) + * for the [productCreateMedia](https://shopify.dev/api/admin-graphql/2022-04/mutations/productCreateMedia) + * and [fileCreate](https://shopify.dev/api/admin-graphql/2022-04/mutations/fileCreate) + * mutations. + */ + resourceUrl?: Maybe; + /** + * The URL to use when sending an request to upload the file. Should be used in conjunction with + * the parameters field. + */ + url?: Maybe; +}; + +/** + * The possible HTTP methods that can be used when sending a request to upload a file using information from a + * [StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget). + */ +export enum StagedUploadHttpMethodType { + /** The POST HTTP method. */ + Post = 'POST', + /** The PUT HTTP method. */ + Put = 'PUT' +} + +/** The input fields for generating staged upload targets. */ +export type StagedUploadInput = { + /** + * The size of the file to upload, in bytes. This is required when the request's resource property is set to + * [VIDEO](https://shopify.dev/api/admin-graphql/latest/enums/StagedUploadTargetGenerateUploadResource#value-video) + * or [MODEL_3D](https://shopify.dev/api/admin-graphql/latest/enums/StagedUploadTargetGenerateUploadResource#value-model3d). + */ + fileSize?: InputMaybe; + /** The file's name and extension. */ + filename: Scalars['String']['input']; + /** + * The HTTP method to be used when sending a request to upload the file using the returned staged + * upload target. + */ + httpMethod?: InputMaybe; + /** The file's MIME type. */ + mimeType: Scalars['String']['input']; + /** The file's intended Shopify resource type. */ + resource: StagedUploadTargetGenerateUploadResource; +}; + +/** + * The parameters required to authenticate a file upload request using a + * [StagedMediaUploadTarget's url field](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget#field-stagedmediauploadtarget-url). + * + * For more information on the upload process, refer to + * [Upload media to Shopify](https://shopify.dev/apps/online-store/media/products#step-1-upload-media-to-shopify). + */ +export type StagedUploadParameter = { + __typename?: 'StagedUploadParameter'; + /** The parameter's name. */ + name: Scalars['String']['output']; + /** The parameter's value. */ + value: Scalars['String']['output']; +}; + +/** + * Information about the staged target. + * + * Deprecated in favor of + * [StagedMediaUploadTarget](https://shopify.dev/api/admin-graphql/latest/objects/StagedMediaUploadTarget), + * which is returned by the + * [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate). + */ +export type StagedUploadTarget = { + __typename?: 'StagedUploadTarget'; + /** The parameters of an image to be uploaded. */ + parameters: Array; + /** The image URL. */ + url: Scalars['String']['output']; +}; + +/** + * The required fields and parameters to generate the URL upload an" + * asset to Shopify. + * + * Deprecated in favor of + * [StagedUploadInput](https://shopify.dev/api/admin-graphql/latest/objects/StagedUploadInput), + * which is used by the + * [stagedUploadsCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/stagedUploadsCreate). + */ +export type StagedUploadTargetGenerateInput = { + /** The size of the file to upload, in bytes. */ + fileSize?: InputMaybe; + /** The filename of the asset being uploaded. */ + filename: Scalars['String']['input']; + /** The HTTP method to be used by the staged upload. */ + httpMethod?: InputMaybe; + /** The MIME type of the asset being uploaded. */ + mimeType: Scalars['String']['input']; + /** The resource type being uploaded. */ + resource: StagedUploadTargetGenerateUploadResource; +}; + +/** Return type for `stagedUploadTargetGenerate` mutation. */ +export type StagedUploadTargetGeneratePayload = { + __typename?: 'StagedUploadTargetGeneratePayload'; + /** The signed parameters that can be used to upload the asset. */ + parameters: Array; + /** The signed URL where the asset can be uploaded. */ + url: Scalars['String']['output']; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The resource type to receive. */ +export enum StagedUploadTargetGenerateUploadResource { + /** + * Represents bulk mutation variables. + * + * For example, bulk mutation variables can be used for bulk operations using the + * [bulkOperationRunMutation mutation](https://shopify.dev/api/admin-graphql/latest/mutations/bulkOperationRunMutation). + */ + BulkMutationVariables = 'BULK_MUTATION_VARIABLES', + /** + * An image associated with a collection. + * + * For example, after uploading an image, you can use the + * [collectionUpdate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/collectionUpdate) + * to add the image to a collection. + */ + CollectionImage = 'COLLECTION_IMAGE', + /** + * Represents any file other than HTML. + * + * For example, after uploading the file, you can add the file to the + * [Files page](https://shopify.com/admin/settings/files) in Shopify admin using the + * [fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate). + */ + File = 'FILE', + /** + * An image. + * + * For example, after uploading an image, you can add the image to a product using the + * [productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia) + * or to the [Files page](https://shopify.com/admin/settings/files) in Shopify admin using the + * [fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate). + */ + Image = 'IMAGE', + /** + * A Shopify hosted 3d model. + * + * For example, after uploading the 3d model, you can add the 3d model to a product using the + * [productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia). + */ + Model_3D = 'MODEL_3D', + /** + * An image that's associated with a product. + * + * For example, after uploading the image, you can add the image to a product using the + * [productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia). + */ + ProductImage = 'PRODUCT_IMAGE', + /** + * Represents a label associated with a return. + * + * For example, once uploaded, this resource can be used to [create a + * ReverseDelivery](https://shopify.dev/api/admin-graphql/unstable/mutations/reverseDeliveryCreateWithShipping). + */ + ReturnLabel = 'RETURN_LABEL', + /** + * An image. + * + * For example, after uploading the image, you can add the image to the + * [Files page](https://shopify.com/admin/settings/files) in Shopify admin using the + * [fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate). + */ + ShopImage = 'SHOP_IMAGE', + /** + * Represents a redirect CSV file. + * + * Example usage: This resource can be used for creating a + * [UrlRedirectImport](https://shopify.dev/api/admin-graphql/2022-04/objects/UrlRedirectImport) + * object for use in the + * [urlRedirectImportCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/urlRedirectImportCreate). + */ + UrlRedirectImport = 'URL_REDIRECT_IMPORT', + /** + * A Shopify-hosted video. + * + * For example, after uploading the video, you can add the video to a product using the + * [productCreateMedia mutation](https://shopify.dev/api/admin-graphql/latest/mutations/productCreateMedia) + * or to the [Files page](https://shopify.com/admin/settings/files) in Shopify admin using the + * [fileCreate mutation](https://shopify.dev/api/admin-graphql/latest/mutations/fileCreate). + */ + Video = 'VIDEO' +} + +/** Return type for `stagedUploadTargetsGenerate` mutation. */ +export type StagedUploadTargetsGeneratePayload = { + __typename?: 'StagedUploadTargetsGeneratePayload'; + /** The staged upload targets that were generated. */ + urls?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `stagedUploadsCreate` mutation. */ +export type StagedUploadsCreatePayload = { + __typename?: 'StagedUploadsCreatePayload'; + /** The staged upload targets that were generated. */ + stagedTargets?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for the access settings for the metafields under the standard definition. */ +export type StandardMetafieldDefinitionAccessInput = { + /** The Admin API access setting to use for the metafields under this definition. */ + admin: MetafieldAdminAccessInput; + /** The Customer Account API access setting to use for the metafields under this definition. */ + customerAccount?: InputMaybe; + /** The Storefront API access setting to use for the metafields under this definition. */ + storefront?: InputMaybe; +}; + +/** Return type for `standardMetafieldDefinitionEnable` mutation. */ +export type StandardMetafieldDefinitionEnablePayload = { + __typename?: 'StandardMetafieldDefinitionEnablePayload'; + /** The metafield definition that was created. */ + createdDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `StandardMetafieldDefinitionEnable`. */ +export type StandardMetafieldDefinitionEnableUserError = DisplayableError & { + __typename?: 'StandardMetafieldDefinitionEnableUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `StandardMetafieldDefinitionEnableUserError`. */ +export enum StandardMetafieldDefinitionEnableUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The input combination is invalid. */ + InvalidInputCombination = 'INVALID_INPUT_COMBINATION', + /** The maximum number of definitions per owner type has been exceeded. */ + LimitExceeded = 'LIMIT_EXCEEDED', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The standard metafield definition template was not found. */ + TemplateNotFound = 'TEMPLATE_NOT_FOUND', + /** The definition type is not eligible to be used as collection condition. */ + TypeNotAllowedForConditions = 'TYPE_NOT_ALLOWED_FOR_CONDITIONS', + /** The namespace and key is already in use for a set of your metafields. */ + UnstructuredAlreadyExists = 'UNSTRUCTURED_ALREADY_EXISTS' +} + +/** + * Standard metafield definition templates provide preset configurations to create metafield definitions. + * Each template has a specific namespace and key that we've reserved to have specific meanings for common use cases. + * + * Refer to the [list of standard metafield definitions](https://shopify.dev/apps/metafields/definitions/standard-definitions). + */ +export type StandardMetafieldDefinitionTemplate = Node & { + __typename?: 'StandardMetafieldDefinitionTemplate'; + /** The description of the standard metafield definition. */ + description?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The key owned by the definition after the definition has been activated. */ + key: Scalars['String']['output']; + /** The human-readable name for the standard metafield definition. */ + name: Scalars['String']['output']; + /** The namespace owned by the definition after the definition has been activated. */ + namespace: Scalars['String']['output']; + /** The list of resource types that the standard metafield definition can be applied to. */ + ownerTypes: Array; + /** The associated [metafield definition type](https://shopify.dev/apps/metafields/definitions/types) that the metafield stores. */ + type: MetafieldDefinitionType; + /** The configured validations for the standard metafield definition. */ + validations: Array; + /** Whether metafields for the definition are by default visible using the Storefront API. */ + visibleToStorefrontApi: Scalars['Boolean']['output']; +}; + +/** An auto-generated type for paginating through multiple StandardMetafieldDefinitionTemplates. */ +export type StandardMetafieldDefinitionTemplateConnection = { + __typename?: 'StandardMetafieldDefinitionTemplateConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in StandardMetafieldDefinitionTemplateEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one StandardMetafieldDefinitionTemplate and a cursor during pagination. */ +export type StandardMetafieldDefinitionTemplateEdge = { + __typename?: 'StandardMetafieldDefinitionTemplateEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of StandardMetafieldDefinitionTemplateEdge. */ + node: StandardMetafieldDefinitionTemplate; +}; + +/** Return type for `standardMetaobjectDefinitionEnable` mutation. */ +export type StandardMetaobjectDefinitionEnablePayload = { + __typename?: 'StandardMetaobjectDefinitionEnablePayload'; + /** The metaobject definition that was enabled using the standard template. */ + metaobjectDefinition?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents the details of a specific type of product within the [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). */ +export type StandardizedProductType = { + __typename?: 'StandardizedProductType'; + /** The product taxonomy node associated with the standardized product type. */ + productTaxonomyNode?: Maybe; +}; + +/** + * A store credit account contains a monetary balance that can be redeemed at checkout for purchases in the shop. + * The account is held in the specified currency and has an owner that cannot be transferred. + * + * The account balance is redeemable at checkout only when the owner is authenticated via [new customer accounts authentication](https://shopify.dev/docs/api/customer). + */ +export type StoreCreditAccount = Node & { + __typename?: 'StoreCreditAccount'; + /** The current balance of the store credit account. */ + balance: MoneyV2; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The owner of the store credit account. */ + owner: HasStoreCreditAccounts; + /** The transaction history of the store credit account. */ + transactions: StoreCreditAccountTransactionConnection; +}; + + +/** + * A store credit account contains a monetary balance that can be redeemed at checkout for purchases in the shop. + * The account is held in the specified currency and has an owner that cannot be transferred. + * + * The account balance is redeemable at checkout only when the owner is authenticated via [new customer accounts authentication](https://shopify.dev/docs/api/customer). + */ +export type StoreCreditAccountTransactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple StoreCreditAccounts. */ +export type StoreCreditAccountConnection = { + __typename?: 'StoreCreditAccountConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in StoreCreditAccountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields for a store credit account credit transaction. */ +export type StoreCreditAccountCreditInput = { + /** The amount to credit the store credit account. */ + creditAmount: MoneyInput; + /** The date and time when the credit expires. */ + expiresAt?: InputMaybe; +}; + +/** Return type for `storeCreditAccountCredit` mutation. */ +export type StoreCreditAccountCreditPayload = { + __typename?: 'StoreCreditAccountCreditPayload'; + /** The store credit account transaction that was created. */ + storeCreditAccountTransaction?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** A credit transaction which increases the store credit account balance. */ +export type StoreCreditAccountCreditTransaction = Node & StoreCreditAccountTransaction & { + __typename?: 'StoreCreditAccountCreditTransaction'; + /** The store credit account that the transaction belongs to. */ + account: StoreCreditAccount; + /** The amount of the transaction. */ + amount: MoneyV2; + /** The balance of the account after the transaction. */ + balanceAfterTransaction: MoneyV2; + /** The date and time when the transaction was created. */ + createdAt: Scalars['DateTime']['output']; + /** + * The time at which the transaction expires. + * Debit transactions will always spend the soonest expiring credit first. + */ + expiresAt?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** + * The remaining amount of the credit. + * The remaining amount will decrease when a debit spends this credit. It may also increase if that debit is subsequently reverted. + * In the event that the credit expires, the remaining amount will represent the amount that remained as the expiry ocurred. + */ + remainingAmount: MoneyV2; +}; + +/** An error that occurs during the execution of `StoreCreditAccountCredit`. */ +export type StoreCreditAccountCreditUserError = DisplayableError & { + __typename?: 'StoreCreditAccountCreditUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `StoreCreditAccountCreditUserError`. */ +export enum StoreCreditAccountCreditUserErrorCode { + /** The store credit account could not be found. */ + AccountNotFound = 'ACCOUNT_NOT_FOUND', + /** The operation would cause the account's credit limit to be exceeded. */ + CreditLimitExceeded = 'CREDIT_LIMIT_EXCEEDED', + /** The expiry date must be in the future. */ + ExpiresAtInPast = 'EXPIRES_AT_IN_PAST', + /** The currency provided does not match the currency of the store credit account. */ + MismatchingCurrency = 'MISMATCHING_CURRENCY', + /** A positive amount must be used to credit a store credit account. */ + NegativeOrZeroAmount = 'NEGATIVE_OR_ZERO_AMOUNT', + /** Owner does not exist. */ + OwnerNotFound = 'OWNER_NOT_FOUND' +} + +/** The input fields for a store credit account debit transaction. */ +export type StoreCreditAccountDebitInput = { + /** The amount to debit the store credit account. */ + debitAmount: MoneyInput; +}; + +/** Return type for `storeCreditAccountDebit` mutation. */ +export type StoreCreditAccountDebitPayload = { + __typename?: 'StoreCreditAccountDebitPayload'; + /** The store credit account transaction that was created. */ + storeCreditAccountTransaction?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** + * A debit revert transaction which increases the store credit account balance. + * Debit revert transactions are created automatically when a [store credit account debit transaction](https://shopify.dev/api/admin-graphql/latest/objects/StoreCreditAccountDebitTransaction) is reverted. + * + * Store credit account debit transactions are reverted when an order is cancelled, refunded or in the event of a payment failure at checkout. + * The amount added to the balance is equal to the amount reverted on the original credit. + */ +export type StoreCreditAccountDebitRevertTransaction = Node & StoreCreditAccountTransaction & { + __typename?: 'StoreCreditAccountDebitRevertTransaction'; + /** The store credit account that the transaction belongs to. */ + account: StoreCreditAccount; + /** The amount of the transaction. */ + amount: MoneyV2; + /** The balance of the account after the transaction. */ + balanceAfterTransaction: MoneyV2; + /** The date and time when the transaction was created. */ + createdAt: Scalars['DateTime']['output']; + /** The reverted debit transaction. */ + debitTransaction: StoreCreditAccountDebitTransaction; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** A debit transaction which decreases the store credit account balance. */ +export type StoreCreditAccountDebitTransaction = Node & StoreCreditAccountTransaction & { + __typename?: 'StoreCreditAccountDebitTransaction'; + /** The store credit account that the transaction belongs to. */ + account: StoreCreditAccount; + /** The amount of the transaction. */ + amount: MoneyV2; + /** The balance of the account after the transaction. */ + balanceAfterTransaction: MoneyV2; + /** The date and time when the transaction was created. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** An error that occurs during the execution of `StoreCreditAccountDebit`. */ +export type StoreCreditAccountDebitUserError = DisplayableError & { + __typename?: 'StoreCreditAccountDebitUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `StoreCreditAccountDebitUserError`. */ +export enum StoreCreditAccountDebitUserErrorCode { + /** The store credit account could not be found. */ + AccountNotFound = 'ACCOUNT_NOT_FOUND', + /** The store credit account does not have sufficient funds to satisfy the request. */ + InsufficientFunds = 'INSUFFICIENT_FUNDS', + /** The currency provided does not match the currency of the store credit account. */ + MismatchingCurrency = 'MISMATCHING_CURRENCY', + /** A positive amount must be used to debit a store credit account. */ + NegativeOrZeroAmount = 'NEGATIVE_OR_ZERO_AMOUNT' +} + +/** An auto-generated type which holds one StoreCreditAccount and a cursor during pagination. */ +export type StoreCreditAccountEdge = { + __typename?: 'StoreCreditAccountEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of StoreCreditAccountEdge. */ + node: StoreCreditAccount; +}; + +/** + * An expiration transaction which decreases the store credit account balance. + * Expiration transactions are created automatically when a [store credit account credit transaction](https://shopify.dev/api/admin-graphql/latest/objects/StoreCreditAccountCreditTransaction) expires. + * + * The amount subtracted from the balance is equal to the remaining amount of the credit transaction. + */ +export type StoreCreditAccountExpirationTransaction = StoreCreditAccountTransaction & { + __typename?: 'StoreCreditAccountExpirationTransaction'; + /** The store credit account that the transaction belongs to. */ + account: StoreCreditAccount; + /** The amount of the transaction. */ + amount: MoneyV2; + /** The balance of the account after the transaction. */ + balanceAfterTransaction: MoneyV2; + /** The date and time when the transaction was created. */ + createdAt: Scalars['DateTime']['output']; + /** The credit transaction which expired. */ + creditTransaction: StoreCreditAccountCreditTransaction; +}; + +/** Interface for a store credit account transaction. */ +export type StoreCreditAccountTransaction = { + /** The store credit account that the transaction belongs to. */ + account: StoreCreditAccount; + /** The amount of the transaction. */ + amount: MoneyV2; + /** The balance of the account after the transaction. */ + balanceAfterTransaction: MoneyV2; + /** The date and time when the transaction was created. */ + createdAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple StoreCreditAccountTransactions. */ +export type StoreCreditAccountTransactionConnection = { + __typename?: 'StoreCreditAccountTransactionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in StoreCreditAccountTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one StoreCreditAccountTransaction and a cursor during pagination. */ +export type StoreCreditAccountTransactionEdge = { + __typename?: 'StoreCreditAccountTransactionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of StoreCreditAccountTransactionEdge. */ + node: StoreCreditAccountTransaction; +}; + +/** + * A token that's used to delegate unauthenticated access scopes to clients that need to access + * the unauthenticated [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). + */ +export type StorefrontAccessToken = Node & { + __typename?: 'StorefrontAccessToken'; + /** List of permissions associated with the token. */ + accessScopes: Array; + /** The issued public access token. */ + accessToken: Scalars['String']['output']; + /** The date and time when the public access token was created. */ + createdAt: Scalars['DateTime']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** An arbitrary title for each token determined by the developer, used for reference purposes. */ + title: Scalars['String']['output']; + /** The date and time when the storefront access token was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple StorefrontAccessTokens. */ +export type StorefrontAccessTokenConnection = { + __typename?: 'StorefrontAccessTokenConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in StorefrontAccessTokenEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `storefrontAccessTokenCreate` mutation. */ +export type StorefrontAccessTokenCreatePayload = { + __typename?: 'StorefrontAccessTokenCreatePayload'; + /** The user's shop. */ + shop: Shop; + /** The storefront access token. */ + storefrontAccessToken?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to delete a storefront access token. */ +export type StorefrontAccessTokenDeleteInput = { + /** The ID of the storefront access token to delete. */ + id: Scalars['ID']['input']; +}; + +/** Return type for `storefrontAccessTokenDelete` mutation. */ +export type StorefrontAccessTokenDeletePayload = { + __typename?: 'StorefrontAccessTokenDeletePayload'; + /** The ID of the deleted storefront access token. */ + deletedStorefrontAccessTokenId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one StorefrontAccessToken and a cursor during pagination. */ +export type StorefrontAccessTokenEdge = { + __typename?: 'StorefrontAccessTokenEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of StorefrontAccessTokenEdge. */ + node: StorefrontAccessToken; +}; + +/** The input fields for a storefront access token. */ +export type StorefrontAccessTokenInput = { + /** A title for the storefront access token. */ + title: Scalars['String']['input']; +}; + +/** An auto-generated type for paginating through multiple Strings. */ +export type StringConnection = { + __typename?: 'StringConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one String and a cursor during pagination. */ +export type StringEdge = { + __typename?: 'StringEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of StringEdge. */ + node: Scalars['String']['output']; +}; + +/** Represents an applied code discount. */ +export type SubscriptionAppliedCodeDiscount = { + __typename?: 'SubscriptionAppliedCodeDiscount'; + /** The unique ID. */ + id: Scalars['ID']['output']; + /** The redeem code of the discount that applies on the subscription. */ + redeemCode: Scalars['String']['output']; + /** The reason that the discount on the subscription draft is rejected. */ + rejectionReason?: Maybe; +}; + +/** The input fields for mapping a subscription line to a discount. */ +export type SubscriptionAtomicLineInput = { + /** The discount to be added to the subscription line. */ + discounts?: InputMaybe>; + /** The new subscription line. */ + line: SubscriptionLineInput; +}; + +/** The input fields for mapping a subscription line to a discount. */ +export type SubscriptionAtomicManualDiscountInput = { + /** The maximum number of times the subscription discount will be applied on orders. */ + recurringCycleLimit?: InputMaybe; + /** The title associated with the subscription discount. */ + title?: InputMaybe; + /** Percentage or fixed amount value of the discount. */ + value?: InputMaybe; +}; + +/** + * A record of an execution of the subscription billing process. Billing attempts use + * idempotency keys to avoid duplicate order creation. A successful billing attempt + * will create an order. + */ +export type SubscriptionBillingAttempt = Node & { + __typename?: 'SubscriptionBillingAttempt'; + /** The date and time when the billing attempt was completed. */ + completedAt?: Maybe; + /** The date and time when the billing attempt was created. */ + createdAt: Scalars['DateTime']['output']; + /** A code corresponding to a payment error during processing. */ + errorCode?: Maybe; + /** A message describing a payment error during processing. */ + errorMessage?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** A unique key generated by the client to avoid duplicate payments. */ + idempotencyKey: Scalars['String']['output']; + /** The URL where the customer needs to be redirected so they can complete the 3D Secure payment flow. */ + nextActionUrl?: Maybe; + /** The result of this billing attempt if completed successfully. */ + order?: Maybe; + /** + * The date and time used to calculate fulfillment intervals for a billing attempt that + * successfully completed after the current anchor date. To prevent fulfillment from being + * pushed to the next anchor date, this field can override the billing attempt date. + */ + originTime?: Maybe; + /** The reference shared between retried payment attempts. */ + paymentGroupId?: Maybe; + /** The reference shared between payment attempts with similar payment details. */ + paymentSessionId?: Maybe; + /** Whether the billing attempt is still processing. */ + ready: Scalars['Boolean']['output']; + /** The subscription contract. */ + subscriptionContract: SubscriptionContract; + /** The transactions created by the billing attempt. */ + transactions: OrderTransactionConnection; +}; + + +/** + * A record of an execution of the subscription billing process. Billing attempts use + * idempotency keys to avoid duplicate order creation. A successful billing attempt + * will create an order. + */ +export type SubscriptionBillingAttemptTransactionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple SubscriptionBillingAttempts. */ +export type SubscriptionBillingAttemptConnection = { + __typename?: 'SubscriptionBillingAttemptConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SubscriptionBillingAttemptEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `subscriptionBillingAttemptCreate` mutation. */ +export type SubscriptionBillingAttemptCreatePayload = { + __typename?: 'SubscriptionBillingAttemptCreatePayload'; + /** The subscription billing attempt. */ + subscriptionBillingAttempt?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one SubscriptionBillingAttempt and a cursor during pagination. */ +export type SubscriptionBillingAttemptEdge = { + __typename?: 'SubscriptionBillingAttemptEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SubscriptionBillingAttemptEdge. */ + node: SubscriptionBillingAttempt; +}; + +/** + * The possible error codes associated with making billing attempts. The error codes supplement the + * `error_message` to provide consistent results and help with dunning management. + */ +export enum SubscriptionBillingAttemptErrorCode { + /** The amount is too small. */ + AmountTooSmall = 'AMOUNT_TOO_SMALL', + /** There was an error during the authentication. */ + AuthenticationError = 'AUTHENTICATION_ERROR', + /** Payment method was canceled by buyer. */ + BuyerCanceledPaymentMethod = 'BUYER_CANCELED_PAYMENT_METHOD', + /** Card number was incorrect. */ + CardNumberIncorrect = 'CARD_NUMBER_INCORRECT', + /** Customer is invalid. */ + CustomerInvalid = 'CUSTOMER_INVALID', + /** Customer was not found. */ + CustomerNotFound = 'CUSTOMER_NOT_FOUND', + /** Payment method is expired. */ + ExpiredPaymentMethod = 'EXPIRED_PAYMENT_METHOD', + /** Fraud was suspected. */ + FraudSuspected = 'FRAUD_SUSPECTED', + /** Insufficient funds. */ + InsufficientFunds = 'INSUFFICIENT_FUNDS', + /** Not enough inventory found. */ + InsufficientInventory = 'INSUFFICIENT_INVENTORY', + /** The billing agreement ID or the transaction ID for the customer's payment method is invalid. */ + InvalidCustomerBillingAgreement = 'INVALID_CUSTOMER_BILLING_AGREEMENT', + /** Payment method is invalid. Please update or create a new payment method. */ + InvalidPaymentMethod = 'INVALID_PAYMENT_METHOD', + /** The shipping address is either missing or invalid. */ + InvalidShippingAddress = 'INVALID_SHIPPING_ADDRESS', + /** No inventory location found or enabled. */ + InventoryAllocationsNotFound = 'INVENTORY_ALLOCATIONS_NOT_FOUND', + /** A payment has already been made for this invoice. */ + InvoiceAlreadyPaid = 'INVOICE_ALREADY_PAID', + /** Payment method was declined by processor. */ + PaymentMethodDeclined = 'PAYMENT_METHOD_DECLINED', + /** Payment method cannot be used with the current payment gateway test mode configuration. */ + PaymentMethodIncompatibleWithGatewayConfig = 'PAYMENT_METHOD_INCOMPATIBLE_WITH_GATEWAY_CONFIG', + /** Payment method was not found. */ + PaymentMethodNotFound = 'PAYMENT_METHOD_NOT_FOUND', + /** Payment provider is not enabled. */ + PaymentProviderIsNotEnabled = 'PAYMENT_PROVIDER_IS_NOT_ENABLED', + /** Paypal Error General. */ + PaypalErrorGeneral = 'PAYPAL_ERROR_GENERAL', + /** Purchase Type is not supported. */ + PurchaseTypeNotSupported = 'PURCHASE_TYPE_NOT_SUPPORTED', + /** Gateway is in test mode and attempted to bill a live payment method. */ + TestMode = 'TEST_MODE', + /** Transient error, try again later. */ + TransientError = 'TRANSIENT_ERROR', + /** There was an unexpected error during the billing attempt. */ + UnexpectedError = 'UNEXPECTED_ERROR' +} + +/** The input fields required to complete a subscription billing attempt. */ +export type SubscriptionBillingAttemptInput = { + /** + * Select the specific billing cycle to be billed. + * Default to bill the current billing cycle if not specified. + */ + billingCycleSelector?: InputMaybe; + /** A unique key generated by the client to avoid duplicate payments. For more information, refer to [Idempotent requests](https://shopify.dev/api/usage/idempotent-requests). */ + idempotencyKey: Scalars['String']['input']; + /** + * The date and time used to calculate fulfillment intervals for a billing attempt that + * successfully completed after the current anchor date. To prevent fulfillment from being + * pushed to the next anchor date, this field can override the billing attempt date. + */ + originTime?: InputMaybe; +}; + +/** The set of valid sort keys for the SubscriptionBillingAttempts query. */ +export enum SubscriptionBillingAttemptsSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** A subscription billing cycle. */ +export type SubscriptionBillingCycle = { + __typename?: 'SubscriptionBillingCycle'; + /** The date on which the billing attempt is expected to be made. */ + billingAttemptExpectedDate: Scalars['DateTime']['output']; + /** The list of billing attempts associated with the billing cycle. */ + billingAttempts: SubscriptionBillingAttemptConnection; + /** The end date of the billing cycle. */ + cycleEndAt: Scalars['DateTime']['output']; + /** The index of the billing cycle. */ + cycleIndex: Scalars['Int']['output']; + /** The start date of the billing cycle. */ + cycleStartAt: Scalars['DateTime']['output']; + /** Whether this billing cycle was edited. */ + edited: Scalars['Boolean']['output']; + /** The active edited contract for the billing cycle. */ + editedContract?: Maybe; + /** Whether this billing cycle was skipped. */ + skipped: Scalars['Boolean']['output']; + /** The subscription contract that the billing cycle belongs to. */ + sourceContract: SubscriptionContract; + /** The status of the billing cycle. */ + status: SubscriptionBillingCycleBillingCycleStatus; +}; + + +/** A subscription billing cycle. */ +export type SubscriptionBillingCycleBillingAttemptsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The presence of billing attempts on Billing Cycles. */ +export enum SubscriptionBillingCycleBillingAttemptStatus { + /** Billing cycle has any number of billing attempts. */ + Any = 'ANY', + /** Billing cycle has at least one billing attempt. */ + HasAttempt = 'HAS_ATTEMPT', + /** Billing cycle has no billing attempts. */ + NoAttempt = 'NO_ATTEMPT' +} + +/** The possible status values of a subscription billing cycle. */ +export enum SubscriptionBillingCycleBillingCycleStatus { + /** The billing cycle is billed. */ + Billed = 'BILLED', + /** The billing cycle hasn't been billed. */ + Unbilled = 'UNBILLED' +} + +/** Return type for `subscriptionBillingCycleBulkCharge` mutation. */ +export type SubscriptionBillingCycleBulkChargePayload = { + __typename?: 'SubscriptionBillingCycleBulkChargePayload'; + /** The asynchronous job that performs the action on the targeted billing cycles. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields for filtering subscription billing cycles in bulk actions. */ +export type SubscriptionBillingCycleBulkFilters = { + /** Filters the billing cycles based on the presence of billing attempts. */ + billingAttemptStatus?: InputMaybe; + /** Filters the billing cycles based on their status. */ + billingCycleStatus?: InputMaybe>; + /** Filters the billing cycles based on the status of their associated subscription contracts. */ + contractStatus?: InputMaybe>; +}; + +/** Return type for `subscriptionBillingCycleBulkSearch` mutation. */ +export type SubscriptionBillingCycleBulkSearchPayload = { + __typename?: 'SubscriptionBillingCycleBulkSearchPayload'; + /** The asynchronous job that performs the action on the targeted billing cycles. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents an error that happens during the execution of subscriptionBillingCycles mutations. */ +export type SubscriptionBillingCycleBulkUserError = DisplayableError & { + __typename?: 'SubscriptionBillingCycleBulkUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `SubscriptionBillingCycleBulkUserError`. */ +export enum SubscriptionBillingCycleBulkUserErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** End date can't be more than 24 hours in the future. */ + EndDateInTheFuture = 'END_DATE_IN_THE_FUTURE', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The range between start date and end date shouldn't be more than 1 week. */ + InvalidDateRange = 'INVALID_DATE_RANGE', + /** Start date should be before end date. */ + StartDateBeforeEndDate = 'START_DATE_BEFORE_END_DATE' +} + +/** Return type for `subscriptionBillingCycleCharge` mutation. */ +export type SubscriptionBillingCycleChargePayload = { + __typename?: 'SubscriptionBillingCycleChargePayload'; + /** The subscription billing attempt. */ + subscriptionBillingAttempt?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple SubscriptionBillingCycles. */ +export type SubscriptionBillingCycleConnection = { + __typename?: 'SubscriptionBillingCycleConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SubscriptionBillingCycleEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `subscriptionBillingCycleContractDraftCommit` mutation. */ +export type SubscriptionBillingCycleContractDraftCommitPayload = { + __typename?: 'SubscriptionBillingCycleContractDraftCommitPayload'; + /** The committed Subscription Billing Cycle Edited Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionBillingCycleContractDraftConcatenate` mutation. */ +export type SubscriptionBillingCycleContractDraftConcatenatePayload = { + __typename?: 'SubscriptionBillingCycleContractDraftConcatenatePayload'; + /** The Subscription Draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionBillingCycleContractEdit` mutation. */ +export type SubscriptionBillingCycleContractEditPayload = { + __typename?: 'SubscriptionBillingCycleContractEditPayload'; + /** The draft subscription contract object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one SubscriptionBillingCycle and a cursor during pagination. */ +export type SubscriptionBillingCycleEdge = { + __typename?: 'SubscriptionBillingCycleEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SubscriptionBillingCycleEdge. */ + node: SubscriptionBillingCycle; +}; + +/** Return type for `subscriptionBillingCycleEditDelete` mutation. */ +export type SubscriptionBillingCycleEditDeletePayload = { + __typename?: 'SubscriptionBillingCycleEditDeletePayload'; + /** The list of updated billing cycles. */ + billingCycles?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a subscription contract with billing cycles. */ +export type SubscriptionBillingCycleEditedContract = SubscriptionContractBase & { + __typename?: 'SubscriptionBillingCycleEditedContract'; + /** The subscription app that the subscription contract is registered to. */ + app?: Maybe; + /** The URL of the subscription contract page on the subscription app. */ + appAdminUrl?: Maybe; + /** The billing cycles that the edited contract belongs to. */ + billingCycles: SubscriptionBillingCycleConnection; + /** The date and time when the subscription contract was created. */ + createdAt: Scalars['DateTime']['output']; + /** The currency that's used for the subscription contract. */ + currencyCode: CurrencyCode; + /** A list of the custom attributes to be added to the generated orders. */ + customAttributes: Array; + /** The customer to whom the subscription contract belongs. */ + customer?: Maybe; + /** The customer payment method that's used for the subscription contract. */ + customerPaymentMethod?: Maybe; + /** The delivery method for each billing of the subscription contract. */ + deliveryMethod?: Maybe; + /** The delivery price for each billing of the subscription contract. */ + deliveryPrice: MoneyV2; + /** The list of subscription discounts associated with the subscription contract. */ + discounts: SubscriptionManualDiscountConnection; + /** + * The number of lines associated with the subscription contract. + * @deprecated Use `linesCount` instead. + */ + lineCount: Scalars['Int']['output']; + /** The list of subscription lines associated with the subscription contract. */ + lines: SubscriptionLineConnection; + /** The number of lines associated with the subscription contract. */ + linesCount?: Maybe; + /** The note field that will be applied to the generated orders. */ + note?: Maybe; + /** A list of the subscription contract's orders. */ + orders: OrderConnection; + /** The date and time when the subscription contract was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** Represents a subscription contract with billing cycles. */ +export type SubscriptionBillingCycleEditedContractBillingCyclesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a subscription contract with billing cycles. */ +export type SubscriptionBillingCycleEditedContractCustomerPaymentMethodArgs = { + showRevoked?: InputMaybe; +}; + + +/** Represents a subscription contract with billing cycles. */ +export type SubscriptionBillingCycleEditedContractDiscountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a subscription contract with billing cycles. */ +export type SubscriptionBillingCycleEditedContractLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a subscription contract with billing cycles. */ +export type SubscriptionBillingCycleEditedContractOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `subscriptionBillingCycleEditsDelete` mutation. */ +export type SubscriptionBillingCycleEditsDeletePayload = { + __typename?: 'SubscriptionBillingCycleEditsDeletePayload'; + /** The list of updated billing cycles. */ + billingCycles?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Possible error codes that can be returned by `SubscriptionBillingCycleUserError`. */ +export enum SubscriptionBillingCycleErrorCode { + /** Billing date cannot be set on skipped billing cycle. */ + BillingDateSetOnSkipped = 'BILLING_DATE_SET_ON_SKIPPED', + /** Billing cycle selector cannot select billing cycle outside of index range. */ + CycleIndexOutOfRange = 'CYCLE_INDEX_OUT_OF_RANGE', + /** Can't find the billing cycle. */ + CycleNotFound = 'CYCLE_NOT_FOUND', + /** Billing cycle selector cannot select billing cycle outside of start date range. */ + CycleStartDateOutOfRange = 'CYCLE_START_DATE_OUT_OF_RANGE', + /** Billing cycle schedule edit input provided is empty. Must take in parameters to modify schedule. */ + EmptyBillingCycleEditScheduleInput = 'EMPTY_BILLING_CYCLE_EDIT_SCHEDULE_INPUT', + /** Billing cycle has incomplete billing attempts in progress. */ + IncompleteBillingAttempts = 'INCOMPLETE_BILLING_ATTEMPTS', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The index selector is invalid. */ + InvalidCycleIndex = 'INVALID_CYCLE_INDEX', + /** The date selector is invalid. */ + InvalidDate = 'INVALID_DATE', + /** There's no contract or schedule edit associated with the targeted billing cycle(s). */ + NoCycleEdits = 'NO_CYCLE_EDITS', + /** Billing date of a cycle cannot be set to a value outside of its billing date range. */ + OutOfBounds = 'OUT_OF_BOUNDS', + /** Billing cycle selector cannot select upcoming billing cycle past limit. */ + UpcomingCycleLimitExceeded = 'UPCOMING_CYCLE_LIMIT_EXCEEDED' +} + +/** The input fields for specifying the subscription contract and selecting the associated billing cycle. */ +export type SubscriptionBillingCycleInput = { + /** The ID of the subscription contract associated with the billing cycle. */ + contractId: Scalars['ID']['input']; + /** Selects the billing cycle by date or index. */ + selector: SubscriptionBillingCycleSelector; +}; + +/** The input fields for parameters to modify the schedule of a specific billing cycle. */ +export type SubscriptionBillingCycleScheduleEditInput = { + /** Sets the expected billing date for the billing cycle. */ + billingDate?: InputMaybe; + /** The reason for editing. */ + reason: SubscriptionBillingCycleScheduleEditInputScheduleEditReason; + /** Sets the skip status for the billing cycle. */ + skip?: InputMaybe; +}; + +/** The input fields for possible reasons for editing the billing cycle's schedule. */ +export enum SubscriptionBillingCycleScheduleEditInputScheduleEditReason { + /** Buyer initiated the schedule edit. */ + BuyerInitiated = 'BUYER_INITIATED', + /** Developer initiated the schedule edit. */ + DevInitiated = 'DEV_INITIATED', + /** Merchant initiated the schedule edit. */ + MerchantInitiated = 'MERCHANT_INITIATED' +} + +/** Return type for `subscriptionBillingCycleScheduleEdit` mutation. */ +export type SubscriptionBillingCycleScheduleEditPayload = { + __typename?: 'SubscriptionBillingCycleScheduleEditPayload'; + /** The updated billing cycle. */ + billingCycle?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to select SubscriptionBillingCycle by either date or index. */ +export type SubscriptionBillingCycleSelector = { + /** Returns a billing cycle by date. */ + date?: InputMaybe; + /** Returns a billing cycle by index. */ + index?: InputMaybe; +}; + +/** Return type for `subscriptionBillingCycleSkip` mutation. */ +export type SubscriptionBillingCycleSkipPayload = { + __typename?: 'SubscriptionBillingCycleSkipPayload'; + /** The updated billing cycle. */ + billingCycle?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `SubscriptionBillingCycleSkip`. */ +export type SubscriptionBillingCycleSkipUserError = DisplayableError & { + __typename?: 'SubscriptionBillingCycleSkipUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `SubscriptionBillingCycleSkipUserError`. */ +export enum SubscriptionBillingCycleSkipUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Return type for `subscriptionBillingCycleUnskip` mutation. */ +export type SubscriptionBillingCycleUnskipPayload = { + __typename?: 'SubscriptionBillingCycleUnskipPayload'; + /** The updated billing cycle. */ + billingCycle?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `SubscriptionBillingCycleUnskip`. */ +export type SubscriptionBillingCycleUnskipUserError = DisplayableError & { + __typename?: 'SubscriptionBillingCycleUnskipUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `SubscriptionBillingCycleUnskipUserError`. */ +export enum SubscriptionBillingCycleUnskipUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** The possible errors for a subscription billing cycle. */ +export type SubscriptionBillingCycleUserError = DisplayableError & { + __typename?: 'SubscriptionBillingCycleUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** The input fields to select a subset of subscription billing cycles within a date range. */ +export type SubscriptionBillingCyclesDateRangeSelector = { + /** The end date and time for the range. */ + endDate: Scalars['DateTime']['input']; + /** The start date and time for the range. */ + startDate: Scalars['DateTime']['input']; +}; + +/** The input fields to select a subset of subscription billing cycles within an index range. */ +export type SubscriptionBillingCyclesIndexRangeSelector = { + /** The end index for the range. */ + endIndex: Scalars['Int']['input']; + /** The start index for the range. */ + startIndex: Scalars['Int']['input']; +}; + +/** The set of valid sort keys for the SubscriptionBillingCycles query. */ +export enum SubscriptionBillingCyclesSortKeys { + /** Sort by the `cycle_index` value. */ + CycleIndex = 'CYCLE_INDEX', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** Select subscription billing cycles to be targeted. */ +export enum SubscriptionBillingCyclesTargetSelection { + /** Target all current and upcoming subscription billing cycles. */ + All = 'ALL' +} + +/** Represents a Subscription Billing Policy. */ +export type SubscriptionBillingPolicy = { + __typename?: 'SubscriptionBillingPolicy'; + /** Specific anchor dates upon which the billing interval calculations should be made. */ + anchors: Array; + /** The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc). */ + interval: SellingPlanInterval; + /** The number of billing intervals between invoices. */ + intervalCount: Scalars['Int']['output']; + /** Maximum amount of cycles after which the subscription ends. */ + maxCycles?: Maybe; + /** Minimum amount of cycles required in the subscription. */ + minCycles?: Maybe; +}; + +/** The input fields for a Subscription Billing Policy. */ +export type SubscriptionBillingPolicyInput = { + /** Specific anchor dates upon which the billing interval calculations should be made. */ + anchors?: InputMaybe>; + /** The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc). */ + interval: SellingPlanInterval; + /** The number of billing intervals between invoices. */ + intervalCount: Scalars['Int']['input']; + /** Maximum amount of cycles required in the subscription. */ + maxCycles?: InputMaybe; + /** Minimum amount of cycles required in the subscription. */ + minCycles?: InputMaybe; +}; + +/** Represents a Subscription Contract. */ +export type SubscriptionContract = Node & SubscriptionContractBase & { + __typename?: 'SubscriptionContract'; + /** The subscription app that the subscription contract is registered to. */ + app?: Maybe; + /** The URL of the subscription contract page on the subscription app. */ + appAdminUrl?: Maybe; + /** The list of billing attempts associated with the subscription contract. */ + billingAttempts: SubscriptionBillingAttemptConnection; + /** The billing policy associated with the subscription contract. */ + billingPolicy: SubscriptionBillingPolicy; + /** The date and time when the subscription contract was created. */ + createdAt: Scalars['DateTime']['output']; + /** The currency that's used for the subscription contract. */ + currencyCode: CurrencyCode; + /** A list of the custom attributes to be added to the generated orders. */ + customAttributes: Array; + /** The customer to whom the subscription contract belongs. */ + customer?: Maybe; + /** The customer payment method that's used for the subscription contract. */ + customerPaymentMethod?: Maybe; + /** The delivery method for each billing of the subscription contract. */ + deliveryMethod?: Maybe; + /** The delivery policy associated with the subscription contract. */ + deliveryPolicy: SubscriptionDeliveryPolicy; + /** The delivery price for each billing of the subscription contract. */ + deliveryPrice: MoneyV2; + /** The list of subscription discounts associated with the subscription contract. */ + discounts: SubscriptionManualDiscountConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The last billing error type of the contract. */ + lastBillingAttemptErrorType?: Maybe; + /** The current status of the last payment. */ + lastPaymentStatus?: Maybe; + /** + * The number of lines associated with the subscription contract. + * @deprecated Use `linesCount` instead. + */ + lineCount: Scalars['Int']['output']; + /** The list of subscription lines associated with the subscription contract. */ + lines: SubscriptionLineConnection; + /** The number of lines associated with the subscription contract. */ + linesCount?: Maybe; + /** + * The next billing date for the subscription contract. This field is managed by the apps. + * Alternatively you can utilize our + * [Billing Cycles APIs](https://shopify.dev/docs/apps/selling-strategies/subscriptions/billing-cycles), + * which provide auto-computed billing dates and additional functionalities. + */ + nextBillingDate?: Maybe; + /** The note field that will be applied to the generated orders. */ + note?: Maybe; + /** A list of the subscription contract's orders. */ + orders: OrderConnection; + /** The order from which this contract originated. */ + originOrder?: Maybe; + /** The revision id of the contract. */ + revisionId: Scalars['UnsignedInt64']['output']; + /** The current status of the subscription contract. */ + status: SubscriptionContractSubscriptionStatus; + /** The date and time when the subscription contract was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** Represents a Subscription Contract. */ +export type SubscriptionContractBillingAttemptsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Contract. */ +export type SubscriptionContractCustomerPaymentMethodArgs = { + showRevoked?: InputMaybe; +}; + + +/** Represents a Subscription Contract. */ +export type SubscriptionContractDiscountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Contract. */ +export type SubscriptionContractLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Contract. */ +export type SubscriptionContractOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `subscriptionContractActivate` mutation. */ +export type SubscriptionContractActivatePayload = { + __typename?: 'SubscriptionContractActivatePayload'; + /** The new Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields required to create a Subscription Contract. */ +export type SubscriptionContractAtomicCreateInput = { + /** The attributes used as input for the Subscription Draft. */ + contract: SubscriptionDraftInput; + /** The currency used for the subscription contract. */ + currencyCode: CurrencyCode; + /** The ID of the customer to associate with the subscription contract. */ + customerId: Scalars['ID']['input']; + /** A list of discount redeem codes to apply to the subscription contract. */ + discountCodes?: InputMaybe>; + /** A list of new Subscription Lines. */ + lines: Array; + /** The next billing date for the subscription contract.This field is independent of billing cycles.It stores metadata set by the apps, and thus not managed by Shopify.It can be queried from subscriptionContract.nextBillingDate. */ + nextBillingDate: Scalars['DateTime']['input']; +}; + +/** Return type for `subscriptionContractAtomicCreate` mutation. */ +export type SubscriptionContractAtomicCreatePayload = { + __typename?: 'SubscriptionContractAtomicCreatePayload'; + /** The new Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents subscription contract common fields. */ +export type SubscriptionContractBase = { + /** The subscription app that the subscription contract is registered to. */ + app?: Maybe; + /** The URL of the subscription contract page on the subscription app. */ + appAdminUrl?: Maybe; + /** The currency that's used for the subscription contract. */ + currencyCode: CurrencyCode; + /** A list of the custom attributes to be added to the generated orders. */ + customAttributes: Array; + /** The customer to whom the subscription contract belongs. */ + customer?: Maybe; + /** The customer payment method that's used for the subscription contract. */ + customerPaymentMethod?: Maybe; + /** The delivery method for each billing of the subscription contract. */ + deliveryMethod?: Maybe; + /** The delivery price for each billing of the subscription contract. */ + deliveryPrice: MoneyV2; + /** The list of subscription discounts associated with the subscription contract. */ + discounts: SubscriptionManualDiscountConnection; + /** + * The number of lines associated with the subscription contract. + * @deprecated Use `linesCount` instead. + */ + lineCount: Scalars['Int']['output']; + /** The list of subscription lines associated with the subscription contract. */ + lines: SubscriptionLineConnection; + /** The number of lines associated with the subscription contract. */ + linesCount?: Maybe; + /** The note field that will be applied to the generated orders. */ + note?: Maybe; + /** A list of the subscription contract's orders. */ + orders: OrderConnection; + /** The date and time when the subscription contract was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + + +/** Represents subscription contract common fields. */ +export type SubscriptionContractBaseCustomerPaymentMethodArgs = { + showRevoked?: InputMaybe; +}; + + +/** Represents subscription contract common fields. */ +export type SubscriptionContractBaseDiscountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents subscription contract common fields. */ +export type SubscriptionContractBaseLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents subscription contract common fields. */ +export type SubscriptionContractBaseOrdersArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** Return type for `subscriptionContractCancel` mutation. */ +export type SubscriptionContractCancelPayload = { + __typename?: 'SubscriptionContractCancelPayload'; + /** The new Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type for paginating through multiple SubscriptionContracts. */ +export type SubscriptionContractConnection = { + __typename?: 'SubscriptionContractConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SubscriptionContractEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields required to create a Subscription Contract. */ +export type SubscriptionContractCreateInput = { + /** The attributes used as input for the Subscription Draft. */ + contract: SubscriptionDraftInput; + /** The currency used for the subscription contract. */ + currencyCode: CurrencyCode; + /** The ID of the customer to associate with the subscription contract. */ + customerId: Scalars['ID']['input']; + /** The next billing date for the subscription contract. */ + nextBillingDate: Scalars['DateTime']['input']; +}; + +/** Return type for `subscriptionContractCreate` mutation. */ +export type SubscriptionContractCreatePayload = { + __typename?: 'SubscriptionContractCreatePayload'; + /** The Subscription Contract object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one SubscriptionContract and a cursor during pagination. */ +export type SubscriptionContractEdge = { + __typename?: 'SubscriptionContractEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SubscriptionContractEdge. */ + node: SubscriptionContract; +}; + +/** Possible error codes that can be returned by `SubscriptionContractUserError`. */ +export enum SubscriptionContractErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Return type for `subscriptionContractExpire` mutation. */ +export type SubscriptionContractExpirePayload = { + __typename?: 'SubscriptionContractExpirePayload'; + /** The new Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionContractFail` mutation. */ +export type SubscriptionContractFailPayload = { + __typename?: 'SubscriptionContractFailPayload'; + /** The new Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The possible values of the last billing error on a subscription contract. */ +export enum SubscriptionContractLastBillingErrorType { + /** Subscription billing attempt error due to customer error. */ + CustomerError = 'CUSTOMER_ERROR', + /** Subscription billing attempt error due to inventory error. */ + InventoryError = 'INVENTORY_ERROR', + /** All other billing attempt errors. */ + Other = 'OTHER', + /** Subscription billing attempt error due to payment error. */ + PaymentError = 'PAYMENT_ERROR' +} + +/** The possible status values of the last payment on a subscription contract. */ +export enum SubscriptionContractLastPaymentStatus { + /** Failed subscription billing attempt. */ + Failed = 'FAILED', + /** Successful subscription billing attempt. */ + Succeeded = 'SUCCEEDED' +} + +/** Return type for `subscriptionContractPause` mutation. */ +export type SubscriptionContractPausePayload = { + __typename?: 'SubscriptionContractPausePayload'; + /** The new Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields required to create a Subscription Contract. */ +export type SubscriptionContractProductChangeInput = { + /** The price of the product. */ + currentPrice?: InputMaybe; + /** The ID of the product variant the subscription line refers to. */ + productVariantId?: InputMaybe; +}; + +/** Return type for `subscriptionContractProductChange` mutation. */ +export type SubscriptionContractProductChangePayload = { + __typename?: 'SubscriptionContractProductChangePayload'; + /** The new Subscription Contract object. */ + contract?: Maybe; + /** The updated Subscription Line. */ + lineUpdated?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionContractSetNextBillingDate` mutation. */ +export type SubscriptionContractSetNextBillingDatePayload = { + __typename?: 'SubscriptionContractSetNextBillingDatePayload'; + /** The updated Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Possible error codes that can be returned by `SubscriptionContractStatusUpdateUserError`. */ +export enum SubscriptionContractStatusUpdateErrorCode { + /** Subscription contract status cannot be changed once terminated. */ + ContractTerminated = 'CONTRACT_TERMINATED', + /** The input value is invalid. */ + Invalid = 'INVALID' +} + +/** Represents a subscription contract status update error. */ +export type SubscriptionContractStatusUpdateUserError = DisplayableError & { + __typename?: 'SubscriptionContractStatusUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** The possible status values of a subscription. */ +export enum SubscriptionContractSubscriptionStatus { + /** The contract is active and continuing per its policies. */ + Active = 'ACTIVE', + /** The contract was ended by an unplanned customer action. */ + Cancelled = 'CANCELLED', + /** The contract has ended per the expected circumstances. All billing and deliverycycles of the subscriptions were executed. */ + Expired = 'EXPIRED', + /** The contract ended because billing failed and no further billing attempts are expected. */ + Failed = 'FAILED', + /** The contract is temporarily paused and is expected to resume in the future. */ + Paused = 'PAUSED' +} + +/** Return type for `subscriptionContractUpdate` mutation. */ +export type SubscriptionContractUpdatePayload = { + __typename?: 'SubscriptionContractUpdatePayload'; + /** The Subscription Contract object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a Subscription Contract error. */ +export type SubscriptionContractUserError = DisplayableError & { + __typename?: 'SubscriptionContractUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Represents a Subscription Line Pricing Cycle Adjustment. */ +export type SubscriptionCyclePriceAdjustment = { + __typename?: 'SubscriptionCyclePriceAdjustment'; + /** Price adjustment type. */ + adjustmentType: SellingPlanPricingPolicyAdjustmentType; + /** Price adjustment value. */ + adjustmentValue: SellingPlanPricingPolicyAdjustmentValue; + /** The number of cycles required before this pricing policy applies. */ + afterCycle: Scalars['Int']['output']; + /** The computed price after the adjustments applied. */ + computedPrice: MoneyV2; +}; + +/** Describes the delivery method to use to get the physical goods to the customer. */ +export type SubscriptionDeliveryMethod = SubscriptionDeliveryMethodLocalDelivery | SubscriptionDeliveryMethodPickup | SubscriptionDeliveryMethodShipping; + +/** + * Specifies delivery method fields for a subscription draft. + * This is an input union: one, and only one, field can be provided. + * The field provided will determine which delivery method is to be used. + */ +export type SubscriptionDeliveryMethodInput = { + /** The input fields for the local delivery method. */ + localDelivery?: InputMaybe; + /** The input fields for the pickup delivery method. */ + pickup?: InputMaybe; + /** The input fields for the shipping delivery method. */ + shipping?: InputMaybe; +}; + +/** + * A subscription delivery method for local delivery. + * The other subscription delivery methods can be found in the `SubscriptionDeliveryMethod` union type. + */ +export type SubscriptionDeliveryMethodLocalDelivery = { + __typename?: 'SubscriptionDeliveryMethodLocalDelivery'; + /** The address to deliver to. */ + address: SubscriptionMailingAddress; + /** The details of the local delivery method to use. */ + localDeliveryOption: SubscriptionDeliveryMethodLocalDeliveryOption; +}; + +/** + * The input fields for a local delivery method. + * + * This input accepts partial input. When a field is not provided, + * its prior value is left unchanged. + */ +export type SubscriptionDeliveryMethodLocalDeliveryInput = { + /** The address to deliver to. */ + address?: InputMaybe; + /** The details of the local delivery method to use. */ + localDeliveryOption?: InputMaybe; +}; + +/** The selected delivery option on a subscription contract. */ +export type SubscriptionDeliveryMethodLocalDeliveryOption = { + __typename?: 'SubscriptionDeliveryMethodLocalDeliveryOption'; + /** A custom reference to the delivery method for use with automations. */ + code?: Maybe; + /** The details displayed to the customer to describe the local delivery option. */ + description?: Maybe; + /** The delivery instructions that the customer can provide to the merchant. */ + instructions?: Maybe; + /** + * The phone number that the customer provided to the merchant. + * Formatted using E.164 standard. For example, `+16135551111`. + */ + phone: Scalars['String']['output']; + /** The presentment title of the local delivery option. */ + presentmentTitle?: Maybe; + /** The title of the local delivery option. */ + title?: Maybe; +}; + +/** The input fields for local delivery option. */ +export type SubscriptionDeliveryMethodLocalDeliveryOptionInput = { + /** A custom reference to the delivery method for use with automations. */ + code?: InputMaybe; + /** The details displayed to the customer to describe the local delivery option. */ + description?: InputMaybe; + /** The delivery instructions that the customer can provide to the merchant. */ + instructions?: InputMaybe; + /** + * The phone number that the customer must provide to the merchant. + * Formatted using E.164 standard. For example, `+16135551111`. + */ + phone: Scalars['String']['input']; + /** The presentment title of the local delivery option. */ + presentmentTitle?: InputMaybe; + /** The title of the local delivery option. */ + title?: InputMaybe; +}; + +/** A delivery method with a pickup option. */ +export type SubscriptionDeliveryMethodPickup = { + __typename?: 'SubscriptionDeliveryMethodPickup'; + /** The details of the pickup delivery method to use. */ + pickupOption: SubscriptionDeliveryMethodPickupOption; +}; + +/** + * The input fields for a pickup delivery method. + * + * This input accepts partial input. When a field is not provided, + * its prior value is left unchanged. + */ +export type SubscriptionDeliveryMethodPickupInput = { + /** The details of the pickup method to use. */ + pickupOption?: InputMaybe; +}; + +/** Represents the selected pickup option on a subscription contract. */ +export type SubscriptionDeliveryMethodPickupOption = { + __typename?: 'SubscriptionDeliveryMethodPickupOption'; + /** A custom reference to the delivery method for use with automations. */ + code?: Maybe; + /** The details displayed to the customer to describe the pickup option. */ + description?: Maybe; + /** The location where the customer will pickup the merchandise. */ + location: Location; + /** The presentment title of the pickup option. */ + presentmentTitle?: Maybe; + /** The title of the pickup option. */ + title?: Maybe; +}; + +/** The input fields for pickup option. */ +export type SubscriptionDeliveryMethodPickupOptionInput = { + /** A custom reference to the delivery method for use with automations. */ + code?: InputMaybe; + /** The details displayed to the customer to describe the pickup option. */ + description?: InputMaybe; + /** The ID of the pickup location. */ + locationId: Scalars['ID']['input']; + /** The presentment title of the pickup option. */ + presentmentTitle?: InputMaybe; + /** The title of the pickup option. */ + title?: InputMaybe; +}; + +/** Represents a shipping delivery method: a mailing address and a shipping option. */ +export type SubscriptionDeliveryMethodShipping = { + __typename?: 'SubscriptionDeliveryMethodShipping'; + /** The address to ship to. */ + address: SubscriptionMailingAddress; + /** The details of the shipping method to use. */ + shippingOption: SubscriptionDeliveryMethodShippingOption; +}; + +/** + * Specifies shipping delivery method fields. + * + * This input accepts partial input. When a field is not provided, + * its prior value is left unchanged. + */ +export type SubscriptionDeliveryMethodShippingInput = { + /** The address to ship to. */ + address?: InputMaybe; + /** The details of the shipping method to use. */ + shippingOption?: InputMaybe; +}; + +/** Represents the selected shipping option on a subscription contract. */ +export type SubscriptionDeliveryMethodShippingOption = { + __typename?: 'SubscriptionDeliveryMethodShippingOption'; + /** + * The carrier service that's providing this shipping option. + * This field isn't currently supported and returns null. + * @deprecated This field has never been implemented. + */ + carrierService?: Maybe; + /** The code of the shipping option. */ + code?: Maybe; + /** The description of the shipping option. */ + description?: Maybe; + /** The presentment title of the shipping option. */ + presentmentTitle?: Maybe; + /** The title of the shipping option. */ + title?: Maybe; +}; + +/** The input fields for shipping option. */ +export type SubscriptionDeliveryMethodShippingOptionInput = { + /** The carrier service ID of the shipping option. */ + carrierServiceId?: InputMaybe; + /** The code of the shipping option. */ + code?: InputMaybe; + /** The description of the shipping option. */ + description?: InputMaybe; + /** The presentment title of the shipping option. */ + presentmentTitle?: InputMaybe; + /** The title of the shipping option. */ + title?: InputMaybe; +}; + +/** The delivery option for a subscription contract. */ +export type SubscriptionDeliveryOption = SubscriptionLocalDeliveryOption | SubscriptionPickupOption | SubscriptionShippingOption; + +/** The result of the query to fetch delivery options for the subscription contract. */ +export type SubscriptionDeliveryOptionResult = SubscriptionDeliveryOptionResultFailure | SubscriptionDeliveryOptionResultSuccess; + +/** A failure to find the available delivery options for a subscription contract. */ +export type SubscriptionDeliveryOptionResultFailure = { + __typename?: 'SubscriptionDeliveryOptionResultFailure'; + /** The reason for the failure. */ + message?: Maybe; +}; + +/** The delivery option for a subscription contract. */ +export type SubscriptionDeliveryOptionResultSuccess = { + __typename?: 'SubscriptionDeliveryOptionResultSuccess'; + /** The available delivery options. */ + deliveryOptions: Array; +}; + +/** Represents a Subscription Delivery Policy. */ +export type SubscriptionDeliveryPolicy = { + __typename?: 'SubscriptionDeliveryPolicy'; + /** The specific anchor dates upon which the delivery interval calculations should be made. */ + anchors: Array; + /** The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc). */ + interval: SellingPlanInterval; + /** The number of delivery intervals between deliveries. */ + intervalCount: Scalars['Int']['output']; +}; + +/** The input fields for a Subscription Delivery Policy. */ +export type SubscriptionDeliveryPolicyInput = { + /** The specific anchor dates upon which the delivery interval calculations should be made. */ + anchors?: InputMaybe>; + /** The kind of interval that's associated with this schedule (e.g. Monthly, Weekly, etc). */ + interval: SellingPlanInterval; + /** The number of billing intervals between invoices. */ + intervalCount: Scalars['Int']['input']; +}; + +/** Subscription draft discount types. */ +export type SubscriptionDiscount = SubscriptionAppliedCodeDiscount | SubscriptionManualDiscount; + +/** Represents what a particular discount reduces from a line price. */ +export type SubscriptionDiscountAllocation = { + __typename?: 'SubscriptionDiscountAllocation'; + /** Allocation amount. */ + amount: MoneyV2; + /** Discount that created the allocation. */ + discount: SubscriptionDiscount; +}; + +/** An auto-generated type for paginating through multiple SubscriptionDiscounts. */ +export type SubscriptionDiscountConnection = { + __typename?: 'SubscriptionDiscountConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SubscriptionDiscountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one SubscriptionDiscount and a cursor during pagination. */ +export type SubscriptionDiscountEdge = { + __typename?: 'SubscriptionDiscountEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SubscriptionDiscountEdge. */ + node: SubscriptionDiscount; +}; + +/** Represents the subscription lines the discount applies on. */ +export type SubscriptionDiscountEntitledLines = { + __typename?: 'SubscriptionDiscountEntitledLines'; + /** Specify whether the subscription discount will apply on all subscription lines. */ + all: Scalars['Boolean']['output']; + /** The list of subscription lines associated with the subscription discount. */ + lines: SubscriptionLineConnection; +}; + + +/** Represents the subscription lines the discount applies on. */ +export type SubscriptionDiscountEntitledLinesLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + +/** The value of the discount and how it will be applied. */ +export type SubscriptionDiscountFixedAmountValue = { + __typename?: 'SubscriptionDiscountFixedAmountValue'; + /** The fixed amount value of the discount. */ + amount: MoneyV2; + /** Whether the amount is applied per item. */ + appliesOnEachItem: Scalars['Boolean']['output']; +}; + +/** The percentage value of the discount. */ +export type SubscriptionDiscountPercentageValue = { + __typename?: 'SubscriptionDiscountPercentageValue'; + /** The percentage value of the discount. */ + percentage: Scalars['Int']['output']; +}; + +/** The reason a discount on a subscription draft was rejected. */ +export enum SubscriptionDiscountRejectionReason { + /** Discount is inactive. */ + CurrentlyInactive = 'CURRENTLY_INACTIVE', + /** Given customer does not qualify for the discount. */ + CustomerNotEligible = 'CUSTOMER_NOT_ELIGIBLE', + /** Customer usage limit has been reached. */ + CustomerUsageLimitReached = 'CUSTOMER_USAGE_LIMIT_REACHED', + /** Purchase type does not qualify for the discount. */ + IncompatiblePurchaseType = 'INCOMPATIBLE_PURCHASE_TYPE', + /** Internal error during discount code validation. */ + InternalError = 'INTERNAL_ERROR', + /** Discount code is not found. */ + NotFound = 'NOT_FOUND', + /** Discount does not apply to any of the given line items. */ + NoEntitledLineItems = 'NO_ENTITLED_LINE_ITEMS', + /** No applicable shipping lines. */ + NoEntitledShippingLines = 'NO_ENTITLED_SHIPPING_LINES', + /** Purchase amount of items does not qualify for the discount. */ + PurchaseNotInRange = 'PURCHASE_NOT_IN_RANGE', + /** Quantity of items does not qualify for the discount. */ + QuantityNotInRange = 'QUANTITY_NOT_IN_RANGE', + /** Discount usage limit has been reached. */ + UsageLimitReached = 'USAGE_LIMIT_REACHED' +} + +/** The value of the discount and how it will be applied. */ +export type SubscriptionDiscountValue = SubscriptionDiscountFixedAmountValue | SubscriptionDiscountPercentageValue; + +/** Represents a Subscription Draft. */ +export type SubscriptionDraft = Node & { + __typename?: 'SubscriptionDraft'; + /** The billing cycle that the subscription contract will be associated with. */ + billingCycle?: Maybe; + /** The billing policy for the subscription contract. */ + billingPolicy: SubscriptionBillingPolicy; + /** The billing cycles of the contracts that will be concatenated to the subscription contract. */ + concatenatedBillingCycles: SubscriptionBillingCycleConnection; + /** The currency used for the subscription contract. */ + currencyCode: CurrencyCode; + /** A list of the custom attributes to be added to the generated orders. */ + customAttributes: Array; + /** The customer to whom the subscription contract belongs. */ + customer: Customer; + /** The customer payment method used for the subscription contract. */ + customerPaymentMethod?: Maybe; + /** The delivery method for each billing of the subscription contract. */ + deliveryMethod?: Maybe; + /** The available delivery options for a given delivery address. Returns `null` for pending requests. */ + deliveryOptions?: Maybe; + /** The delivery policy for the subscription contract. */ + deliveryPolicy: SubscriptionDeliveryPolicy; + /** The delivery price for each billing the subscription contract. */ + deliveryPrice?: Maybe; + /** The list of subscription discounts which will be associated with the subscription contract. */ + discounts: SubscriptionDiscountConnection; + /** The list of subscription discounts to be added to the subscription contract. */ + discountsAdded: SubscriptionDiscountConnection; + /** The list of subscription discounts to be removed from the subscription contract. */ + discountsRemoved: SubscriptionDiscountConnection; + /** The list of subscription discounts to be updated on the subscription contract. */ + discountsUpdated: SubscriptionDiscountConnection; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The list of subscription lines which will be associated with the subscription contract. */ + lines: SubscriptionLineConnection; + /** The list of subscription lines to be added to the subscription contract. */ + linesAdded: SubscriptionLineConnection; + /** The list of subscription lines to be removed from the subscription contract. */ + linesRemoved: SubscriptionLineConnection; + /** The next billing date for the subscription contract. */ + nextBillingDate?: Maybe; + /** The note field that will be applied to the generated orders. */ + note?: Maybe; + /** The original subscription contract. */ + originalContract?: Maybe; + /** + * Available Shipping Options for a given delivery address. Returns NULL for pending requests. + * @deprecated Use `deliveryOptions` instead. + */ + shippingOptions?: Maybe; + /** The current status of the subscription contract. */ + status?: Maybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftConcatenatedBillingCyclesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftCustomerPaymentMethodArgs = { + showRevoked?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftDeliveryOptionsArgs = { + deliveryAddress?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftDiscountsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftDiscountsAddedArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftDiscountsRemovedArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftDiscountsUpdatedArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftLinesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftLinesAddedArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftLinesRemovedArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** Represents a Subscription Draft. */ +export type SubscriptionDraftShippingOptionsArgs = { + deliveryAddress?: InputMaybe; +}; + +/** Return type for `subscriptionDraftCommit` mutation. */ +export type SubscriptionDraftCommitPayload = { + __typename?: 'SubscriptionDraftCommitPayload'; + /** The updated Subscription Contract object. */ + contract?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftDiscountAdd` mutation. */ +export type SubscriptionDraftDiscountAddPayload = { + __typename?: 'SubscriptionDraftDiscountAddPayload'; + /** The added Subscription Discount. */ + discountAdded?: Maybe; + /** The Subscription Contract draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftDiscountCodeApply` mutation. */ +export type SubscriptionDraftDiscountCodeApplyPayload = { + __typename?: 'SubscriptionDraftDiscountCodeApplyPayload'; + /** The added subscription discount. */ + appliedDiscount?: Maybe; + /** The subscription contract draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftDiscountRemove` mutation. */ +export type SubscriptionDraftDiscountRemovePayload = { + __typename?: 'SubscriptionDraftDiscountRemovePayload'; + /** The removed subscription draft discount. */ + discountRemoved?: Maybe; + /** The subscription contract draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftDiscountUpdate` mutation. */ +export type SubscriptionDraftDiscountUpdatePayload = { + __typename?: 'SubscriptionDraftDiscountUpdatePayload'; + /** The updated Subscription Discount. */ + discountUpdated?: Maybe; + /** The Subscription Contract draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Possible error codes that can be returned by `SubscriptionDraftUserError`. */ +export enum SubscriptionDraftErrorCode { + /** This line has already been removed. */ + AlreadyRemoved = 'ALREADY_REMOVED', + /** Cannot commit a contract draft with this mutation. Please use SubscriptionDraftCommit. */ + BillingCycleAbsent = 'BILLING_CYCLE_ABSENT', + /** Billing policy cannot be updated for billing cycle contract drafts. */ + BillingCycleContractDraftBillingPolicyInvalid = 'BILLING_CYCLE_CONTRACT_DRAFT_BILLING_POLICY_INVALID', + /** Delivery policy cannot be updated for billing cycle contract drafts. */ + BillingCycleContractDraftDeliveryPolicyInvalid = 'BILLING_CYCLE_CONTRACT_DRAFT_DELIVERY_POLICY_INVALID', + /** Cannot commit a billing cycle contract draft with this mutation. Please use SubscriptionBillingCycleContractDraftCommit. */ + BillingCyclePresent = 'BILLING_CYCLE_PRESENT', + /** The input value is blank. */ + Blank = 'BLANK', + /** Subscription draft has been already committed. */ + Committed = 'COMMITTED', + /** Contract draft must be a billing cycle contract draft for contract concatenation. */ + ConcatenationBillingCycleContractDraftRequired = 'CONCATENATION_BILLING_CYCLE_CONTRACT_DRAFT_REQUIRED', + /** Currency is not enabled. */ + CurrencyNotEnabled = 'CURRENCY_NOT_ENABLED', + /** The customer doesn't exist. */ + CustomerDoesNotExist = 'CUSTOMER_DOES_NOT_EXIST', + /** The payment method customer must be the same as the contract customer. */ + CustomerMismatch = 'CUSTOMER_MISMATCH', + /** Customer is scheduled for redaction or has been redacted. */ + CustomerRedacted = 'CUSTOMER_REDACTED', + /** The after cycle attribute must be unique between cycle discounts. */ + CycleDiscountsUniqueAfterCycle = 'CYCLE_DISCOUNTS_UNIQUE_AFTER_CYCLE', + /** Billing cycle selector cannot select billing cycle outside of index range. */ + CycleIndexOutOfRange = 'CYCLE_INDEX_OUT_OF_RANGE', + /** Billing cycle selector requires exactly one of index or date to be provided. */ + CycleSelectorValidateOneOf = 'CYCLE_SELECTOR_VALIDATE_ONE_OF', + /** Billing cycle selector cannot select billing cycle outside of start date range. */ + CycleStartDateOutOfRange = 'CYCLE_START_DATE_OUT_OF_RANGE', + /** The delivery method can't be blank if any lines require shipping. */ + DeliveryMethodRequired = 'DELIVERY_METHOD_REQUIRED', + /** The delivery policy interval must be a multiple of the billing policy interval. */ + DeliveryMustBeMultipleOfBilling = 'DELIVERY_MUST_BE_MULTIPLE_OF_BILLING', + /** Concatenated contracts cannot contain duplicate subscription contracts. */ + DuplicateConcatenatedContracts = 'DUPLICATE_CONCATENATED_CONTRACTS', + /** Maximum number of concatenated contracts on a billing cycle contract draft exceeded. */ + ExceededMaxConcatenatedContracts = 'EXCEEDED_MAX_CONCATENATED_CONTRACTS', + /** The input value should be greater than the minimum allowed value. */ + GreaterThan = 'GREATER_THAN', + /** The input value should be greater than or equal to the minimum value allowed. */ + GreaterThanOrEqualTo = 'GREATER_THAN_OR_EQUAL_TO', + /** Cannot update a subscription contract with a current or upcoming billing cycle contract edit. */ + HasFutureEdits = 'HAS_FUTURE_EDITS', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The adjustment value must the same type as the adjustment type. */ + InvalidAdjustmentType = 'INVALID_ADJUSTMENT_TYPE', + /** The adjustment value must be either fixed_value or percentage. */ + InvalidAdjustmentValue = 'INVALID_ADJUSTMENT_VALUE', + /** Next billing date is invalid. */ + InvalidBillingDate = 'INVALID_BILLING_DATE', + /** Must have at least one line. */ + InvalidLines = 'INVALID_LINES', + /** Note length is too long. */ + InvalidNoteLength = 'INVALID_NOTE_LENGTH', + /** The input value should be less than the maximum value allowed. */ + LessThan = 'LESS_THAN', + /** The input value should be less than or equal to the maximum value allowed. */ + LessThanOrEqualTo = 'LESS_THAN_OR_EQUAL_TO', + /** Customer payment method is required. */ + MissingCustomerPaymentMethod = 'MISSING_CUSTOMER_PAYMENT_METHOD', + /** The local delivery options must be set for local delivery. */ + MissingLocalDeliveryOptions = 'MISSING_LOCAL_DELIVERY_OPTIONS', + /** The value is not an integer. */ + NotAnInteger = 'NOT_AN_INTEGER', + /** Value is not in range. */ + NotInRange = 'NOT_IN_RANGE', + /** Discount must have at least one entitled line. */ + NoEntitledLines = 'NO_ENTITLED_LINES', + /** Input value is not present. */ + Presence = 'PRESENCE', + /** The maximum number of cycles must be greater than the minimum. */ + SellingPlanMaxCyclesMustBeGreaterThanMinCycles = 'SELLING_PLAN_MAX_CYCLES_MUST_BE_GREATER_THAN_MIN_CYCLES', + /** Another operation updated the contract concurrently as the commit was in progress. */ + StaleContract = 'STALE_CONTRACT', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** Billing cycle selector cannot select upcoming billing cycle past limit. */ + UpcomingCycleLimitExceeded = 'UPCOMING_CYCLE_LIMIT_EXCEEDED' +} + +/** Return type for `subscriptionDraftFreeShippingDiscountAdd` mutation. */ +export type SubscriptionDraftFreeShippingDiscountAddPayload = { + __typename?: 'SubscriptionDraftFreeShippingDiscountAddPayload'; + /** The added subscription free shipping discount. */ + discountAdded?: Maybe; + /** The subscription contract draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftFreeShippingDiscountUpdate` mutation. */ +export type SubscriptionDraftFreeShippingDiscountUpdatePayload = { + __typename?: 'SubscriptionDraftFreeShippingDiscountUpdatePayload'; + /** The updated Subscription Discount. */ + discountUpdated?: Maybe; + /** The Subscription Contract draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields required to create a Subscription Draft. */ +export type SubscriptionDraftInput = { + /** The billing policy for the subscription contract. */ + billingPolicy?: InputMaybe; + /** A list of the custom attributes added to the subscription contract. */ + customAttributes?: InputMaybe>; + /** The delivery method for the subscription contract. */ + deliveryMethod?: InputMaybe; + /** The delivery policy for the subscription contract. */ + deliveryPolicy?: InputMaybe; + /** The shipping price for each renewal the subscription contract. */ + deliveryPrice?: InputMaybe; + /** The next billing date for the subscription contract. */ + nextBillingDate?: InputMaybe; + /** The note field that will be applied to the generated orders. */ + note?: InputMaybe; + /** The ID of the payment method to be used for the subscription contract. */ + paymentMethodId?: InputMaybe; + /** The current status of the subscription contract. */ + status?: InputMaybe; +}; + +/** Return type for `subscriptionDraftLineAdd` mutation. */ +export type SubscriptionDraftLineAddPayload = { + __typename?: 'SubscriptionDraftLineAddPayload'; + /** The Subscription Contract draft object. */ + draft?: Maybe; + /** The added Subscription Line. */ + lineAdded?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftLineRemove` mutation. */ +export type SubscriptionDraftLineRemovePayload = { + __typename?: 'SubscriptionDraftLineRemovePayload'; + /** The list of updated subscription discounts impacted by the removed line. */ + discountsUpdated?: Maybe>; + /** The Subscription Contract draft object. */ + draft?: Maybe; + /** The removed Subscription Line. */ + lineRemoved?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftLineUpdate` mutation. */ +export type SubscriptionDraftLineUpdatePayload = { + __typename?: 'SubscriptionDraftLineUpdatePayload'; + /** The Subscription Contract draft object. */ + draft?: Maybe; + /** The updated Subscription Line. */ + lineUpdated?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `subscriptionDraftUpdate` mutation. */ +export type SubscriptionDraftUpdatePayload = { + __typename?: 'SubscriptionDraftUpdatePayload'; + /** The Subscription Draft object. */ + draft?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a Subscription Draft error. */ +export type SubscriptionDraftUserError = DisplayableError & { + __typename?: 'SubscriptionDraftUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** The input fields for a subscription free shipping discount on a contract. */ +export type SubscriptionFreeShippingDiscountInput = { + /** The maximum number of times the subscription free shipping discount will be applied on orders. */ + recurringCycleLimit?: InputMaybe; + /** The title associated with the subscription free shipping discount. */ + title?: InputMaybe; +}; + +/** Represents a Subscription Line. */ +export type SubscriptionLine = { + __typename?: 'SubscriptionLine'; + /** The price per unit for the subscription line in the contract's currency. */ + currentPrice: MoneyV2; + /** List of custom attributes associated to the line item. */ + customAttributes: Array; + /** Discount allocations. */ + discountAllocations: Array; + /** The unique ID. */ + id: Scalars['ID']['output']; + /** Total line price including all discounts. */ + lineDiscountedPrice: MoneyV2; + /** Describe the price changes of the line over time. */ + pricingPolicy?: Maybe; + /** The product ID associated with the subscription line. */ + productId?: Maybe; + /** The quantity of the unit selected for the subscription line. */ + quantity: Scalars['Int']['output']; + /** Whether physical shipping is required for the variant. */ + requiresShipping: Scalars['Boolean']['output']; + /** + * The selling plan ID associated to the line. + * + * Indicates which selling plan was used to create this + * contract line initially. The selling plan ID is also used to + * find the associated delivery profile. + * + * The subscription contract, subscription line, or selling plan might have + * changed. As a result, the selling plan's attributes might not + * match the information on the contract. + */ + sellingPlanId?: Maybe; + /** + * The selling plan name associated to the line. This name describes + * the order line items created from this subscription line + * for both merchants and customers. + * + * The value can be different from the selling plan's name, because both + * the selling plan's name and the subscription line's selling_plan_name + * attribute can be updated independently. + */ + sellingPlanName?: Maybe; + /** Variant SKU number of the item associated with the subscription line. */ + sku?: Maybe; + /** Whether the variant is taxable. */ + taxable: Scalars['Boolean']['output']; + /** Product title of the item associated with the subscription line. */ + title: Scalars['String']['output']; + /** The product variant ID associated with the subscription line. */ + variantId?: Maybe; + /** The image associated with the line item's variant or product. */ + variantImage?: Maybe; + /** Product variant title of the item associated with the subscription line. */ + variantTitle?: Maybe; +}; + +/** An auto-generated type for paginating through multiple SubscriptionLines. */ +export type SubscriptionLineConnection = { + __typename?: 'SubscriptionLineConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SubscriptionLineEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one SubscriptionLine and a cursor during pagination. */ +export type SubscriptionLineEdge = { + __typename?: 'SubscriptionLineEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SubscriptionLineEdge. */ + node: SubscriptionLine; +}; + +/** The input fields required to add a new subscription line to a contract. */ +export type SubscriptionLineInput = { + /** The price of the product. */ + currentPrice: Scalars['Decimal']['input']; + /** The custom attributes for this subscription line. */ + customAttributes?: InputMaybe>; + /** Describes expected price changes of the subscription line over time. */ + pricingPolicy?: InputMaybe; + /** The ID of the product variant the subscription line refers to. */ + productVariantId: Scalars['ID']['input']; + /** The quantity of the product. */ + quantity: Scalars['Int']['input']; + /** The selling plan for the subscription line. */ + sellingPlanId?: InputMaybe; + /** + * The selling plan name for the subscription line. + * + * Defaults to using the selling plan's current name when not specified. + */ + sellingPlanName?: InputMaybe; +}; + +/** The input fields required to update a subscription line on a contract. */ +export type SubscriptionLineUpdateInput = { + /** The price of the product. */ + currentPrice?: InputMaybe; + /** The custom attributes for this subscription line. */ + customAttributes?: InputMaybe>; + /** Describes expected price changes of the subscription line over time. */ + pricingPolicy?: InputMaybe; + /** The ID of the product variant the subscription line refers to. */ + productVariantId?: InputMaybe; + /** The quantity of the product. */ + quantity?: InputMaybe; + /** The selling plan for the subscription line. */ + sellingPlanId?: InputMaybe; + /** The selling plan name for the subscription line. */ + sellingPlanName?: InputMaybe; +}; + +/** A local delivery option for a subscription contract. */ +export type SubscriptionLocalDeliveryOption = { + __typename?: 'SubscriptionLocalDeliveryOption'; + /** The code of the local delivery option. */ + code: Scalars['String']['output']; + /** The description of the local delivery option. */ + description?: Maybe; + /** Whether a phone number is required for the local delivery option. */ + phoneRequired: Scalars['Boolean']['output']; + /** The presentment title of the local delivery option. */ + presentmentTitle?: Maybe; + /** The price of the local delivery option. */ + price?: Maybe; + /** The title of the local delivery option. */ + title: Scalars['String']['output']; +}; + +/** Represents a Mailing Address on a Subscription. */ +export type SubscriptionMailingAddress = { + __typename?: 'SubscriptionMailingAddress'; + /** The first line of the address. Typically the street address or PO Box number. */ + address1?: Maybe; + /** The second line of the address. Typically the number of the apartment, suite, or unit. */ + address2?: Maybe; + /** The name of the city, district, village, or town. */ + city?: Maybe; + /** The name of the customer's company or organization. */ + company?: Maybe; + /** The name of the country. */ + country?: Maybe; + /** + * The two-letter code for the country of the address. + * + * For example, US. + */ + countryCode?: Maybe; + /** The first name of the customer. */ + firstName?: Maybe; + /** The last name of the customer. */ + lastName?: Maybe; + /** The full name of the customer, based on firstName and lastName. */ + name?: Maybe; + /** A unique phone number for the customer. Formatted using E.164 standard. For example, _+16135551111_. */ + phone?: Maybe; + /** The region of the address, such as the province, state, or district. */ + province?: Maybe; + /** + * The alphanumeric code for the region. + * + * For example, ON. + */ + provinceCode?: Maybe; + /** The zip or postal code of the address. */ + zip?: Maybe; +}; + +/** Custom subscription discount. */ +export type SubscriptionManualDiscount = { + __typename?: 'SubscriptionManualDiscount'; + /** Entitled line items used to apply the subscription discount on. */ + entitledLines: SubscriptionDiscountEntitledLines; + /** The unique ID. */ + id: Scalars['ID']['output']; + /** The maximum number of times the subscription discount will be applied on orders. */ + recurringCycleLimit?: Maybe; + /** The reason that the discount on the subscription draft is rejected. */ + rejectionReason?: Maybe; + /** Type of line the discount applies on. */ + targetType: DiscountTargetType; + /** The title associated with the subscription discount. */ + title?: Maybe; + /** The type of the subscription discount. */ + type: DiscountType; + /** The number of times the discount was applied. */ + usageCount: Scalars['Int']['output']; + /** The value of the subscription discount. */ + value: SubscriptionDiscountValue; +}; + +/** An auto-generated type for paginating through multiple SubscriptionManualDiscounts. */ +export type SubscriptionManualDiscountConnection = { + __typename?: 'SubscriptionManualDiscountConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in SubscriptionManualDiscountEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one SubscriptionManualDiscount and a cursor during pagination. */ +export type SubscriptionManualDiscountEdge = { + __typename?: 'SubscriptionManualDiscountEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of SubscriptionManualDiscountEdge. */ + node: SubscriptionManualDiscount; +}; + +/** The input fields for the subscription lines the discount applies on. */ +export type SubscriptionManualDiscountEntitledLinesInput = { + /** Specify whether the subscription discount will apply on all subscription lines. */ + all?: InputMaybe; + /** The ID of the lines to add to or remove from the subscription discount. */ + lines?: InputMaybe; +}; + +/** The input fields for the fixed amount value of the discount and distribution on the lines. */ +export type SubscriptionManualDiscountFixedAmountInput = { + /** Fixed amount value. */ + amount?: InputMaybe; + /** Whether the amount is intended per line item or once per subscription. */ + appliesOnEachItem?: InputMaybe; +}; + +/** The input fields for a subscription discount on a contract. */ +export type SubscriptionManualDiscountInput = { + /** Entitled line items used to apply the subscription discount on. */ + entitledLines?: InputMaybe; + /** The maximum number of times the subscription discount will be applied on orders. */ + recurringCycleLimit?: InputMaybe; + /** The title associated with the subscription discount. */ + title?: InputMaybe; + /** Percentage or fixed amount value of the discount. */ + value?: InputMaybe; +}; + +/** The input fields for line items that the discount refers to. */ +export type SubscriptionManualDiscountLinesInput = { + /** The ID of the lines to add to the subscription discount. */ + add?: InputMaybe>; + /** The ID of the lines to remove from the subscription discount. */ + remove?: InputMaybe>; +}; + +/** The input fields for the discount value and its distribution. */ +export type SubscriptionManualDiscountValueInput = { + /** Fixed amount input in the currency defined by the subscription. */ + fixedAmount?: InputMaybe; + /** The percentage value of the discount. Value must be between 0 - 100. */ + percentage?: InputMaybe; +}; + +/** A pickup option to deliver a subscription contract. */ +export type SubscriptionPickupOption = { + __typename?: 'SubscriptionPickupOption'; + /** The code of the pickup option. */ + code: Scalars['String']['output']; + /** The description of the pickup option. */ + description?: Maybe; + /** The pickup location. */ + location: Location; + /** Whether a phone number is required for the pickup option. */ + phoneRequired: Scalars['Boolean']['output']; + /** The estimated amount of time it takes for the pickup to be ready. For example, "Usually ready in 24 hours".). */ + pickupTime: Scalars['String']['output']; + /** The presentment title of the pickup option. */ + presentmentTitle?: Maybe; + /** The price of the pickup option. */ + price?: Maybe; + /** The title of the pickup option. */ + title: Scalars['String']['output']; +}; + +/** Represents a Subscription Line Pricing Policy. */ +export type SubscriptionPricingPolicy = { + __typename?: 'SubscriptionPricingPolicy'; + /** The base price per unit for the subscription line in the contract's currency. */ + basePrice: MoneyV2; + /** The adjustments per cycle for the subscription line. */ + cycleDiscounts: Array; +}; + +/** The input fields for an array containing all pricing changes for each billing cycle. */ +export type SubscriptionPricingPolicyCycleDiscountsInput = { + /** The price adjustment type. */ + adjustmentType: SellingPlanPricingPolicyAdjustmentType; + /** The price adjustment value. */ + adjustmentValue: SellingPlanPricingPolicyValueInput; + /** The cycle after which the pricing policy applies. */ + afterCycle: Scalars['Int']['input']; + /** The computed price after the adjustments are applied. */ + computedPrice: Scalars['Decimal']['input']; +}; + +/** The input fields for expected price changes of the subscription line over time. */ +export type SubscriptionPricingPolicyInput = { + /** The base price per unit for the subscription line in the contract's currency. */ + basePrice: Scalars['Decimal']['input']; + /** An array containing all pricing changes for each billing cycle. */ + cycleDiscounts: Array; +}; + +/** A shipping option to deliver a subscription contract. */ +export type SubscriptionShippingOption = { + __typename?: 'SubscriptionShippingOption'; + /** + * The carrier service that's providing this shipping option. + * This field isn't currently supported and returns null. + * @deprecated This field has never been implemented. + */ + carrierService?: Maybe; + /** The code of the shipping option. */ + code: Scalars['String']['output']; + /** The description of the shipping option. */ + description?: Maybe; + /** If a phone number is required for the shipping option. */ + phoneRequired?: Maybe; + /** The presentment title of the shipping option. */ + presentmentTitle?: Maybe; + /** The price of the shipping option. */ + price?: Maybe; + /** The title of the shipping option. */ + title: Scalars['String']['output']; +}; + +/** The result of the query to fetch shipping options for the subscription contract. */ +export type SubscriptionShippingOptionResult = SubscriptionShippingOptionResultFailure | SubscriptionShippingOptionResultSuccess; + +/** Failure determining available shipping options for delivery of a subscription contract. */ +export type SubscriptionShippingOptionResultFailure = { + __typename?: 'SubscriptionShippingOptionResultFailure'; + /** Failure reason. */ + message?: Maybe; +}; + +/** A shipping option for delivery of a subscription contract. */ +export type SubscriptionShippingOptionResultSuccess = { + __typename?: 'SubscriptionShippingOptionResultSuccess'; + /** Available shipping options. */ + shippingOptions: Array; +}; + +/** + * A suggested transaction. Suggested transaction are usually used in the context of refunds + * and exchanges. + */ +export type SuggestedOrderTransaction = { + __typename?: 'SuggestedOrderTransaction'; + /** The masked account number associated with the payment method. */ + accountNumber?: Maybe; + /** + * The amount of the transaction. + * @deprecated Use `amountSet` instead. + */ + amount: Scalars['Money']['output']; + /** The amount and currency of the suggested order transaction in shop and presentment currencies. */ + amountSet: MoneyBag; + /** The human-readable payment gateway name suggested to process the transaction. */ + formattedGateway?: Maybe; + /** The suggested payment gateway used to process the transaction. */ + gateway?: Maybe; + /** Specifies the kind of the suggested order transaction. */ + kind: SuggestedOrderTransactionKind; + /** + * Specifies the available amount to refund on the gateway. Only available within SuggestedRefund. + * @deprecated Use `maximumRefundableSet` instead. + */ + maximumRefundable?: Maybe; + /** Specifies the available amount to refund on the gateway in shop and presentment currencies. Only available within SuggestedRefund. */ + maximumRefundableSet?: Maybe; + /** The associated parent transaction, for example the authorization of a capture. */ + parentTransaction?: Maybe; + /** The associated payment details related to the transaction. */ + paymentDetails?: Maybe; +}; + +/** Specifies the kind of the suggested order transaction. */ +export enum SuggestedOrderTransactionKind { + /** A suggested refund transaction for an order. */ + SuggestedRefund = 'SUGGESTED_REFUND' +} + +/** Represents a refund suggested by Shopify based on the items being reimbursed. You can then use the suggested refund object to generate an actual refund. */ +export type SuggestedRefund = { + __typename?: 'SuggestedRefund'; + /** + * The total monetary value to be refunded. + * @deprecated Use `amountSet` instead. + */ + amount: Scalars['Money']['output']; + /** The total monetary value to be refunded in shop and presentment currencies. */ + amountSet: MoneyBag; + /** The sum of all the discounted prices of the line items being refunded. */ + discountedSubtotalSet: MoneyBag; + /** + * The total monetary value available to refund. + * @deprecated Use `maximumRefundableSet` instead. + */ + maximumRefundable: Scalars['Money']['output']; + /** The total monetary value available to refund in shop and presentment currencies. */ + maximumRefundableSet: MoneyBag; + /** A list of duties to be refunded from the order. */ + refundDuties: Array; + /** A list of line items to be refunded, along with restock instructions. */ + refundLineItems: Array; + /** The shipping costs to be refunded from the order. */ + shipping: ShippingRefund; + /** + * The sum of all the prices of the line items being refunded. + * @deprecated Use `subtotalSet` instead. + */ + subtotal: Scalars['Money']['output']; + /** The sum of all the prices of the line items being refunded in shop and presentment currencies. */ + subtotalSet: MoneyBag; + /** A list of suggested order transactions. */ + suggestedTransactions: Array; + /** The total cart discount amount that was applied to all line items in this refund. */ + totalCartDiscountAmountSet: MoneyBag; + /** The sum of all the duties being refunded from the order in shop and presentment currencies. The value must be positive. */ + totalDutiesSet: MoneyBag; + /** The sum of the taxes being refunded from the order in shop and presentment currencies. The value must be positive. */ + totalTaxSet: MoneyBag; + /** + * The sum of the taxes being refunded from the order. The value must be positive. + * @deprecated Use `totalTaxSet` instead. + */ + totalTaxes: Scalars['Money']['output']; +}; + +/** Represents a return refund suggested by Shopify based on the items being reimbursed. You can then use the suggested refund object to generate an actual refund for the return. */ +export type SuggestedReturnRefund = { + __typename?: 'SuggestedReturnRefund'; + /** The total monetary value to be refunded in shop and presentment currencies. */ + amount: MoneyBag; + /** The sum of all the discounted prices of the line items being refunded. */ + discountedSubtotal: MoneyBag; + /** The total monetary value available to refund in shop and presentment currencies. */ + maximumRefundable: MoneyBag; + /** A list of duties to be refunded from the order. */ + refundDuties: Array; + /** The shipping costs to be refunded from the order. */ + shipping: ShippingRefund; + /** The sum of all the prices of the line items being refunded in shop and presentment currencies. */ + subtotal: MoneyBag; + /** A list of suggested order transactions. */ + suggestedTransactions: Array; + /** The total cart discount amount that was applied to all line items in this refund. */ + totalCartDiscountAmount: MoneyBag; + /** The sum of all the duties being refunded from the order in shop and presentment currencies. The value must be positive. */ + totalDuties: MoneyBag; + /** The sum of the taxes being refunded in shop and presentment currencies. The value must be positive. */ + totalTax: MoneyBag; +}; + +/** Return type for `tagsAdd` mutation. */ +export type TagsAddPayload = { + __typename?: 'TagsAddPayload'; + /** The object that was updated. */ + node?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `tagsRemove` mutation. */ +export type TagsRemovePayload = { + __typename?: 'TagsRemovePayload'; + /** The object that was updated. */ + node?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Tax app configuration of a merchant. */ +export type TaxAppConfiguration = { + __typename?: 'TaxAppConfiguration'; + /** State of the tax app configuration. */ + state: TaxPartnerState; +}; + +/** Return type for `taxAppConfigure` mutation. */ +export type TaxAppConfigurePayload = { + __typename?: 'TaxAppConfigurePayload'; + /** The updated tax app configuration. */ + taxAppConfiguration?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `TaxAppConfigure`. */ +export type TaxAppConfigureUserError = DisplayableError & { + __typename?: 'TaxAppConfigureUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `TaxAppConfigureUserError`. */ +export enum TaxAppConfigureUserErrorCode { + /** Unable to update already active tax partner. */ + TaxPartnerAlreadyActive = 'TAX_PARTNER_ALREADY_ACTIVE', + /** Unable to find the tax partner record. */ + TaxPartnerNotFound = 'TAX_PARTNER_NOT_FOUND', + /** Unable to update tax partner state. */ + TaxPartnerStateUpdateFailed = 'TAX_PARTNER_STATE_UPDATE_FAILED' +} + +/** Available customer tax exemptions. */ +export enum TaxExemption { + /** This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in British Columbia. */ + CaBcCommercialFisheryExemption = 'CA_BC_COMMERCIAL_FISHERY_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid CONTRACTOR_EXEMPTION in British Columbia. */ + CaBcContractorExemption = 'CA_BC_CONTRACTOR_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid PRODUCTION_AND_MACHINERY_EXEMPTION in British Columbia. */ + CaBcProductionAndMachineryExemption = 'CA_BC_PRODUCTION_AND_MACHINERY_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in British Columbia. */ + CaBcResellerExemption = 'CA_BC_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid SUB_CONTRACTOR_EXEMPTION in British Columbia. */ + CaBcSubContractorExemption = 'CA_BC_SUB_CONTRACTOR_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid DIPLOMAT_EXEMPTION in Canada. */ + CaDiplomatExemption = 'CA_DIPLOMAT_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Manitoba. */ + CaMbCommercialFisheryExemption = 'CA_MB_COMMERCIAL_FISHERY_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Manitoba. */ + CaMbFarmerExemption = 'CA_MB_FARMER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Manitoba. */ + CaMbResellerExemption = 'CA_MB_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Nova Scotia. */ + CaNsCommercialFisheryExemption = 'CA_NS_COMMERCIAL_FISHERY_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Nova Scotia. */ + CaNsFarmerExemption = 'CA_NS_FARMER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid PURCHASE_EXEMPTION in Ontario. */ + CaOnPurchaseExemption = 'CA_ON_PURCHASE_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Prince Edward Island. */ + CaPeCommercialFisheryExemption = 'CA_PE_COMMERCIAL_FISHERY_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid COMMERCIAL_FISHERY_EXEMPTION in Saskatchewan. */ + CaSkCommercialFisheryExemption = 'CA_SK_COMMERCIAL_FISHERY_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid CONTRACTOR_EXEMPTION in Saskatchewan. */ + CaSkContractorExemption = 'CA_SK_CONTRACTOR_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid FARMER_EXEMPTION in Saskatchewan. */ + CaSkFarmerExemption = 'CA_SK_FARMER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid PRODUCTION_AND_MACHINERY_EXEMPTION in Saskatchewan. */ + CaSkProductionAndMachineryExemption = 'CA_SK_PRODUCTION_AND_MACHINERY_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Saskatchewan. */ + CaSkResellerExemption = 'CA_SK_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid SUB_CONTRACTOR_EXEMPTION in Saskatchewan. */ + CaSkSubContractorExemption = 'CA_SK_SUB_CONTRACTOR_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid STATUS_CARD_EXEMPTION in Canada. */ + CaStatusCardExemption = 'CA_STATUS_CARD_EXEMPTION', + /** This customer is exempt from VAT for purchases within the EU that is shipping from outside of customer's country. */ + EuReverseChargeExemptionRule = 'EU_REVERSE_CHARGE_EXEMPTION_RULE', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Alaska. */ + UsAkResellerExemption = 'US_AK_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Alabama. */ + UsAlResellerExemption = 'US_AL_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Arkansas. */ + UsArResellerExemption = 'US_AR_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Arizona. */ + UsAzResellerExemption = 'US_AZ_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in California. */ + UsCaResellerExemption = 'US_CA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Colorado. */ + UsCoResellerExemption = 'US_CO_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Connecticut. */ + UsCtResellerExemption = 'US_CT_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Washington DC. */ + UsDcResellerExemption = 'US_DC_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Delaware. */ + UsDeResellerExemption = 'US_DE_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Florida. */ + UsFlResellerExemption = 'US_FL_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Georgia. */ + UsGaResellerExemption = 'US_GA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Hawaii. */ + UsHiResellerExemption = 'US_HI_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Iowa. */ + UsIaResellerExemption = 'US_IA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Idaho. */ + UsIdResellerExemption = 'US_ID_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Illinois. */ + UsIlResellerExemption = 'US_IL_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Indiana. */ + UsInResellerExemption = 'US_IN_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Kansas. */ + UsKsResellerExemption = 'US_KS_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Kentucky. */ + UsKyResellerExemption = 'US_KY_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Louisiana. */ + UsLaResellerExemption = 'US_LA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Massachusetts. */ + UsMaResellerExemption = 'US_MA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Maryland. */ + UsMdResellerExemption = 'US_MD_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Maine. */ + UsMeResellerExemption = 'US_ME_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Michigan. */ + UsMiResellerExemption = 'US_MI_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Minnesota. */ + UsMnResellerExemption = 'US_MN_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Missouri. */ + UsMoResellerExemption = 'US_MO_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Mississippi. */ + UsMsResellerExemption = 'US_MS_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Montana. */ + UsMtResellerExemption = 'US_MT_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in North Carolina. */ + UsNcResellerExemption = 'US_NC_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in North Dakota. */ + UsNdResellerExemption = 'US_ND_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Nebraska. */ + UsNeResellerExemption = 'US_NE_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New Hampshire. */ + UsNhResellerExemption = 'US_NH_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New Jersey. */ + UsNjResellerExemption = 'US_NJ_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New Mexico. */ + UsNmResellerExemption = 'US_NM_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Nevada. */ + UsNvResellerExemption = 'US_NV_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in New York. */ + UsNyResellerExemption = 'US_NY_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Ohio. */ + UsOhResellerExemption = 'US_OH_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Oklahoma. */ + UsOkResellerExemption = 'US_OK_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Oregon. */ + UsOrResellerExemption = 'US_OR_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Pennsylvania. */ + UsPaResellerExemption = 'US_PA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Rhode Island. */ + UsRiResellerExemption = 'US_RI_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in South Carolina. */ + UsScResellerExemption = 'US_SC_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in South Dakota. */ + UsSdResellerExemption = 'US_SD_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Tennessee. */ + UsTnResellerExemption = 'US_TN_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Texas. */ + UsTxResellerExemption = 'US_TX_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Utah. */ + UsUtResellerExemption = 'US_UT_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Virginia. */ + UsVaResellerExemption = 'US_VA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Vermont. */ + UsVtResellerExemption = 'US_VT_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Washington. */ + UsWaResellerExemption = 'US_WA_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Wisconsin. */ + UsWiResellerExemption = 'US_WI_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in West Virginia. */ + UsWvResellerExemption = 'US_WV_RESELLER_EXEMPTION', + /** This customer is exempt from specific taxes for holding a valid RESELLER_EXEMPTION in Wyoming. */ + UsWyResellerExemption = 'US_WY_RESELLER_EXEMPTION' +} + +/** Represents a single tax applied to the associated line item. */ +export type TaxLine = { + __typename?: 'TaxLine'; + /** Whether the channel that submitted the tax line is liable for remitting. A value of null indicates unknown liability for this tax line. */ + channelLiable?: Maybe; + /** + * The amount of tax, in shop currency, after discounts and before returns. + * @deprecated Use `priceSet` instead. + */ + price: Scalars['Money']['output']; + /** The amount of tax, in shop and presentment currencies, after discounts and before returns. */ + priceSet: MoneyBag; + /** The proportion of the line item price that the tax represents as a decimal. */ + rate?: Maybe; + /** The proportion of the line item price that the tax represents as a percentage. */ + ratePercentage?: Maybe; + /** The source of the tax. */ + source?: Maybe; + /** The name of the tax. */ + title: Scalars['String']['output']; +}; + +/** State of the tax app configuration. */ +export enum TaxPartnerState { + /** App is configured and to be used for tax calculations. */ + Active = 'ACTIVE', + /** App is not configured. */ + Pending = 'PENDING', + /** App is configured, but not used for tax calculations. */ + Ready = 'READY' +} + +/** The Taxonomy resource lets you access the categories, attributes and values of a taxonomy tree. */ +export type Taxonomy = { + __typename?: 'Taxonomy'; + /** + * Returns the categories of the product taxonomy based on the arguments provided. + * If a `search` argument is provided, then all categories that match the search query globally are returned. + * If a `children_of` argument is provided, then all children of the specified category are returned. + * If a `siblings_of` argument is provided, then all siblings of the specified category are returned. + * If a `decendents_of` argument is provided, then all descendents of the specified category are returned. + * If no arguments are provided, then all the top-level categories of the taxonomy are returned. + */ + categories: TaxonomyCategoryConnection; +}; + + +/** The Taxonomy resource lets you access the categories, attributes and values of a taxonomy tree. */ +export type TaxonomyCategoriesArgs = { + after?: InputMaybe; + before?: InputMaybe; + childrenOf?: InputMaybe; + descendantsOf?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + search?: InputMaybe; + siblingsOf?: InputMaybe; +}; + +/** A Shopify product taxonomy attribute. */ +export type TaxonomyAttribute = Node & { + __typename?: 'TaxonomyAttribute'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; +}; + +/** The details of a specific product category within the [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). */ +export type TaxonomyCategory = Node & { + __typename?: 'TaxonomyCategory'; + /** The IDs of the category's ancestor categories. */ + ancestorIds: Array; + /** The attributes of the taxonomy category. */ + attributes: TaxonomyCategoryAttributeConnection; + /** The IDs of the category's child categories. */ + childrenIds: Array; + /** The full name of the taxonomy category. For example, Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Beds. */ + fullName: Scalars['String']['output']; + /** The globally-unique ID of the TaxonomyCategory. */ + id: Scalars['ID']['output']; + /** Whether the category is archived. The default value is `false`. */ + isArchived: Scalars['Boolean']['output']; + /** Whether the category is a leaf category. A leaf category doesn't have any subcategories beneath it. For example, in Animals & Pet Supplies > Pet Supplies > Dog Supplies > Dog Treadmills, Dog Treadmills is a leaf category. The value is `true` when there are no `childrenIds` specified. */ + isLeaf: Scalars['Boolean']['output']; + /** Whether the category is a root category. A root category is at the top level of the category hierarchy and doesn't have a parent category. For example, Animals & Pet Supplies. The value is `true` when there's no `parentId` specified. */ + isRoot: Scalars['Boolean']['output']; + /** The level of the category in the taxonomy tree. Levels indicate the depth of the category from the root. For example, in Animals & Pet Supplies > Pet Supplies > Dog Supplies, Animals & Pet Supplies is at level 1, Animals & Pet Supplies > Pet Supplies is at level 2, and Animals & Pet Supplies > Pet Supplies > Dog Supplies is at level 3. */ + level: Scalars['Int']['output']; + /** The name of the taxonomy category. For example, Dog Beds. */ + name: Scalars['String']['output']; + /** The ID of the category's parent category. */ + parentId?: Maybe; +}; + + +/** The details of a specific product category within the [Shopify product taxonomy](https://shopify.github.io/product-taxonomy/releases/unstable/?categoryId=sg-4-17-2-17). */ +export type TaxonomyCategoryAttributesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** A product taxonomy attribute interface. */ +export type TaxonomyCategoryAttribute = TaxonomyAttribute | TaxonomyChoiceListAttribute | TaxonomyMeasurementAttribute; + +/** An auto-generated type for paginating through multiple TaxonomyCategoryAttributes. */ +export type TaxonomyCategoryAttributeConnection = { + __typename?: 'TaxonomyCategoryAttributeConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in TaxonomyCategoryAttributeEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one TaxonomyCategoryAttribute and a cursor during pagination. */ +export type TaxonomyCategoryAttributeEdge = { + __typename?: 'TaxonomyCategoryAttributeEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of TaxonomyCategoryAttributeEdge. */ + node: TaxonomyCategoryAttribute; +}; + +/** An auto-generated type for paginating through multiple TaxonomyCategories. */ +export type TaxonomyCategoryConnection = { + __typename?: 'TaxonomyCategoryConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in TaxonomyCategoryEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one TaxonomyCategory and a cursor during pagination. */ +export type TaxonomyCategoryEdge = { + __typename?: 'TaxonomyCategoryEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of TaxonomyCategoryEdge. */ + node: TaxonomyCategory; +}; + +/** A Shopify product taxonomy choice list attribute. */ +export type TaxonomyChoiceListAttribute = Node & { + __typename?: 'TaxonomyChoiceListAttribute'; + /** The unique ID of the TaxonomyAttribute. */ + id: Scalars['ID']['output']; + /** The name of the product taxonomy attribute. For example, Color. */ + name: Scalars['String']['output']; + /** A list of values on the choice list attribute. */ + values: TaxonomyValueConnection; +}; + + +/** A Shopify product taxonomy choice list attribute. */ +export type TaxonomyChoiceListAttributeValuesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; +}; + +/** A Shopify product taxonomy measurement attribute. */ +export type TaxonomyMeasurementAttribute = Node & { + __typename?: 'TaxonomyMeasurementAttribute'; + /** The unique ID of the TaxonomyAttribute. */ + id: Scalars['ID']['output']; + /** The name of the product taxonomy attribute. For example, Color. */ + name: Scalars['String']['output']; + /** The product taxonomy attribute options. */ + options: Array; +}; + +/** Represents a Shopify product taxonomy value. */ +export type TaxonomyValue = Node & { + __typename?: 'TaxonomyValue'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The name of the product taxonomy value. For example, Red. */ + name: Scalars['String']['output']; +}; + +/** An auto-generated type for paginating through multiple TaxonomyValues. */ +export type TaxonomyValueConnection = { + __typename?: 'TaxonomyValueConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in TaxonomyValueEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one TaxonomyValue and a cursor during pagination. */ +export type TaxonomyValueEdge = { + __typename?: 'TaxonomyValueEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of TaxonomyValueEdge. */ + node: TaxonomyValue; +}; + +/** + * A TenderTransaction represents a transaction with financial impact on a shop's balance sheet. A tender transaction always + * represents actual money movement between a buyer and a shop. TenderTransactions can be used instead of OrderTransactions + * for reconciling a shop's cash flow. A TenderTransaction is immutable once created. + */ +export type TenderTransaction = Node & { + __typename?: 'TenderTransaction'; + /** The amount and currency of the tender transaction. */ + amount: MoneyV2; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The order that's related to the tender transaction. This value is null if the order has been deleted. */ + order?: Maybe; + /** Information about the payment method used for the transaction. */ + paymentMethod?: Maybe; + /** Date and time when the transaction was processed. */ + processedAt?: Maybe; + /** The remote gateway reference associated with the tender transaction. */ + remoteReference?: Maybe; + /** Whether the transaction is a test transaction. */ + test: Scalars['Boolean']['output']; + /** Information about the payment instrument used for the transaction. */ + transactionDetails?: Maybe; + /** The staff member who performed the transaction. */ + user?: Maybe; +}; + +/** An auto-generated type for paginating through multiple TenderTransactions. */ +export type TenderTransactionConnection = { + __typename?: 'TenderTransactionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in TenderTransactionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Information about the credit card used for this transaction. */ +export type TenderTransactionCreditCardDetails = { + __typename?: 'TenderTransactionCreditCardDetails'; + /** The name of the company that issued the customer's credit card. Example: `Visa`. */ + creditCardCompany?: Maybe; + /** The customer's credit card number, with all digits except the last 4 redacted. Example: `•••• •••• •••• 1234` */ + creditCardNumber?: Maybe; +}; + +/** Information about the payment instrument used for this transaction. */ +export type TenderTransactionDetails = TenderTransactionCreditCardDetails; + +/** An auto-generated type which holds one TenderTransaction and a cursor during pagination. */ +export type TenderTransactionEdge = { + __typename?: 'TenderTransactionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of TenderTransactionEdge. */ + node: TenderTransaction; +}; + +/** Return type for `themeCreate` mutation. */ +export type ThemeCreatePayload = { + __typename?: 'ThemeCreatePayload'; + /** The theme that was created. */ + theme?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ThemeCreate`. */ +export type ThemeCreateUserError = DisplayableError & { + __typename?: 'ThemeCreateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ThemeCreateUserError`. */ +export enum ThemeCreateUserErrorCode { + /** Must be a zip file. */ + InvalidZip = 'INVALID_ZIP', + /** Zip is empty. */ + ZipIsEmpty = 'ZIP_IS_EMPTY', + /** + * May not be used to fetch a file bigger + * than 50MB. + */ + ZipTooLarge = 'ZIP_TOO_LARGE' +} + +/** Return type for `themeDelete` mutation. */ +export type ThemeDeletePayload = { + __typename?: 'ThemeDeletePayload'; + /** The ID of the deleted theme. */ + deletedThemeId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ThemeDelete`. */ +export type ThemeDeleteUserError = DisplayableError & { + __typename?: 'ThemeDeleteUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ThemeDeleteUserError`. */ +export enum ThemeDeleteUserErrorCode { + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND' +} + +/** The input fields for the file copy. */ +export type ThemeFilesCopyFileInput = { + /** The new file where the content is copied to. */ + dstFilename: Scalars['String']['input']; + /** The source file to copy from. */ + srcFilename: Scalars['String']['input']; +}; + +/** Return type for `themeFilesCopy` mutation. */ +export type ThemeFilesCopyPayload = { + __typename?: 'ThemeFilesCopyPayload'; + /** The resulting theme files. */ + copiedThemeFiles?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `themeFilesDelete` mutation. */ +export type ThemeFilesDeletePayload = { + __typename?: 'ThemeFilesDeletePayload'; + /** The resulting theme files. */ + deletedThemeFiles?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `themeFilesUpsert` mutation. */ +export type ThemeFilesUpsertPayload = { + __typename?: 'ThemeFilesUpsertPayload'; + /** The theme files write job triggered by the mutation. */ + job?: Maybe; + /** The resulting theme files. */ + upsertedThemeFiles?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `themePublish` mutation. */ +export type ThemePublishPayload = { + __typename?: 'ThemePublishPayload'; + /** The theme that was published. */ + theme?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ThemePublish`. */ +export type ThemePublishUserError = DisplayableError & { + __typename?: 'ThemePublishUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ThemePublishUserError`. */ +export enum ThemePublishUserErrorCode { + /** Theme publishing is not available during install. */ + CannotPublishThemeDuringInstall = 'CANNOT_PUBLISH_THEME_DURING_INSTALL', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** Theme publishing is not allowed on this plan. */ + ThemePublishNotAvailableForThemeLimitedPlan = 'THEME_PUBLISH_NOT_AVAILABLE_FOR_THEME_LIMITED_PLAN' +} + +/** The role of the theme. */ +export enum ThemeRole { + /** The theme is archived if a merchant changes their plan and exceeds the maximum number of themes allowed. Archived themes can be downloaded by merchant, but can not be customized or published until the plan is upgraded. */ + Archived = 'ARCHIVED', + /** The theme is installed as a trial from the Shopify Theme Store. It can be customized using the theme editor, but access to the code editor and the ability to publish the theme are restricted until it is purchased. */ + Demo = 'DEMO', + /** The theme is automatically created by the CLI for previewing purposes when in a development session. */ + Development = 'DEVELOPMENT', + /** The theme is locked if it is identified as unlicensed. Customization and publishing are restricted until the merchant resolves the licensing issue. */ + Locked = 'LOCKED', + /** TThe currently published theme. There can only be one main theme at any time. */ + Main = 'MAIN', + /** + * The currently published theme that is only accessible to a mobile client. + * @deprecated The feature for this role has been deprecated. + */ + Mobile = 'MOBILE', + /** The theme is currently not published. It can be transitioned to the main role if it is published by the merchant. */ + Unpublished = 'UNPUBLISHED' +} + +/** Return type for `themeUpdate` mutation. */ +export type ThemeUpdatePayload = { + __typename?: 'ThemeUpdatePayload'; + /** The theme that was updated. */ + theme?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `ThemeUpdate`. */ +export type ThemeUpdateUserError = DisplayableError & { + __typename?: 'ThemeUpdateUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ThemeUpdateUserError`. */ +export enum ThemeUpdateUserErrorCode { + /** The input value is invalid. */ + Invalid = 'INVALID', + /** The record with the ID used as the input value couldn't be found. */ + NotFound = 'NOT_FOUND', + /** The input value is too long. */ + TooLong = 'TOO_LONG' +} + +/** A sale associated with a tip. */ +export type TipSale = Sale & { + __typename?: 'TipSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line item for the associated sale. */ + lineItem: LineItem; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** Transaction fee related to an order transaction. */ +export type TransactionFee = Node & { + __typename?: 'TransactionFee'; + /** Amount of the fee. */ + amount: MoneyV2; + /** Flat rate charge for a transaction. */ + flatFee: MoneyV2; + /** Name of the credit card flat fee. */ + flatFeeName?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** Percentage charge. */ + rate: Scalars['Decimal']['output']; + /** Name of the credit card rate. */ + rateName?: Maybe; + /** Tax amount charged on the fee. */ + taxAmount: MoneyV2; + /** Name of the type of fee. */ + type: Scalars['String']['output']; +}; + +/** The set of valid sort keys for the Transaction query. */ +export enum TransactionSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `expires_at` value. */ + ExpiresAt = 'EXPIRES_AT' +} + +/** Return type for `transactionVoid` mutation. */ +export type TransactionVoidPayload = { + __typename?: 'TransactionVoidPayload'; + /** The created void transaction. */ + transaction?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `TransactionVoid`. */ +export type TransactionVoidUserError = DisplayableError & { + __typename?: 'TransactionVoidUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `TransactionVoidUserError`. */ +export enum TransactionVoidUserErrorCode { + /** Transaction must be a successful authorization. */ + AuthNotSuccessful = 'AUTH_NOT_SUCCESSFUL', + /** Transaction must be voidable. */ + AuthNotVoidable = 'AUTH_NOT_VOIDABLE', + /** A generic error occurred while attempting to void the transaction. */ + GenericError = 'GENERIC_ERROR', + /** Transaction does not exist. */ + TransactionNotFound = 'TRANSACTION_NOT_FOUND' +} + +/** Translatable content of a resource's field. */ +export type TranslatableContent = { + __typename?: 'TranslatableContent'; + /** Hash digest representation of the content value. */ + digest?: Maybe; + /** The resource field that's being translated. */ + key: Scalars['String']['output']; + /** Locale of the content. */ + locale: Scalars['String']['output']; + /** Type of the translatable content. */ + type: LocalizableContentType; + /** Content value. */ + value?: Maybe; +}; + +/** A resource that has translatable fields. */ +export type TranslatableResource = { + __typename?: 'TranslatableResource'; + /** Nested translatable resources under the current resource. */ + nestedTranslatableResources: TranslatableResourceConnection; + /** GID of the resource. */ + resourceId: Scalars['ID']['output']; + /** Translatable content. */ + translatableContent: Array; + /** Translatable content translations (includes unpublished locales). */ + translations: Array; +}; + + +/** A resource that has translatable fields. */ +export type TranslatableResourceNestedTranslatableResourcesArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + resourceType?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A resource that has translatable fields. */ +export type TranslatableResourceTranslatableContentArgs = { + marketId?: InputMaybe; +}; + + +/** A resource that has translatable fields. */ +export type TranslatableResourceTranslationsArgs = { + locale: Scalars['String']['input']; + marketId?: InputMaybe; + outdated?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple TranslatableResources. */ +export type TranslatableResourceConnection = { + __typename?: 'TranslatableResourceConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in TranslatableResourceEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** An auto-generated type which holds one TranslatableResource and a cursor during pagination. */ +export type TranslatableResourceEdge = { + __typename?: 'TranslatableResourceEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of TranslatableResourceEdge. */ + node: TranslatableResource; +}; + +/** Specifies the type of resources that are translatable. */ +export enum TranslatableResourceType { + /** A blog post. Translatable fields: `title`, `body_html`, `summary_html`, `handle`, `meta_title`, `meta_description`. */ + Article = 'ARTICLE', + /** A blog. Translatable fields: `title`, `handle`, `meta_title`, `meta_description`. */ + Blog = 'BLOG', + /** A product collection. Translatable fields: `title`, `body_html`, `handle`, `meta_title`, `meta_description`. */ + Collection = 'COLLECTION', + /** The delivery method definition. For example, "Standard", or "Expedited". Translatable fields: `name`. */ + DeliveryMethodDefinition = 'DELIVERY_METHOD_DEFINITION', + /** An email template. Translatable fields: `title`, `body_html`. */ + EmailTemplate = 'EMAIL_TEMPLATE', + /** A filter. Translatable fields: `label`. */ + Filter = 'FILTER', + /** A link to direct users. Translatable fields: `title`. */ + Link = 'LINK', + /** A category of links. Translatable fields: `title`. */ + Menu = 'MENU', + /** A Metafield. Translatable fields: `value`. */ + Metafield = 'METAFIELD', + /** A Metaobject. Translatable fields are determined by the Metaobject type. */ + Metaobject = 'METAOBJECT', + /** An online store theme. Translatable fields: `dynamic keys based on theme data`. */ + OnlineStoreTheme = 'ONLINE_STORE_THEME', + /** A theme app embed. Translatable fields: `dynamic keys based on theme data`. */ + OnlineStoreThemeAppEmbed = 'ONLINE_STORE_THEME_APP_EMBED', + /** A theme json template. Translatable fields: `dynamic keys based on theme data`. */ + OnlineStoreThemeJsonTemplate = 'ONLINE_STORE_THEME_JSON_TEMPLATE', + /** Locale file content of an online store theme. Translatable fields: `dynamic keys based on theme data`. */ + OnlineStoreThemeLocaleContent = 'ONLINE_STORE_THEME_LOCALE_CONTENT', + /** A theme json section group. Translatable fields: `dynamic keys based on theme data`. */ + OnlineStoreThemeSectionGroup = 'ONLINE_STORE_THEME_SECTION_GROUP', + /** A theme setting category. Translatable fields: `dynamic keys based on theme data`. */ + OnlineStoreThemeSettingsCategory = 'ONLINE_STORE_THEME_SETTINGS_CATEGORY', + /** Shared static sections of an online store theme. Translatable fields: `dynamic keys based on theme data`. */ + OnlineStoreThemeSettingsDataSections = 'ONLINE_STORE_THEME_SETTINGS_DATA_SECTIONS', + /** A packing slip template. Translatable fields: `body`. */ + PackingSlipTemplate = 'PACKING_SLIP_TEMPLATE', + /** A page. Translatable fields: `title`, `body_html`, `handle`, `meta_title`, `meta_description`. */ + Page = 'PAGE', + /** A payment gateway. Translatable fields: `name`, `message`, `before_payment_instructions`. */ + PaymentGateway = 'PAYMENT_GATEWAY', + /** An online store product. Translatable fields: `title`, `body_html`, `handle`, `product_type`, `meta_title`, `meta_description`. */ + Product = 'PRODUCT', + /** + * An online store custom product property name. For example, "Size", "Color", or "Material". + * Translatable fields: `name`. + */ + ProductOption = 'PRODUCT_OPTION', + /** The product option value names. For example, "Red", "Blue", and "Green" for a "Color" option. Translatable fields: `name`. */ + ProductOptionValue = 'PRODUCT_OPTION_VALUE', + /** A selling plan. Translatable fields:`name`, `option1`, `option2`, `option3`, `description`. */ + SellingPlan = 'SELLING_PLAN', + /** A selling plan group. Translatable fields: `name`, `option1`, `option2`, `option3`. */ + SellingPlanGroup = 'SELLING_PLAN_GROUP', + /** A shop. Translatable fields: `meta_title`, `meta_description`. */ + Shop = 'SHOP', + /** A shop policy. Translatable fields: `body`. */ + ShopPolicy = 'SHOP_POLICY' +} + +/** Translation of a field of a resource. */ +export type Translation = { + __typename?: 'Translation'; + /** On the resource that this translation belongs to, the reference to the value being translated. */ + key: Scalars['String']['output']; + /** ISO code of the translation locale. */ + locale: Scalars['String']['output']; + /** The market that the translation is specific to. Null value means the translation is available in all markets. */ + market?: Maybe; + /** Whether the original content has changed since this translation was updated. */ + outdated: Scalars['Boolean']['output']; + /** The date and time when the translation was updated. */ + updatedAt?: Maybe; + /** Translation value. */ + value?: Maybe; +}; + +/** Possible error codes that can be returned by `TranslationUserError`. */ +export enum TranslationErrorCode { + /** The input value is blank. */ + Blank = 'BLANK', + /** Translation value is invalid. */ + FailsResourceValidation = 'FAILS_RESOURCE_VALIDATION', + /** The input value is invalid. */ + Invalid = 'INVALID', + /** Locale language code is invalid. */ + InvalidCode = 'INVALID_CODE', + /** Locale code format is invalid. */ + InvalidFormat = 'INVALID_FORMAT', + /** Translation key is invalid. */ + InvalidKeyForModel = 'INVALID_KEY_FOR_MODEL', + /** + * The locale is missing on the market corresponding to the `marketId` argument. + * @deprecated `invalid_locale_for_market` is deprecated because the creation of a locale that's specific to a market no longer needs to be tied to that market's URL. + * + */ + InvalidLocaleForMarket = 'INVALID_LOCALE_FOR_MARKET', + /** Locale is invalid for the shop. */ + InvalidLocaleForShop = 'INVALID_LOCALE_FOR_SHOP', + /** Market localizable content is invalid. */ + InvalidMarketLocalizableContent = 'INVALID_MARKET_LOCALIZABLE_CONTENT', + /** Translatable content is invalid. */ + InvalidTranslatableContent = 'INVALID_TRANSLATABLE_CONTENT', + /** The handle is already taken for this resource. */ + InvalidValueForHandleTranslation = 'INVALID_VALUE_FOR_HANDLE_TRANSLATION', + /** The shop isn't allowed to operate on market custom content. */ + MarketCustomContentNotAllowed = 'MARKET_CUSTOM_CONTENT_NOT_ALLOWED', + /** The market corresponding to the `marketId` argument doesn't exist. */ + MarketDoesNotExist = 'MARKET_DOES_NOT_EXIST', + /** The market override locale creation failed. */ + MarketLocaleCreationFailed = 'MARKET_LOCALE_CREATION_FAILED', + /** Resource does not exist. */ + ResourceNotFound = 'RESOURCE_NOT_FOUND', + /** The specified resource can't be customized for a market. */ + ResourceNotMarketCustomizable = 'RESOURCE_NOT_MARKET_CUSTOMIZABLE', + /** Resource is not translatable. */ + ResourceNotTranslatable = 'RESOURCE_NOT_TRANSLATABLE', + /** Too many translation keys for the resource. */ + TooManyKeysForResource = 'TOO_MANY_KEYS_FOR_RESOURCE' +} + +/** The input fields and values for creating or updating a translation. */ +export type TranslationInput = { + /** On the resource that this translation belongs to, the reference to the value being translated. */ + key: Scalars['String']['input']; + /** ISO code of the locale being translated into. Only locales returned in `shopLocales` are valid. */ + locale: Scalars['String']['input']; + /** The ID of the market that the translation is specific to. Not specifying this field means that the translation will be available in all markets. */ + marketId?: InputMaybe; + /** Hash digest representation of the content being translated. */ + translatableContentDigest: Scalars['String']['input']; + /** The value of the translation. */ + value: Scalars['String']['input']; +}; + +/** Represents an error that happens during the execution of a translation mutation. */ +export type TranslationUserError = DisplayableError & { + __typename?: 'TranslationUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Return type for `translationsRegister` mutation. */ +export type TranslationsRegisterPayload = { + __typename?: 'TranslationsRegisterPayload'; + /** The translations that were created or updated. */ + translations?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `translationsRemove` mutation. */ +export type TranslationsRemovePayload = { + __typename?: 'TranslationsRemovePayload'; + /** The translations that were deleted. */ + translations?: Maybe>; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents a typed custom attribute. */ +export type TypedAttribute = { + __typename?: 'TypedAttribute'; + /** Key or name of the attribute. */ + key: Scalars['String']['output']; + /** Value of the attribute. */ + value: Scalars['String']['output']; +}; + +/** + * Specifies the + * [Urchin Traffic Module (UTM) parameters](https://en.wikipedia.org/wiki/UTM_parameters) + * that are associated with a related marketing campaign. + */ +export type UtmInput = { + /** The name of the UTM campaign. */ + campaign: Scalars['String']['input']; + /** The UTM campaign medium. */ + medium: Scalars['String']['input']; + /** The name of the website or application where the referral link exists. */ + source: Scalars['String']['input']; +}; + +/** Represents a set of UTM parameters. */ +export type UtmParameters = { + __typename?: 'UTMParameters'; + /** The name of a marketing campaign. */ + campaign?: Maybe; + /** Identifies specific content in a marketing campaign. Used to differentiate between similar content or links in a marketing campaign to determine which is the most effective. */ + content?: Maybe; + /** The medium of a marketing campaign, such as a banner or email newsletter. */ + medium?: Maybe; + /** The source of traffic to the merchant's store, such as Google or an email newsletter. */ + source?: Maybe; + /** Paid search terms used by a marketing campaign. */ + term?: Maybe; +}; + +/** The measurement used to calculate a unit price for a product variant (e.g. $9.99 / 100ml). */ +export type UnitPriceMeasurement = { + __typename?: 'UnitPriceMeasurement'; + /** The type of unit of measurement for the unit price measurement. */ + measuredType?: Maybe; + /** The quantity unit for the unit price measurement. */ + quantityUnit?: Maybe; + /** The quantity value for the unit price measurement. */ + quantityValue: Scalars['Float']['output']; + /** The reference unit for the unit price measurement. */ + referenceUnit?: Maybe; + /** The reference value for the unit price measurement. */ + referenceValue: Scalars['Int']['output']; +}; + +/** The accepted types of unit of measurement. */ +export enum UnitPriceMeasurementMeasuredType { + /** Unit of measurements representing areas. */ + Area = 'AREA', + /** Unit of measurements representing lengths. */ + Length = 'LENGTH', + /** Unit of measurements representing volumes. */ + Volume = 'VOLUME', + /** Unit of measurements representing weights. */ + Weight = 'WEIGHT' +} + +/** The valid units of measurement for a unit price measurement. */ +export enum UnitPriceMeasurementMeasuredUnit { + /** 100 centiliters equals 1 liter. */ + Cl = 'CL', + /** 100 centimeters equals 1 meter. */ + Cm = 'CM', + /** Metric system unit of weight. */ + G = 'G', + /** 1 kilogram equals 1000 grams. */ + Kg = 'KG', + /** Metric system unit of volume. */ + L = 'L', + /** Metric system unit of length. */ + M = 'M', + /** Metric system unit of area. */ + M2 = 'M2', + /** 1 cubic meter equals 1000 liters. */ + M3 = 'M3', + /** 1000 milligrams equals 1 gram. */ + Mg = 'MG', + /** 1000 milliliters equals 1 liter. */ + Ml = 'ML', + /** 1000 millimeters equals 1 meter. */ + Mm = 'MM' +} + +/** Systems of weights and measures. */ +export enum UnitSystem { + /** Imperial system of weights and measures. */ + ImperialSystem = 'IMPERIAL_SYSTEM', + /** Metric system of weights and measures. */ + MetricSystem = 'METRIC_SYSTEM' +} + +/** This is represents new sale types that have been added in future API versions. You may update to a more recent API version to receive additional details about this sale. */ +export type UnknownSale = Sale & { + __typename?: 'UnknownSale'; + /** The type of order action that the sale represents. */ + actionType: SaleActionType; + /** The unique ID for the sale. */ + id: Scalars['ID']['output']; + /** The line type assocated with the sale. */ + lineType: SaleLineType; + /** The number of units either ordered or intended to be returned. */ + quantity?: Maybe; + /** All individual taxes associated with the sale. */ + taxes: Array; + /** The total sale amount after taxes and discounts. */ + totalAmount: MoneyBag; + /** The total discounts allocated to the sale after taxes. */ + totalDiscountAmountAfterTaxes: MoneyBag; + /** The total discounts allocated to the sale before taxes. */ + totalDiscountAmountBeforeTaxes: MoneyBag; + /** The total amount of taxes for the sale. */ + totalTaxAmount: MoneyBag; +}; + +/** An unverified return line item. */ +export type UnverifiedReturnLineItem = Node & ReturnLineItemType & { + __typename?: 'UnverifiedReturnLineItem'; + /** A note from the customer that describes the item to be returned. Maximum length: 300 characters. */ + customerNote?: Maybe; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The quantity being returned. */ + quantity: Scalars['Int']['output']; + /** The quantity that can be refunded. */ + refundableQuantity: Scalars['Int']['output']; + /** The quantity that was refunded. */ + refundedQuantity: Scalars['Int']['output']; + /** The reason for returning the item. */ + returnReason: ReturnReason; + /** Additional information about the reason for the return. Maximum length: 255 characters. */ + returnReasonNote: Scalars['String']['output']; + /** The unit price of the unverified return line item. */ + unitPrice: MoneyV2; +}; + +/** The input fields required to update a media object. */ +export type UpdateMediaInput = { + /** The alt text associated to the media. */ + alt?: InputMaybe; + /** Specifies the media to update. */ + id: Scalars['ID']['input']; + /** The source from which to update the media preview image. May be an external URL or staged upload URL. */ + previewImageSource?: InputMaybe; +}; + +/** The URL redirect for the online store. */ +export type UrlRedirect = Node & { + __typename?: 'UrlRedirect'; + /** The ID of the URL redirect. */ + id: Scalars['ID']['output']; + /** The old path to be redirected from. When the user visits this path, they will be redirected to the target location. */ + path: Scalars['String']['output']; + /** The target location where the user will be redirected to. */ + target: Scalars['String']['output']; +}; + +/** Return type for `urlRedirectBulkDeleteAll` mutation. */ +export type UrlRedirectBulkDeleteAllPayload = { + __typename?: 'UrlRedirectBulkDeleteAllPayload'; + /** The asynchronous job removing the redirects. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `urlRedirectBulkDeleteByIds` mutation. */ +export type UrlRedirectBulkDeleteByIdsPayload = { + __typename?: 'UrlRedirectBulkDeleteByIdsPayload'; + /** The asynchronous job removing the redirects. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `UrlRedirectBulkDeleteByIds`. */ +export type UrlRedirectBulkDeleteByIdsUserError = DisplayableError & { + __typename?: 'UrlRedirectBulkDeleteByIdsUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `UrlRedirectBulkDeleteByIdsUserError`. */ +export enum UrlRedirectBulkDeleteByIdsUserErrorCode { + /** + * You must pass one or more [`URLRedirect`]( + * https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect + * ) object IDs. + */ + IdsEmpty = 'IDS_EMPTY' +} + +/** Return type for `urlRedirectBulkDeleteBySavedSearch` mutation. */ +export type UrlRedirectBulkDeleteBySavedSearchPayload = { + __typename?: 'UrlRedirectBulkDeleteBySavedSearchPayload'; + /** The asynchronous job removing the redirects. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `UrlRedirectBulkDeleteBySavedSearch`. */ +export type UrlRedirectBulkDeleteBySavedSearchUserError = DisplayableError & { + __typename?: 'UrlRedirectBulkDeleteBySavedSearchUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `UrlRedirectBulkDeleteBySavedSearchUserError`. */ +export enum UrlRedirectBulkDeleteBySavedSearchUserErrorCode { + /** The saved search's query cannot match all entries or be empty. */ + InvalidSavedSearchQuery = 'INVALID_SAVED_SEARCH_QUERY', + /** Saved search not found. */ + SavedSearchNotFound = 'SAVED_SEARCH_NOT_FOUND' +} + +/** Return type for `urlRedirectBulkDeleteBySearch` mutation. */ +export type UrlRedirectBulkDeleteBySearchPayload = { + __typename?: 'UrlRedirectBulkDeleteBySearchPayload'; + /** The asynchronous job removing the redirects. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An error that occurs during the execution of `UrlRedirectBulkDeleteBySearch`. */ +export type UrlRedirectBulkDeleteBySearchUserError = DisplayableError & { + __typename?: 'UrlRedirectBulkDeleteBySearchUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `UrlRedirectBulkDeleteBySearchUserError`. */ +export enum UrlRedirectBulkDeleteBySearchUserErrorCode { + /** Invalid search string. */ + InvalidSearchArgument = 'INVALID_SEARCH_ARGUMENT' +} + +/** An auto-generated type for paginating through multiple UrlRedirects. */ +export type UrlRedirectConnection = { + __typename?: 'UrlRedirectConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in UrlRedirectEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `urlRedirectCreate` mutation. */ +export type UrlRedirectCreatePayload = { + __typename?: 'UrlRedirectCreatePayload'; + /** The created redirect. */ + urlRedirect?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Return type for `urlRedirectDelete` mutation. */ +export type UrlRedirectDeletePayload = { + __typename?: 'UrlRedirectDeletePayload'; + /** The ID of the deleted redirect. */ + deletedUrlRedirectId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one UrlRedirect and a cursor during pagination. */ +export type UrlRedirectEdge = { + __typename?: 'UrlRedirectEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of UrlRedirectEdge. */ + node: UrlRedirect; +}; + +/** Possible error codes that can be returned by `UrlRedirectUserError`. */ +export enum UrlRedirectErrorCode { + /** Redirect could not be created. */ + CreateFailed = 'CREATE_FAILED', + /** Redirect could not be deleted. */ + DeleteFailed = 'DELETE_FAILED', + /** Redirect does not exist. */ + DoesNotExist = 'DOES_NOT_EXIST', + /** Redirect could not be updated. */ + UpdateFailed = 'UPDATE_FAILED' +} + +/** + * A request to import a [`URLRedirect`](https://shopify.dev/api/admin-graphql/latest/objects/UrlRedirect) object + * into the Online Store channel. Apps can use this to query the state of an `UrlRedirectImport` request. + * + * For more information, see [`url-redirect`](https://help.shopify.com/en/manual/online-store/menus-and-links/url-redirect)s. + */ +export type UrlRedirectImport = Node & { + __typename?: 'UrlRedirectImport'; + /** The number of rows in the file. */ + count?: Maybe; + /** The number of redirects created from the import. */ + createdCount?: Maybe; + /** The number of redirects that failed to be imported. */ + failedCount?: Maybe; + /** Whether the import is finished. */ + finished: Scalars['Boolean']['output']; + /** The date and time when the import finished. */ + finishedAt?: Maybe; + /** The ID of the `UrlRedirectImport` object. */ + id: Scalars['ID']['output']; + /** A list of up to three previews of the URL redirects to be imported. */ + previewRedirects: Array; + /** The number of redirects updated during the import. */ + updatedCount?: Maybe; +}; + +/** Return type for `urlRedirectImportCreate` mutation. */ +export type UrlRedirectImportCreatePayload = { + __typename?: 'UrlRedirectImportCreatePayload'; + /** The created `URLRedirectImport` object. */ + urlRedirectImport?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Possible error codes that can be returned by `UrlRedirectImportUserError`. */ +export enum UrlRedirectImportErrorCode { + /** The import has already completed. */ + AlreadyImported = 'ALREADY_IMPORTED', + /** + * CSV file does not exist at given URL. + * @deprecated This error code is never returned + */ + FileDoesNotExist = 'FILE_DOES_NOT_EXIST', + /** The import is already in progress. */ + InProgress = 'IN_PROGRESS', + /** URL redirect import not found. */ + NotFound = 'NOT_FOUND' +} + +/** A preview of a URL redirect import row. */ +export type UrlRedirectImportPreview = { + __typename?: 'UrlRedirectImportPreview'; + /** The old path to be redirected from. When the user visits this path, they will be redirected to the target location. */ + path: Scalars['String']['output']; + /** The target location where the user will be redirected to. */ + target: Scalars['String']['output']; +}; + +/** Return type for `urlRedirectImportSubmit` mutation. */ +export type UrlRedirectImportSubmitPayload = { + __typename?: 'UrlRedirectImportSubmitPayload'; + /** The asynchronous job importing the redirects. */ + job?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents an error that happens during execution of a redirect import mutation. */ +export type UrlRedirectImportUserError = DisplayableError & { + __typename?: 'UrlRedirectImportUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** The input fields to create or update a URL redirect. */ +export type UrlRedirectInput = { + /** The old path to be redirected from. When the user visits this path, they will be redirected to the target location. */ + path?: InputMaybe; + /** The target location where the user will be redirected to. */ + target?: InputMaybe; +}; + +/** The set of valid sort keys for the UrlRedirect query. */ +export enum UrlRedirectSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** Sort by the `path` value. */ + Path = 'PATH', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** Return type for `urlRedirectUpdate` mutation. */ +export type UrlRedirectUpdatePayload = { + __typename?: 'UrlRedirectUpdatePayload'; + /** Returns the updated URL redirect. */ + urlRedirect?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** Represents an error that happens during execution of a redirect mutation. */ +export type UrlRedirectUserError = DisplayableError & { + __typename?: 'UrlRedirectUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Represents an error in the input of a mutation. */ +export type UserError = DisplayableError & { + __typename?: 'UserError'; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** A checkout server side validation installed on the shop. */ +export type Validation = HasMetafieldDefinitions & HasMetafields & Node & { + __typename?: 'Validation'; + /** Whether the validation should block on failures other than expected violations. */ + blockOnFailure: Scalars['Boolean']['output']; + /** Whether the validation is enabled on the merchant checkout. */ + enabled: Scalars['Boolean']['output']; + /** The error history on the most recent version of the validation function. */ + errorHistory?: Maybe; + /** Global ID for the validation. */ + id: Scalars['ID']['output']; + /** + * 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. + */ + metafield?: Maybe; + /** + * List of metafield definitions. + * @deprecated This field will be removed in a future version. Use the root `metafieldDefinitions` field instead. + */ + metafieldDefinitions: MetafieldDefinitionConnection; + /** + * A list of [custom fields](https://shopify.dev/docs/apps/build/custom-data) + * that a merchant associates with a Shopify resource. + */ + metafields: MetafieldConnection; + /** + * Returns a private metafield by namespace and key that belongs to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafield?: Maybe; + /** + * List of private metafields that belong to the resource. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafields: PrivateMetafieldConnection; + /** The Shopify Function implementing the validation. */ + shopifyFunction: ShopifyFunction; + /** The merchant-facing validation name. */ + title: Scalars['String']['output']; +}; + + +/** A checkout server side validation installed on the shop. */ +export type ValidationMetafieldArgs = { + key: Scalars['String']['input']; + namespace?: InputMaybe; +}; + + +/** A checkout server side validation installed on the shop. */ +export type ValidationMetafieldDefinitionsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + pinnedStatus?: InputMaybe; + query?: InputMaybe; + reverse?: InputMaybe; + sortKey?: InputMaybe; +}; + + +/** A checkout server side validation installed on the shop. */ +export type ValidationMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + keys?: InputMaybe>; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + + +/** A checkout server side validation installed on the shop. */ +export type ValidationPrivateMetafieldArgs = { + key: Scalars['String']['input']; + namespace: Scalars['String']['input']; +}; + + +/** A checkout server side validation installed on the shop. */ +export type ValidationPrivateMetafieldsArgs = { + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; + namespace?: InputMaybe; + reverse?: InputMaybe; +}; + +/** An auto-generated type for paginating through multiple Validations. */ +export type ValidationConnection = { + __typename?: 'ValidationConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in ValidationEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** The input fields required to install a validation. */ +export type ValidationCreateInput = { + /** Whether the validation should block on failures other than expected violations. */ + blockOnFailure?: InputMaybe; + /** Whether the validation should be live on the merchant checkout. */ + enable?: InputMaybe; + /** The function ID representing the extension to install. */ + functionId: Scalars['String']['input']; + /** Additional metafields to associate to the validation. */ + metafields?: InputMaybe>; + /** The title of the validation. */ + title?: InputMaybe; +}; + +/** Return type for `validationCreate` mutation. */ +export type ValidationCreatePayload = { + __typename?: 'ValidationCreatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The created validation. */ + validation?: Maybe; +}; + +/** Return type for `validationDelete` mutation. */ +export type ValidationDeletePayload = { + __typename?: 'ValidationDeletePayload'; + /** Returns the deleted validation ID. */ + deletedId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one Validation and a cursor during pagination. */ +export type ValidationEdge = { + __typename?: 'ValidationEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of ValidationEdge. */ + node: Validation; +}; + +/** The set of valid sort keys for the Validation query. */ +export enum ValidationSortKeys { + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** The input fields required to update a validation. */ +export type ValidationUpdateInput = { + /** Whether the validation should block on failures other than expected violations. */ + blockOnFailure?: InputMaybe; + /** Whether the validation should be live on the merchant checkout. */ + enable?: InputMaybe; + /** Additional metafields to associate to the validation. */ + metafields?: InputMaybe>; + /** The title of the validation. */ + title?: InputMaybe; +}; + +/** Return type for `validationUpdate` mutation. */ +export type ValidationUpdatePayload = { + __typename?: 'ValidationUpdatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The updated validation. */ + validation?: Maybe; +}; + +/** An error that occurs during the execution of a validation mutation. */ +export type ValidationUserError = DisplayableError & { + __typename?: 'ValidationUserError'; + /** The error code. */ + code?: Maybe; + /** The path to the input field that caused the error. */ + field?: Maybe>; + /** The error message. */ + message: Scalars['String']['output']; +}; + +/** Possible error codes that can be returned by `ValidationUserError`. */ +export enum ValidationUserErrorCode { + /** ApiPermission metafields can only be created or updated by the app owner. */ + AppNotAuthorized = 'APP_NOT_AUTHORIZED', + /** The input value is blank. */ + Blank = 'BLANK', + /** The metafield violates a capability restriction. */ + CapabilityViolation = 'CAPABILITY_VIOLATION', + /** Shop must be on a Shopify Plus plan to activate functions from a custom app. */ + CustomAppFunctionNotEligible = 'CUSTOM_APP_FUNCTION_NOT_ELIGIBLE', + /** Owner type can't be used in this mutation. */ + DisallowedOwnerType = 'DISALLOWED_OWNER_TYPE', + /** Function does not implement the required interface for this cart & checkout validation. */ + FunctionDoesNotImplement = 'FUNCTION_DOES_NOT_IMPLEMENT', + /** Function not found. */ + FunctionNotFound = 'FUNCTION_NOT_FOUND', + /** Function is pending deletion. */ + FunctionPendingDeletion = 'FUNCTION_PENDING_DELETION', + /** The input value isn't included in the list. */ + Inclusion = 'INCLUSION', + /** An internal error occurred. */ + InternalError = 'INTERNAL_ERROR', + /** The type is invalid. */ + InvalidType = 'INVALID_TYPE', + /** The value is invalid for the metafield type or for the definition options. */ + InvalidValue = 'INVALID_VALUE', + /** Cannot have more than 5 active validation functions. */ + MaxValidationsActivated = 'MAX_VALIDATIONS_ACTIVATED', + /** Validation not found. */ + NotFound = 'NOT_FOUND', + /** The input value needs to be blank. */ + Present = 'PRESENT', + /** Only unlisted apps can be used for this cart & checkout validation. */ + PublicAppNotAllowed = 'PUBLIC_APP_NOT_ALLOWED', + /** The input value is already taken. */ + Taken = 'TAKEN', + /** The input value is too long. */ + TooLong = 'TOO_LONG', + /** The input value is too short. */ + TooShort = 'TOO_SHORT', + /** Unstructured reserved namespace. */ + UnstructuredReservedNamespace = 'UNSTRUCTURED_RESERVED_NAMESPACE' +} + +/** The input fields required to create or modify a product variant's option value. */ +export type VariantOptionValueInput = { + /** Specifies the product option value by ID. */ + id?: InputMaybe; + /** Metafield value associated with an option. */ + linkedMetafieldValue?: InputMaybe; + /** Specifies the product option value by name. */ + name?: InputMaybe; + /** Specifies the product option by ID. */ + optionId?: InputMaybe; + /** Specifies the product option by name. */ + optionName?: InputMaybe; +}; + +/** Represents a credit card payment instrument. */ +export type VaultCreditCard = { + __typename?: 'VaultCreditCard'; + /** The billing address of the card. */ + billingAddress?: Maybe; + /** The brand for the card. */ + brand: Scalars['String']['output']; + /** Whether the card has been expired. */ + expired: Scalars['Boolean']['output']; + /** The expiry month of the card. */ + expiryMonth: Scalars['Int']['output']; + /** The expiry year of the card. */ + expiryYear: Scalars['Int']['output']; + /** The last four digits for the card. */ + lastDigits: Scalars['String']['output']; + /** The name of the card holder. */ + name: Scalars['String']['output']; +}; + +/** Represents a paypal billing agreement payment instrument. */ +export type VaultPaypalBillingAgreement = { + __typename?: 'VaultPaypalBillingAgreement'; + /** Whether the paypal billing agreement is inactive. */ + inactive: Scalars['Boolean']['output']; + /** The paypal account name. */ + name: Scalars['String']['output']; + /** The paypal account email address. */ + paypalAccountEmail: Scalars['String']['output']; +}; + +/** + * Representation of 3d vectors and points. It can represent + * either the coordinates of a point in space, a direction, or + * size. Presented as an object with three floating-point values. + */ +export type Vector3 = { + __typename?: 'Vector3'; + /** The x coordinate of Vector3. */ + x: Scalars['Float']['output']; + /** The y coordinate of Vector3. */ + y: Scalars['Float']['output']; + /** The z coordinate of Vector3. */ + z: Scalars['Float']['output']; +}; + +/** Represents a Shopify hosted video. */ +export type Video = File & Media & Node & { + __typename?: 'Video'; + /** A word or phrase to share the nature or contents of a media. */ + alt?: Maybe; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was created. */ + createdAt: Scalars['DateTime']['output']; + /** + * The video's duration in milliseconds. This value is `null` unless the video's status field is + * [READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready). + */ + duration?: Maybe; + /** Any errors that have occurred on the file. */ + fileErrors: Array; + /** The status of the file. */ + fileStatus: FileStatus; + /** The video's filename. */ + filename: Scalars['String']['output']; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The media content type. */ + mediaContentType: MediaContentType; + /** Any errors which have occurred on the media. */ + mediaErrors: Array; + /** The warnings attached to the media. */ + mediaWarnings: Array; + /** + * The video's original source. This value is `null` unless the video's status field is + * [READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready). + */ + originalSource?: Maybe; + /** The preview image for the media. */ + preview?: Maybe; + /** + * The video's sources. This value is empty unless the video's status field is + * [READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready). + */ + sources: Array; + /** Current status of the media. */ + status: MediaStatus; + /** The date and time ([ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601)) when the file was last updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** + * Represents a source for a Shopify hosted video. + * + * Types of sources include the original video, lower resolution versions of the original video, + * and an m3u8 playlist file. + * + * Only [videos](https://shopify.dev/api/admin-graphql/latest/objects/video) with a status field + * of [READY](https://shopify.dev/api/admin-graphql/latest/enums/MediaStatus#value-ready) have sources. + */ +export type VideoSource = { + __typename?: 'VideoSource'; + /** The video source's file size in bytes. */ + fileSize?: Maybe; + /** The video source's file format extension. */ + format: Scalars['String']['output']; + /** The video source's height. */ + height: Scalars['Int']['output']; + /** The video source's MIME type. */ + mimeType: Scalars['String']['output']; + /** The video source's URL. */ + url: Scalars['String']['output']; + /** The video source's width. */ + width: Scalars['Int']['output']; +}; + +/** A web pixel settings. */ +export type WebPixel = Node & { + __typename?: 'WebPixel'; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** The settings JSON object for the web pixel. */ + settings: Scalars['JSON']['output']; +}; + +/** Return type for `webPixelCreate` mutation. */ +export type WebPixelCreatePayload = { + __typename?: 'WebPixelCreatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The created web pixel settings. */ + webPixel?: Maybe; +}; + +/** Return type for `webPixelDelete` mutation. */ +export type WebPixelDeletePayload = { + __typename?: 'WebPixelDeletePayload'; + /** The ID of the web pixel settings that was deleted. */ + deletedWebPixelId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** The input fields to use to update a web pixel. */ +export type WebPixelInput = { + /** The web pixel settings in JSON format. */ + settings: Scalars['JSON']['input']; +}; + +/** Return type for `webPixelUpdate` mutation. */ +export type WebPixelUpdatePayload = { + __typename?: 'WebPixelUpdatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The updated web pixel settings. */ + webPixel?: Maybe; +}; + +/** An Amazon EventBridge partner event source to which webhook subscriptions publish events. */ +export type WebhookEventBridgeEndpoint = { + __typename?: 'WebhookEventBridgeEndpoint'; + /** The ARN of this EventBridge partner event source. */ + arn: Scalars['ARN']['output']; +}; + +/** An HTTPS endpoint to which webhook subscriptions send POST requests. */ +export type WebhookHttpEndpoint = { + __typename?: 'WebhookHttpEndpoint'; + /** The URL to which the webhooks events are sent. */ + callbackUrl: Scalars['URL']['output']; +}; + +/** A Google Cloud Pub/Sub topic to which webhook subscriptions publish events. */ +export type WebhookPubSubEndpoint = { + __typename?: 'WebhookPubSubEndpoint'; + /** The Google Cloud Pub/Sub project ID. */ + pubSubProject: Scalars['String']['output']; + /** The Google Cloud Pub/Sub topic ID. */ + pubSubTopic: Scalars['String']['output']; +}; + +/** + * A webhook subscription is a persisted data object created by an app using the REST Admin API or GraphQL Admin API. + * It describes the topic that the app wants to receive, and a destination where Shopify should send webhooks of the specified topic. + * When an event for a given topic occurs, the webhook subscription sends a relevant payload to the destination. + * Learn more about the [webhooks system](https://shopify.dev/apps/webhooks). + */ +export type WebhookSubscription = LegacyInteroperability & Node & { + __typename?: 'WebhookSubscription'; + /** The Admin API version that Shopify uses to serialize webhook events. This value is inherited from the app that created the webhook subscription. */ + apiVersion: ApiVersion; + /** + * The destination URI to which the webhook subscription will send a message when an event occurs. + * @deprecated Use `endpoint` instead. + */ + callbackUrl: Scalars['URL']['output']; + /** The date and time when the webhook subscription was created. */ + createdAt: Scalars['DateTime']['output']; + /** The endpoint to which the webhook subscription will send events. */ + endpoint: WebhookSubscriptionEndpoint; + /** A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details. */ + filter?: Maybe; + /** The format in which the webhook subscription should send the data. */ + format: WebhookSubscriptionFormat; + /** A globally-unique ID. */ + id: Scalars['ID']['output']; + /** An optional array of top-level resource fields that should be serialized and sent in the webhook message. If null, then all fields will be sent. */ + includeFields: Array; + /** The ID of the corresponding resource in the REST Admin API. */ + legacyResourceId: Scalars['UnsignedInt64']['output']; + /** The list of namespaces for any metafields that should be included in the webhook subscription. */ + metafieldNamespaces: Array; + /** + * The list of namespaces for private metafields that should be included in the webhook subscription. + * @deprecated Metafields created using a reserved namespace are private by default. See our guide for + * [migrating private metafields](https://shopify.dev/docs/apps/custom-data/metafields/migrate-private-metafields). + * + */ + privateMetafieldNamespaces: Array; + /** The type of event that triggers the webhook. The topic determines when the webhook subscription sends a webhook, as well as what class of data object that webhook contains. */ + topic: WebhookSubscriptionTopic; + /** The date and time when the webhook subscription was updated. */ + updatedAt: Scalars['DateTime']['output']; +}; + +/** An auto-generated type for paginating through multiple WebhookSubscriptions. */ +export type WebhookSubscriptionConnection = { + __typename?: 'WebhookSubscriptionConnection'; + /** The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node. */ + edges: Array; + /** A list of nodes that are contained in WebhookSubscriptionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve. */ + nodes: Array; + /** An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page. */ + pageInfo: PageInfo; +}; + +/** Return type for `webhookSubscriptionCreate` mutation. */ +export type WebhookSubscriptionCreatePayload = { + __typename?: 'WebhookSubscriptionCreatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The webhook subscription that was created. */ + webhookSubscription?: Maybe; +}; + +/** Return type for `webhookSubscriptionDelete` mutation. */ +export type WebhookSubscriptionDeletePayload = { + __typename?: 'WebhookSubscriptionDeletePayload'; + /** The ID of the deleted webhook subscription. */ + deletedWebhookSubscriptionId?: Maybe; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; +}; + +/** An auto-generated type which holds one WebhookSubscription and a cursor during pagination. */ +export type WebhookSubscriptionEdge = { + __typename?: 'WebhookSubscriptionEdge'; + /** The position of each node in an array, used in [pagination](https://shopify.dev/api/usage/pagination-graphql). */ + cursor: Scalars['String']['output']; + /** The item at the end of WebhookSubscriptionEdge. */ + node: WebhookSubscription; +}; + +/** An endpoint to which webhook subscriptions send webhooks events. */ +export type WebhookSubscriptionEndpoint = WebhookEventBridgeEndpoint | WebhookHttpEndpoint | WebhookPubSubEndpoint; + +/** The supported formats for webhook subscriptions. */ +export enum WebhookSubscriptionFormat { + Json = 'JSON', + Xml = 'XML' +} + +/** The input fields for a webhook subscription. */ +export type WebhookSubscriptionInput = { + /** URL where the webhook subscription should send the POST request when the event occurs. */ + callbackUrl?: InputMaybe; + /** A constraint specified using search syntax that ensures only webhooks that match the specified filter are emitted. See our [guide on filters](https://shopify.dev/docs/apps/build/webhooks/customize/filters) for more details. */ + filter?: InputMaybe; + /** The format in which the webhook subscription should send the data. */ + format?: InputMaybe; + /** The list of fields to be included in the webhook subscription. */ + includeFields?: InputMaybe>; + /** The list of namespaces for any metafields that should be included in the webhook subscription. */ + metafieldNamespaces?: InputMaybe>; +}; + +/** The set of valid sort keys for the WebhookSubscription query. */ +export enum WebhookSubscriptionSortKeys { + /** Sort by the `created_at` value. */ + CreatedAt = 'CREATED_AT', + /** Sort by the `id` value. */ + Id = 'ID', + /** + * Sort by relevance to the search terms when the `query` parameter is specified on the connection. + * Don't use this sort key when no search query is specified. + */ + Relevance = 'RELEVANCE' +} + +/** + * The supported topics for webhook subscriptions. You can use webhook subscriptions to receive + * notifications about particular events in a shop. + * + * You create [mandatory webhooks](https://shopify.dev/apps/webhooks/configuration/mandatory-webhooks#mandatory-compliance-webhooks) either via the + * [Partner Dashboard](https://shopify.dev/apps/webhooks/configuration/mandatory-webhooks#subscribe-to-privacy-webhooks) + * or by updating the [app configuration file](https://shopify.dev/apps/tools/cli/configuration#app-configuration-file-example). + * + * > Tip: + * >To configure your subscription using the app configuration file, refer to the [full list of topic names](https://shopify.dev/docs/api/webhooks?reference=graphql). + */ +export enum WebhookSubscriptionTopic { + /** The webhook topic for `app_purchases_one_time/update` events. Occurs whenever a one-time app charge is updated. */ + AppPurchasesOneTimeUpdate = 'APP_PURCHASES_ONE_TIME_UPDATE', + /** The webhook topic for `app/scopes_update` events. Occurs whenever the access scopes of any installation are modified. Allows apps to keep track of the granted access scopes of their installations. */ + AppScopesUpdate = 'APP_SCOPES_UPDATE', + /** The webhook topic for `app_subscriptions/approaching_capped_amount` events. Occurs when the balance used on an app subscription crosses 90% of the capped amount. */ + AppSubscriptionsApproachingCappedAmount = 'APP_SUBSCRIPTIONS_APPROACHING_CAPPED_AMOUNT', + /** The webhook topic for `app_subscriptions/update` events. Occurs whenever an app subscription is updated. */ + AppSubscriptionsUpdate = 'APP_SUBSCRIPTIONS_UPDATE', + /** The webhook topic for `app/uninstalled` events. Occurs whenever a shop has uninstalled the app. */ + AppUninstalled = 'APP_UNINSTALLED', + /** The webhook topic for `attributed_sessions/first` events. Occurs whenever an order with a "first" attributed session is attributed. Requires the `read_marketing_events` scope. */ + AttributedSessionsFirst = 'ATTRIBUTED_SESSIONS_FIRST', + /** The webhook topic for `attributed_sessions/last` events. Occurs whenever an order with a "last" attributed session is attributed. Requires the `read_marketing_events` scope. */ + AttributedSessionsLast = 'ATTRIBUTED_SESSIONS_LAST', + /** The webhook topic for `audit_events/admin_api_activity` events. Triggers for each auditable Admin API request. This topic is limited to one active subscription per Plus store and requires the use of Google Cloud Pub/Sub or AWS EventBridge. Requires the `read_audit_events` scope. */ + AuditEventsAdminApiActivity = 'AUDIT_EVENTS_ADMIN_API_ACTIVITY', + /** The webhook topic for `bulk_operations/finish` events. Notifies when a Bulk Operation finishes. */ + BulkOperationsFinish = 'BULK_OPERATIONS_FINISH', + /** The webhook topic for `carts/create` events. Occurs when a cart is created in the online store. Other types of carts aren't supported. For example, the webhook doesn't support carts that are created in a custom storefront. Requires the `read_orders` scope. */ + CartsCreate = 'CARTS_CREATE', + /** The webhook topic for `carts/update` events. Occurs when a cart is updated in the online store. Other types of carts aren't supported. For example, the webhook doesn't support carts that are updated in a custom storefront. Requires the `read_orders` scope. */ + CartsUpdate = 'CARTS_UPDATE', + /** The webhook topic for `channels/delete` events. Occurs whenever a channel is deleted. Requires the `read_publications` scope. */ + ChannelsDelete = 'CHANNELS_DELETE', + /** The webhook topic for `checkouts/create` events. Occurs whenever a checkout is created. Requires the `read_orders` scope. */ + CheckoutsCreate = 'CHECKOUTS_CREATE', + /** The webhook topic for `checkouts/delete` events. Occurs whenever a checkout is deleted. Requires the `read_orders` scope. */ + CheckoutsDelete = 'CHECKOUTS_DELETE', + /** The webhook topic for `checkouts/update` events. Occurs whenever a checkout is updated. Requires the `read_orders` scope. */ + CheckoutsUpdate = 'CHECKOUTS_UPDATE', + /** The webhook topic for `collections/create` events. Occurs whenever a collection is created. Requires the `read_products` scope. */ + CollectionsCreate = 'COLLECTIONS_CREATE', + /** The webhook topic for `collections/delete` events. Occurs whenever a collection is deleted. Requires the `read_products` scope. */ + CollectionsDelete = 'COLLECTIONS_DELETE', + /** The webhook topic for `collections/update` events. Occurs whenever a collection is updated, including whenever products are added or removed from the collection. Occurs once if multiple products are added or removed from a collection at the same time. Requires the `read_products` scope. */ + CollectionsUpdate = 'COLLECTIONS_UPDATE', + /** The webhook topic for `collection_listings/add` events. Occurs whenever a collection listing is added. Requires the `read_product_listings` scope. */ + CollectionListingsAdd = 'COLLECTION_LISTINGS_ADD', + /** The webhook topic for `collection_listings/remove` events. Occurs whenever a collection listing is removed. Requires the `read_product_listings` scope. */ + CollectionListingsRemove = 'COLLECTION_LISTINGS_REMOVE', + /** The webhook topic for `collection_listings/update` events. Occurs whenever a collection listing is updated. Requires the `read_product_listings` scope. */ + CollectionListingsUpdate = 'COLLECTION_LISTINGS_UPDATE', + /** The webhook topic for `collection_publications/create` events. Occurs whenever a collection publication listing is created. Requires the `read_publications` scope. */ + CollectionPublicationsCreate = 'COLLECTION_PUBLICATIONS_CREATE', + /** The webhook topic for `collection_publications/delete` events. Occurs whenever a collection publication listing is deleted. Requires the `read_publications` scope. */ + CollectionPublicationsDelete = 'COLLECTION_PUBLICATIONS_DELETE', + /** The webhook topic for `collection_publications/update` events. Occurs whenever a collection publication listing is updated. Requires the `read_publications` scope. */ + CollectionPublicationsUpdate = 'COLLECTION_PUBLICATIONS_UPDATE', + /** The webhook topic for `companies/create` events. Occurs whenever a company is created. Requires at least one of the following scopes: read_customers, read_companies. */ + CompaniesCreate = 'COMPANIES_CREATE', + /** The webhook topic for `companies/delete` events. Occurs whenever a company is deleted. Requires at least one of the following scopes: read_customers, read_companies. */ + CompaniesDelete = 'COMPANIES_DELETE', + /** The webhook topic for `companies/update` events. Occurs whenever a company is updated. Requires at least one of the following scopes: read_customers, read_companies. */ + CompaniesUpdate = 'COMPANIES_UPDATE', + /** The webhook topic for `company_contacts/create` events. Occurs whenever a company contact is created. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyContactsCreate = 'COMPANY_CONTACTS_CREATE', + /** The webhook topic for `company_contacts/delete` events. Occurs whenever a company contact is deleted. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyContactsDelete = 'COMPANY_CONTACTS_DELETE', + /** The webhook topic for `company_contacts/update` events. Occurs whenever a company contact is updated. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyContactsUpdate = 'COMPANY_CONTACTS_UPDATE', + /** The webhook topic for `company_contact_roles/assign` events. Occurs whenever a role is assigned to a contact at a location. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyContactRolesAssign = 'COMPANY_CONTACT_ROLES_ASSIGN', + /** The webhook topic for `company_contact_roles/revoke` events. Occurs whenever a role is revoked from a contact at a location. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyContactRolesRevoke = 'COMPANY_CONTACT_ROLES_REVOKE', + /** The webhook topic for `company_locations/create` events. Occurs whenever a company location is created. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyLocationsCreate = 'COMPANY_LOCATIONS_CREATE', + /** The webhook topic for `company_locations/delete` events. Occurs whenever a company location is deleted. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyLocationsDelete = 'COMPANY_LOCATIONS_DELETE', + /** The webhook topic for `company_locations/update` events. Occurs whenever a company location is updated. Requires at least one of the following scopes: read_customers, read_companies. */ + CompanyLocationsUpdate = 'COMPANY_LOCATIONS_UPDATE', + /** The webhook topic for `customers/create` events. Occurs whenever a customer is created. Requires the `read_customers` scope. */ + CustomersCreate = 'CUSTOMERS_CREATE', + /** The webhook topic for `customers/delete` events. Occurs whenever a customer is deleted. Requires the `read_customers` scope. */ + CustomersDelete = 'CUSTOMERS_DELETE', + /** The webhook topic for `customers/disable` events. Occurs whenever a customer account is disabled. Requires the `read_customers` scope. */ + CustomersDisable = 'CUSTOMERS_DISABLE', + /** The webhook topic for `customers_email_marketing_consent/update` events. Occurs whenever a customer's email marketing consent is updated. Requires the `read_customers` scope. */ + CustomersEmailMarketingConsentUpdate = 'CUSTOMERS_EMAIL_MARKETING_CONSENT_UPDATE', + /** The webhook topic for `customers/enable` events. Occurs whenever a customer account is enabled. Requires the `read_customers` scope. */ + CustomersEnable = 'CUSTOMERS_ENABLE', + /** The webhook topic for `customers_marketing_consent/update` events. Occurs whenever a customer's SMS marketing consent is updated. Requires the `read_customers` scope. */ + CustomersMarketingConsentUpdate = 'CUSTOMERS_MARKETING_CONSENT_UPDATE', + /** The webhook topic for `customers/merge` events. Triggers when two customers are merged Requires the `read_customer_merge` scope. */ + CustomersMerge = 'CUSTOMERS_MERGE', + /** The webhook topic for `customers/update` events. Occurs whenever a customer is updated. Requires the `read_customers` scope. */ + CustomersUpdate = 'CUSTOMERS_UPDATE', + /** The webhook topic for `customer_account_settings/update` events. Triggers when merchants change customer account setting. */ + CustomerAccountSettingsUpdate = 'CUSTOMER_ACCOUNT_SETTINGS_UPDATE', + /** The webhook topic for `customer_groups/create` events. Occurs whenever a customer saved search is created. Requires the `read_customers` scope. */ + CustomerGroupsCreate = 'CUSTOMER_GROUPS_CREATE', + /** The webhook topic for `customer_groups/delete` events. Occurs whenever a customer saved search is deleted. Requires the `read_customers` scope. */ + CustomerGroupsDelete = 'CUSTOMER_GROUPS_DELETE', + /** The webhook topic for `customer_groups/update` events. Occurs whenever a customer saved search is updated. Requires the `read_customers` scope. */ + CustomerGroupsUpdate = 'CUSTOMER_GROUPS_UPDATE', + /** The webhook topic for `customer_payment_methods/create` events. Occurs whenever a customer payment method is created. Requires the `read_customer_payment_methods` scope. */ + CustomerPaymentMethodsCreate = 'CUSTOMER_PAYMENT_METHODS_CREATE', + /** The webhook topic for `customer_payment_methods/revoke` events. Occurs whenever a customer payment method is revoked. Requires the `read_customer_payment_methods` scope. */ + CustomerPaymentMethodsRevoke = 'CUSTOMER_PAYMENT_METHODS_REVOKE', + /** The webhook topic for `customer_payment_methods/update` events. Occurs whenever a customer payment method is updated. Requires the `read_customer_payment_methods` scope. */ + CustomerPaymentMethodsUpdate = 'CUSTOMER_PAYMENT_METHODS_UPDATE', + /** The webhook topic for `customer.tags_added` events. Triggers when tags are added to a customer. Requires the `read_customers` scope. */ + CustomerTagsAdded = 'CUSTOMER_TAGS_ADDED', + /** The webhook topic for `customer.tags_removed` events. Triggers when tags are removed from a customer. Requires the `read_customers` scope. */ + CustomerTagsRemoved = 'CUSTOMER_TAGS_REMOVED', + /** The webhook topic for `discounts/create` events. Occurs whenever a discount is created. Requires the `read_discounts` scope. */ + DiscountsCreate = 'DISCOUNTS_CREATE', + /** The webhook topic for `discounts/delete` events. Occurs whenever a discount is deleted. Requires the `read_discounts` scope. */ + DiscountsDelete = 'DISCOUNTS_DELETE', + /** The webhook topic for `discounts/redeemcode_added` events. Occurs whenever a redeem code is added to a code discount. Requires the `read_discounts` scope. */ + DiscountsRedeemcodeAdded = 'DISCOUNTS_REDEEMCODE_ADDED', + /** The webhook topic for `discounts/redeemcode_removed` events. Occurs whenever a redeem code on a code discount is deleted. Requires the `read_discounts` scope. */ + DiscountsRedeemcodeRemoved = 'DISCOUNTS_REDEEMCODE_REMOVED', + /** The webhook topic for `discounts/update` events. Occurs whenever a discount is updated. Requires the `read_discounts` scope. */ + DiscountsUpdate = 'DISCOUNTS_UPDATE', + /** The webhook topic for `disputes/create` events. Occurs whenever a dispute is created. Requires the `read_shopify_payments_disputes` scope. */ + DisputesCreate = 'DISPUTES_CREATE', + /** The webhook topic for `disputes/update` events. Occurs whenever a dispute is updated. Requires the `read_shopify_payments_disputes` scope. */ + DisputesUpdate = 'DISPUTES_UPDATE', + /** The webhook topic for `domains/create` events. Occurs whenever a domain is created. */ + DomainsCreate = 'DOMAINS_CREATE', + /** The webhook topic for `domains/destroy` events. Occurs whenever a domain is destroyed. */ + DomainsDestroy = 'DOMAINS_DESTROY', + /** The webhook topic for `domains/update` events. Occurs whenever a domain is updated. */ + DomainsUpdate = 'DOMAINS_UPDATE', + /** The webhook topic for `draft_orders/create` events. Occurs whenever a draft order is created. Requires the `read_draft_orders` scope. */ + DraftOrdersCreate = 'DRAFT_ORDERS_CREATE', + /** The webhook topic for `draft_orders/delete` events. Occurs whenever a draft order is deleted. Requires the `read_draft_orders` scope. */ + DraftOrdersDelete = 'DRAFT_ORDERS_DELETE', + /** The webhook topic for `draft_orders/update` events. Occurs whenever a draft order is updated. Requires the `read_draft_orders` scope. */ + DraftOrdersUpdate = 'DRAFT_ORDERS_UPDATE', + /** The webhook topic for `fulfillments/create` events. Occurs whenever a fulfillment is created. Requires at least one of the following scopes: read_fulfillments, read_marketplace_orders. */ + FulfillmentsCreate = 'FULFILLMENTS_CREATE', + /** The webhook topic for `fulfillments/update` events. Occurs whenever a fulfillment is updated. Requires at least one of the following scopes: read_fulfillments, read_marketplace_orders. */ + FulfillmentsUpdate = 'FULFILLMENTS_UPDATE', + /** The webhook topic for `fulfillment_events/create` events. Occurs whenever a fulfillment event is created. Requires the `read_fulfillments` scope. */ + FulfillmentEventsCreate = 'FULFILLMENT_EVENTS_CREATE', + /** The webhook topic for `fulfillment_events/delete` events. Occurs whenever a fulfillment event is deleted. Requires the `read_fulfillments` scope. */ + FulfillmentEventsDelete = 'FULFILLMENT_EVENTS_DELETE', + /** The webhook topic for `fulfillment_orders/cancellation_request_accepted` events. Occurs when a 3PL accepts a fulfillment cancellation request, received from a merchant. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersCancellationRequestAccepted = 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_ACCEPTED', + /** The webhook topic for `fulfillment_orders/cancellation_request_rejected` events. Occurs when a 3PL rejects a fulfillment cancellation request, received from a merchant. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersCancellationRequestRejected = 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_REJECTED', + /** The webhook topic for `fulfillment_orders/cancellation_request_submitted` events. Occurs when a merchant requests a fulfillment request to be cancelled after that request was approved by a 3PL. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersCancellationRequestSubmitted = 'FULFILLMENT_ORDERS_CANCELLATION_REQUEST_SUBMITTED', + /** The webhook topic for `fulfillment_orders/cancelled` events. Occurs when a fulfillment order is cancelled. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersCancelled = 'FULFILLMENT_ORDERS_CANCELLED', + /** The webhook topic for `fulfillment_orders/fulfillment_request_accepted` events. Occurs when a fulfillment service accepts a request to fulfill a fulfillment order. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersFulfillmentRequestAccepted = 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_ACCEPTED', + /** The webhook topic for `fulfillment_orders/fulfillment_request_rejected` events. Occurs when a 3PL rejects a fulfillment request that was sent by a merchant. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersFulfillmentRequestRejected = 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_REJECTED', + /** The webhook topic for `fulfillment_orders/fulfillment_request_submitted` events. Occurs when a merchant submits a fulfillment request to a 3PL. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersFulfillmentRequestSubmitted = 'FULFILLMENT_ORDERS_FULFILLMENT_REQUEST_SUBMITTED', + /** The webhook topic for `fulfillment_orders/fulfillment_service_failed_to_complete` events. Occurs when a fulfillment service intends to close an in_progress fulfillment order. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersFulfillmentServiceFailedToComplete = 'FULFILLMENT_ORDERS_FULFILLMENT_SERVICE_FAILED_TO_COMPLETE', + /** The webhook topic for `fulfillment_orders/hold_released` events. Occurs whenever a fulfillment order hold is released. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersHoldReleased = 'FULFILLMENT_ORDERS_HOLD_RELEASED', + /** The webhook topic for `fulfillment_orders/line_items_prepared_for_local_delivery` events. Occurs whenever a fulfillment order's line items are prepared for local delivery. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersLineItemsPreparedForLocalDelivery = 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_LOCAL_DELIVERY', + /** The webhook topic for `fulfillment_orders/line_items_prepared_for_pickup` events. Triggers when one or more of the line items for a fulfillment order are prepared for pickup Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersLineItemsPreparedForPickup = 'FULFILLMENT_ORDERS_LINE_ITEMS_PREPARED_FOR_PICKUP', + /** The webhook topic for `fulfillment_orders/merged` events. Occurs when multiple fulfillment orders are merged into a single fulfillment order. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders. */ + FulfillmentOrdersMerged = 'FULFILLMENT_ORDERS_MERGED', + /** + * The webhook topic for `fulfillment_orders/moved` events. Occurs whenever the location which is assigned to fulfill one or more fulfillment order line items is changed. + * + * * `original_fulfillment_order` - The final state of the original fulfillment order. + * * `moved_fulfillment_order` - The fulfillment order which now contains the re-assigned line items. + * * `source_location` - The original location which was assigned to fulfill the line items (available as of the `2023-04` API version). + * * `destination_location_id` - The ID of the location which is now responsible for fulfilling the line items. + * + * **Note:** The [assignedLocation](https://shopify.dev/docs/api/admin-graphql/latest/objects/fulfillmentorder#field-fulfillmentorder-assignedlocation) + * of the `original_fulfillment_order` might be changed by the move operation. + * If you need to determine the originally assigned location, then you should refer to the `source_location`. + * + * [Learn more about moving line items](https://shopify.dev/docs/api/admin-graphql/latest/mutations/fulfillmentOrderMove). + * Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. + */ + FulfillmentOrdersMoved = 'FULFILLMENT_ORDERS_MOVED', + /** The webhook topic for `fulfillment_orders/order_routing_complete` events. Occurs when an order has finished being routed and it's fulfillment orders assigned to a fulfillment service's location. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_buyer_membership_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersOrderRoutingComplete = 'FULFILLMENT_ORDERS_ORDER_ROUTING_COMPLETE', + /** The webhook topic for `fulfillment_orders/placed_on_hold` events. Occurs when a fulfillment order is placed on hold. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersPlacedOnHold = 'FULFILLMENT_ORDERS_PLACED_ON_HOLD', + /** + * The webhook topic for `fulfillment_orders/rescheduled` events. Triggers when a fulfillment order is rescheduled. + * + * Fulfillment orders may be merged if they have the same `fulfillAt` datetime. + * If the fulfillment order is merged then the resulting fulfillment order will be indicated in the webhook body. + * Otherwise it will be the original fulfillment order with an updated `fulfill_at` datetime. + * Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. + */ + FulfillmentOrdersRescheduled = 'FULFILLMENT_ORDERS_RESCHEDULED', + /** The webhook topic for `fulfillment_orders/scheduled_fulfillment_order_ready` events. Occurs whenever a fulfillment order which was scheduled becomes due. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders, read_marketplace_fulfillment_orders. */ + FulfillmentOrdersScheduledFulfillmentOrderReady = 'FULFILLMENT_ORDERS_SCHEDULED_FULFILLMENT_ORDER_READY', + /** The webhook topic for `fulfillment_orders/split` events. Occurs when a fulfillment order is split into multiple fulfillment orders. Requires at least one of the following scopes: read_merchant_managed_fulfillment_orders, read_assigned_fulfillment_orders, read_third_party_fulfillment_orders. */ + FulfillmentOrdersSplit = 'FULFILLMENT_ORDERS_SPLIT', + /** The webhook topic for `inventory_items/create` events. Occurs whenever an inventory item is created. Requires the `read_inventory` scope. */ + InventoryItemsCreate = 'INVENTORY_ITEMS_CREATE', + /** The webhook topic for `inventory_items/delete` events. Occurs whenever an inventory item is deleted. Requires the `read_inventory` scope. */ + InventoryItemsDelete = 'INVENTORY_ITEMS_DELETE', + /** The webhook topic for `inventory_items/update` events. Occurs whenever an inventory item is updated. Requires the `read_inventory` scope. */ + InventoryItemsUpdate = 'INVENTORY_ITEMS_UPDATE', + /** The webhook topic for `inventory_levels/connect` events. Occurs whenever an inventory level is connected. Requires the `read_inventory` scope. */ + InventoryLevelsConnect = 'INVENTORY_LEVELS_CONNECT', + /** The webhook topic for `inventory_levels/disconnect` events. Occurs whenever an inventory level is disconnected. Requires the `read_inventory` scope. */ + InventoryLevelsDisconnect = 'INVENTORY_LEVELS_DISCONNECT', + /** The webhook topic for `inventory_levels/update` events. Occurs whenever an inventory level is updated. Requires the `read_inventory` scope. */ + InventoryLevelsUpdate = 'INVENTORY_LEVELS_UPDATE', + /** The webhook topic for `locales/create` events. Occurs whenever a shop locale is created Requires the `read_locales` scope. */ + LocalesCreate = 'LOCALES_CREATE', + /** The webhook topic for `locales/update` events. Occurs whenever a shop locale is updated, such as published or unpublished Requires the `read_locales` scope. */ + LocalesUpdate = 'LOCALES_UPDATE', + /** The webhook topic for `locations/activate` events. Occurs whenever a deactivated location is re-activated. Requires the `read_locations` scope. */ + LocationsActivate = 'LOCATIONS_ACTIVATE', + /** The webhook topic for `locations/create` events. Occurs whenever a location is created. Requires the `read_locations` scope. */ + LocationsCreate = 'LOCATIONS_CREATE', + /** The webhook topic for `locations/deactivate` events. Occurs whenever a location is deactivated. Requires the `read_locations` scope. */ + LocationsDeactivate = 'LOCATIONS_DEACTIVATE', + /** The webhook topic for `locations/delete` events. Occurs whenever a location is deleted. Requires the `read_locations` scope. */ + LocationsDelete = 'LOCATIONS_DELETE', + /** The webhook topic for `locations/update` events. Occurs whenever a location is updated. Requires the `read_locations` scope. */ + LocationsUpdate = 'LOCATIONS_UPDATE', + /** The webhook topic for `markets/create` events. Occurs when a new market is created. Requires the `read_markets` scope. */ + MarketsCreate = 'MARKETS_CREATE', + /** The webhook topic for `markets/delete` events. Occurs when a market is deleted. Requires the `read_markets` scope. */ + MarketsDelete = 'MARKETS_DELETE', + /** The webhook topic for `markets/update` events. Occurs when a market is updated. Requires the `read_markets` scope. */ + MarketsUpdate = 'MARKETS_UPDATE', + /** The webhook topic for `metafield_definitions/create` events. Occurs when a metafield definition is created. Requires the `read_content` scope. */ + MetafieldDefinitionsCreate = 'METAFIELD_DEFINITIONS_CREATE', + /** The webhook topic for `metafield_definitions/delete` events. Occurs when a metafield definition is deleted. Requires the `read_content` scope. */ + MetafieldDefinitionsDelete = 'METAFIELD_DEFINITIONS_DELETE', + /** The webhook topic for `metafield_definitions/update` events. Occurs when a metafield definition is updated. Requires the `read_content` scope. */ + MetafieldDefinitionsUpdate = 'METAFIELD_DEFINITIONS_UPDATE', + /** The webhook topic for `metaobjects/create` events. Occurs when a metaobject is created. Requires the `read_metaobjects` scope. */ + MetaobjectsCreate = 'METAOBJECTS_CREATE', + /** The webhook topic for `metaobjects/delete` events. Occurs when a metaobject is deleted. Requires the `read_metaobjects` scope. */ + MetaobjectsDelete = 'METAOBJECTS_DELETE', + /** The webhook topic for `metaobjects/update` events. Occurs when a metaobject is updated. Requires the `read_metaobjects` scope. */ + MetaobjectsUpdate = 'METAOBJECTS_UPDATE', + /** The webhook topic for `orders/cancelled` events. Occurs whenever an order is cancelled. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders. */ + OrdersCancelled = 'ORDERS_CANCELLED', + /** The webhook topic for `orders/create` events. Occurs whenever an order is created. Requires at least one of the following scopes: read_orders, read_marketplace_orders. */ + OrdersCreate = 'ORDERS_CREATE', + /** The webhook topic for `orders/delete` events. Occurs whenever an order is deleted. Requires the `read_orders` scope. */ + OrdersDelete = 'ORDERS_DELETE', + /** The webhook topic for `orders/edited` events. Occurs whenever an order is edited. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders. */ + OrdersEdited = 'ORDERS_EDITED', + /** The webhook topic for `orders/fulfilled` events. Occurs whenever an order is fulfilled. Requires at least one of the following scopes: read_orders, read_marketplace_orders. */ + OrdersFulfilled = 'ORDERS_FULFILLED', + /** The webhook topic for `orders/paid` events. Occurs whenever an order is paid. Requires at least one of the following scopes: read_orders, read_marketplace_orders. */ + OrdersPaid = 'ORDERS_PAID', + /** The webhook topic for `orders/partially_fulfilled` events. Occurs whenever an order is partially fulfilled. Requires at least one of the following scopes: read_orders, read_marketplace_orders. */ + OrdersPartiallyFulfilled = 'ORDERS_PARTIALLY_FULFILLED', + /** + * The webhook topic for `orders/risk_assessment_changed` events. Triggers when a new risk assessment is available on the order. + * This can be the first or a subsequent risk assessment. + * New risk assessments can be provided until the order is marked as fulfilled. + * Includes the risk level, risk facts, the provider and the order ID. + * Does not include the risk recommendation for the order. + * The Shop ID is available in the headers. + * Requires the `read_orders` scope. + */ + OrdersRiskAssessmentChanged = 'ORDERS_RISK_ASSESSMENT_CHANGED', + /** The webhook topic for `orders/shopify_protect_eligibility_changed` events. Occurs whenever Shopify Protect's eligibility for an order is changed. Requires the `read_orders` scope. */ + OrdersShopifyProtectEligibilityChanged = 'ORDERS_SHOPIFY_PROTECT_ELIGIBILITY_CHANGED', + /** The webhook topic for `orders/updated` events. Occurs whenever an order is updated. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders. */ + OrdersUpdated = 'ORDERS_UPDATED', + /** The webhook topic for `order_transactions/create` events. Occurs when a order transaction is created or when it's status is updated. Only occurs for transactions with a status of success, failure or error. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders. */ + OrderTransactionsCreate = 'ORDER_TRANSACTIONS_CREATE', + /** The webhook topic for `payment_schedules/due` events. Occurs whenever payment schedules are due. Requires the `read_payment_terms` scope. */ + PaymentSchedulesDue = 'PAYMENT_SCHEDULES_DUE', + /** The webhook topic for `payment_terms/create` events. Occurs whenever payment terms are created. Requires the `read_payment_terms` scope. */ + PaymentTermsCreate = 'PAYMENT_TERMS_CREATE', + /** The webhook topic for `payment_terms/delete` events. Occurs whenever payment terms are deleted. Requires the `read_payment_terms` scope. */ + PaymentTermsDelete = 'PAYMENT_TERMS_DELETE', + /** The webhook topic for `payment_terms/update` events. Occurs whenever payment terms are updated. Requires the `read_payment_terms` scope. */ + PaymentTermsUpdate = 'PAYMENT_TERMS_UPDATE', + /** The webhook topic for `products/create` events. Occurs whenever a product is created. Requires the `read_products` scope. */ + ProductsCreate = 'PRODUCTS_CREATE', + /** The webhook topic for `products/delete` events. Occurs whenever a product is deleted. Requires the `read_products` scope. */ + ProductsDelete = 'PRODUCTS_DELETE', + /** The webhook topic for `products/update` events. Occurs whenever a product is updated, ordered, or variants are added, removed or updated. Requires the `read_products` scope. */ + ProductsUpdate = 'PRODUCTS_UPDATE', + /** The webhook topic for `product_feeds/create` events. Triggers when product feed is created Requires the `read_product_listings` scope. */ + ProductFeedsCreate = 'PRODUCT_FEEDS_CREATE', + /** The webhook topic for `product_feeds/full_sync` events. Triggers when a full sync for a product feed is performed Requires the `read_product_listings` scope. */ + ProductFeedsFullSync = 'PRODUCT_FEEDS_FULL_SYNC', + /** The webhook topic for `product_feeds/full_sync_finish` events. Triggers when a full sync finishes Requires the `read_product_listings` scope. */ + ProductFeedsFullSyncFinish = 'PRODUCT_FEEDS_FULL_SYNC_FINISH', + /** The webhook topic for `product_feeds/incremental_sync` events. Occurs whenever a product publication is created, updated or removed for a product feed Requires the `read_product_listings` scope. */ + ProductFeedsIncrementalSync = 'PRODUCT_FEEDS_INCREMENTAL_SYNC', + /** The webhook topic for `product_feeds/update` events. Triggers when product feed is updated Requires the `read_product_listings` scope. */ + ProductFeedsUpdate = 'PRODUCT_FEEDS_UPDATE', + /** The webhook topic for `product_listings/add` events. Occurs whenever an active product is listed on a channel. Requires the `read_product_listings` scope. */ + ProductListingsAdd = 'PRODUCT_LISTINGS_ADD', + /** The webhook topic for `product_listings/remove` events. Occurs whenever a product listing is removed from the channel. Requires the `read_product_listings` scope. */ + ProductListingsRemove = 'PRODUCT_LISTINGS_REMOVE', + /** The webhook topic for `product_listings/update` events. Occurs whenever a product publication is updated. Requires the `read_product_listings` scope. */ + ProductListingsUpdate = 'PRODUCT_LISTINGS_UPDATE', + /** The webhook topic for `product_publications/create` events. Occurs whenever a product publication for an active product is created, or whenever an existing product publication is published on the app that is subscribed to this webhook topic. Note that a webhook is only emitted when there are publishing changes to the app that is subscribed to the topic (ie. no webhook will be emitted if there is a publishing change to the online store and the webhook subscriber of the topic is a third-party app). Requires the `read_publications` scope. */ + ProductPublicationsCreate = 'PRODUCT_PUBLICATIONS_CREATE', + /** The webhook topic for `product_publications/delete` events. Occurs whenever a product publication for an active product is removed, or whenever an existing product publication is unpublished from the app that is subscribed to this webhook topic. Note that a webhook is only emitted when there are publishing changes to the app that is subscribed to the topic (ie. no webhook will be emitted if there is a publishing change to the online store and the webhook subscriber of the topic is a third-party app). Requires the `read_publications` scope. */ + ProductPublicationsDelete = 'PRODUCT_PUBLICATIONS_DELETE', + /** The webhook topic for `product_publications/update` events. Occurs whenever a product publication is updated from the app that is subscribed to this webhook topic. Note that a webhook is only emitted when there are publishing changes to the app that is subscribed to the topic (ie. no webhook will be emitted if there is a publishing change to the online store and the webhook subscriber of the topic is a third-party app). Requires the `read_publications` scope. */ + ProductPublicationsUpdate = 'PRODUCT_PUBLICATIONS_UPDATE', + /** The webhook topic for `profiles/create` events. Occurs whenever a delivery profile is created Requires at least one of the following scopes: read_shipping, read_assigned_shipping. */ + ProfilesCreate = 'PROFILES_CREATE', + /** The webhook topic for `profiles/delete` events. Occurs whenever a delivery profile is deleted Requires at least one of the following scopes: read_shipping, read_assigned_shipping. */ + ProfilesDelete = 'PROFILES_DELETE', + /** The webhook topic for `profiles/update` events. Occurs whenever a delivery profile is updated Requires at least one of the following scopes: read_shipping, read_assigned_shipping. */ + ProfilesUpdate = 'PROFILES_UPDATE', + /** The webhook topic for `publications/delete` events. Occurs whenever a publication is deleted. Requires the `read_publications` scope. */ + PublicationsDelete = 'PUBLICATIONS_DELETE', + /** The webhook topic for `refunds/create` events. Occurs whenever a new refund is created without errors on an order, independent from the movement of money. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_buyer_membership_orders. */ + RefundsCreate = 'REFUNDS_CREATE', + /** The webhook topic for `returns/approve` events. Occurs whenever a return is approved. This means `Return.status` is `OPEN`. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders. */ + ReturnsApprove = 'RETURNS_APPROVE', + /** The webhook topic for `returns/cancel` events. Occurs whenever a return is canceled. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_returns, read_marketplace_returns, read_buyer_membership_orders. */ + ReturnsCancel = 'RETURNS_CANCEL', + /** The webhook topic for `returns/close` events. Occurs whenever a return is closed. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_returns, read_marketplace_returns, read_buyer_membership_orders. */ + ReturnsClose = 'RETURNS_CLOSE', + /** The webhook topic for `returns/decline` events. Occurs whenever a return is declined. This means `Return.status` is `DECLINED`. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders. */ + ReturnsDecline = 'RETURNS_DECLINE', + /** The webhook topic for `returns/reopen` events. Occurs whenever a closed return is reopened. Requires at least one of the following scopes: read_orders, read_marketplace_orders, read_returns, read_marketplace_returns, read_buyer_membership_orders. */ + ReturnsReopen = 'RETURNS_REOPEN', + /** The webhook topic for `returns/request` events. Occurs whenever a return is requested. This means `Return.status` is `REQUESTED`. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders. */ + ReturnsRequest = 'RETURNS_REQUEST', + /** The webhook topic for `returns/update` events. Occurs whenever a return is updated. Requires at least one of the following scopes: read_returns, read_marketplace_returns, read_buyer_membership_orders. */ + ReturnsUpdate = 'RETURNS_UPDATE', + /** + * The webhook topic for `reverse_deliveries/attach_deliverable` events. Occurs whenever a deliverable is attached to a reverse delivery. + * This occurs when a reverse delivery is created or updated with delivery metadata. + * Metadata includes the delivery method, label, and tracking information associated with a reverse delivery. + * Requires at least one of the following scopes: read_returns, read_marketplace_returns. + */ + ReverseDeliveriesAttachDeliverable = 'REVERSE_DELIVERIES_ATTACH_DELIVERABLE', + /** + * The webhook topic for `reverse_fulfillment_orders/dispose` events. Occurs whenever a disposition is made on a reverse fulfillment order. + * This includes dispositions made on reverse deliveries that are associated with the reverse fulfillment order. + * Requires at least one of the following scopes: read_returns, read_marketplace_returns. + */ + ReverseFulfillmentOrdersDispose = 'REVERSE_FULFILLMENT_ORDERS_DISPOSE', + /** The webhook topic for `scheduled_product_listings/add` events. Occurs whenever a product is scheduled to be published. Requires the `read_product_listings` scope. */ + ScheduledProductListingsAdd = 'SCHEDULED_PRODUCT_LISTINGS_ADD', + /** The webhook topic for `scheduled_product_listings/remove` events. Occurs whenever a product is no longer scheduled to be published. Requires the `read_product_listings` scope. */ + ScheduledProductListingsRemove = 'SCHEDULED_PRODUCT_LISTINGS_REMOVE', + /** The webhook topic for `scheduled_product_listings/update` events. Occurs whenever a product's scheduled availability date changes. Requires the `read_product_listings` scope. */ + ScheduledProductListingsUpdate = 'SCHEDULED_PRODUCT_LISTINGS_UPDATE', + /** The webhook topic for `segments/create` events. Occurs whenever a segment is created. Requires the `read_customers` scope. */ + SegmentsCreate = 'SEGMENTS_CREATE', + /** The webhook topic for `segments/delete` events. Occurs whenever a segment is deleted. Requires the `read_customers` scope. */ + SegmentsDelete = 'SEGMENTS_DELETE', + /** The webhook topic for `segments/update` events. Occurs whenever a segment is updated. Requires the `read_customers` scope. */ + SegmentsUpdate = 'SEGMENTS_UPDATE', + /** The webhook topic for `selling_plan_groups/create` events. Notifies when a SellingPlanGroup is created. Requires the `read_products` scope. */ + SellingPlanGroupsCreate = 'SELLING_PLAN_GROUPS_CREATE', + /** The webhook topic for `selling_plan_groups/delete` events. Notifies when a SellingPlanGroup is deleted. Requires the `read_products` scope. */ + SellingPlanGroupsDelete = 'SELLING_PLAN_GROUPS_DELETE', + /** The webhook topic for `selling_plan_groups/update` events. Notifies when a SellingPlanGroup is updated. Requires the `read_products` scope. */ + SellingPlanGroupsUpdate = 'SELLING_PLAN_GROUPS_UPDATE', + /** The webhook topic for `shipping_addresses/create` events. Occurs whenever a shipping address is created. Requires the `read_shipping` scope. */ + ShippingAddressesCreate = 'SHIPPING_ADDRESSES_CREATE', + /** The webhook topic for `shipping_addresses/update` events. Occurs whenever a shipping address is updated. Requires the `read_shipping` scope. */ + ShippingAddressesUpdate = 'SHIPPING_ADDRESSES_UPDATE', + /** The webhook topic for `shop/update` events. Occurs whenever a shop is updated. */ + ShopUpdate = 'SHOP_UPDATE', + /** The webhook topic for `subscription_billing_attempts/challenged` events. Occurs when the financial instutition challenges the subscripttion billing attempt charge as per 3D Secure. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingAttemptsChallenged = 'SUBSCRIPTION_BILLING_ATTEMPTS_CHALLENGED', + /** The webhook topic for `subscription_billing_attempts/failure` events. Occurs whenever a subscription billing attempt fails. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingAttemptsFailure = 'SUBSCRIPTION_BILLING_ATTEMPTS_FAILURE', + /** The webhook topic for `subscription_billing_attempts/success` events. Occurs whenever a subscription billing attempt succeeds. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingAttemptsSuccess = 'SUBSCRIPTION_BILLING_ATTEMPTS_SUCCESS', + /** The webhook topic for `subscription_billing_cycles/skip` events. Occurs whenever a subscription contract billing cycle is skipped. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingCyclesSkip = 'SUBSCRIPTION_BILLING_CYCLES_SKIP', + /** The webhook topic for `subscription_billing_cycles/unskip` events. Occurs whenever a subscription contract billing cycle is unskipped. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingCyclesUnskip = 'SUBSCRIPTION_BILLING_CYCLES_UNSKIP', + /** The webhook topic for `subscription_billing_cycle_edits/create` events. Occurs whenever a subscription contract billing cycle is edited. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingCycleEditsCreate = 'SUBSCRIPTION_BILLING_CYCLE_EDITS_CREATE', + /** The webhook topic for `subscription_billing_cycle_edits/delete` events. Occurs whenever a subscription contract billing cycle edit is deleted. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingCycleEditsDelete = 'SUBSCRIPTION_BILLING_CYCLE_EDITS_DELETE', + /** The webhook topic for `subscription_billing_cycle_edits/update` events. Occurs whenever a subscription contract billing cycle edit is updated. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionBillingCycleEditsUpdate = 'SUBSCRIPTION_BILLING_CYCLE_EDITS_UPDATE', + /** The webhook topic for `subscription_contracts/activate` events. Occurs when a subscription contract is activated. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionContractsActivate = 'SUBSCRIPTION_CONTRACTS_ACTIVATE', + /** The webhook topic for `subscription_contracts/cancel` events. Occurs when a subscription contract is canceled. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionContractsCancel = 'SUBSCRIPTION_CONTRACTS_CANCEL', + /** The webhook topic for `subscription_contracts/create` events. Occurs whenever a subscription contract is created. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionContractsCreate = 'SUBSCRIPTION_CONTRACTS_CREATE', + /** The webhook topic for `subscription_contracts/expire` events. Occurs when a subscription contract expires. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionContractsExpire = 'SUBSCRIPTION_CONTRACTS_EXPIRE', + /** The webhook topic for `subscription_contracts/fail` events. Occurs when a subscription contract is failed. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionContractsFail = 'SUBSCRIPTION_CONTRACTS_FAIL', + /** The webhook topic for `subscription_contracts/pause` events. Occurs when a subscription contract is paused. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionContractsPause = 'SUBSCRIPTION_CONTRACTS_PAUSE', + /** The webhook topic for `subscription_contracts/update` events. Occurs whenever a subscription contract is updated. Requires the `read_own_subscription_contracts` scope. */ + SubscriptionContractsUpdate = 'SUBSCRIPTION_CONTRACTS_UPDATE', + /** The webhook topic for `tax_partners/update` events. Occurs whenever a tax partner is created or updated. Requires the `read_taxes` scope. */ + TaxPartnersUpdate = 'TAX_PARTNERS_UPDATE', + /** The webhook topic for `tax_services/create` events. Occurs whenever a tax service is created. Requires the `read_taxes` scope. */ + TaxServicesCreate = 'TAX_SERVICES_CREATE', + /** The webhook topic for `tax_services/update` events. Occurs whenver a tax service is updated. Requires the `read_taxes` scope. */ + TaxServicesUpdate = 'TAX_SERVICES_UPDATE', + /** The webhook topic for `tender_transactions/create` events. Occurs when a tender transaction is created. Requires the `read_orders` scope. */ + TenderTransactionsCreate = 'TENDER_TRANSACTIONS_CREATE', + /** The webhook topic for `themes/create` events. Occurs whenever a theme is created. Does not occur when theme files are created. Requires the `read_themes` scope. */ + ThemesCreate = 'THEMES_CREATE', + /** The webhook topic for `themes/delete` events. Occurs whenever a theme is deleted. Does not occur when theme files are deleted. Requires the `read_themes` scope. */ + ThemesDelete = 'THEMES_DELETE', + /** The webhook topic for `themes/publish` events. Occurs whenever a theme with the main or mobile (deprecated) role is published. Requires the `read_themes` scope. */ + ThemesPublish = 'THEMES_PUBLISH', + /** The webhook topic for `themes/update` events. Occurs whenever a theme is updated. Does not occur when theme files are updated. Requires the `read_themes` scope. */ + ThemesUpdate = 'THEMES_UPDATE', + /** The webhook topic for `variants/in_stock` events. Occurs whenever a variant becomes in stock. Requires the `read_products` scope. */ + VariantsInStock = 'VARIANTS_IN_STOCK', + /** The webhook topic for `variants/out_of_stock` events. Occurs whenever a variant becomes out of stock. Requires the `read_products` scope. */ + VariantsOutOfStock = 'VARIANTS_OUT_OF_STOCK' +} + +/** Return type for `webhookSubscriptionUpdate` mutation. */ +export type WebhookSubscriptionUpdatePayload = { + __typename?: 'WebhookSubscriptionUpdatePayload'; + /** The list of errors that occurred from executing the mutation. */ + userErrors: Array; + /** The webhook subscription that was updated. */ + webhookSubscription?: Maybe; +}; + +/** A weight, which includes a numeric value and a unit of measurement. */ +export type Weight = { + __typename?: 'Weight'; + /** The unit of measurement for `value`. */ + unit: WeightUnit; + /** The weight value using the unit system specified with `unit`. */ + value: Scalars['Float']['output']; +}; + +/** The input fields for the weight unit and value inputs. */ +export type WeightInput = { + /** Unit of measurement for `value`. */ + unit: WeightUnit; + /** The weight value using the unit system specified with `weight_unit`. */ + value: Scalars['Float']['input']; +}; + +/** Units of measurement for weight. */ +export enum WeightUnit { + /** Metric system unit of mass. */ + Grams = 'GRAMS', + /** 1 kilogram equals 1000 grams. */ + Kilograms = 'KILOGRAMS', + /** Imperial system unit of mass. */ + Ounces = 'OUNCES', + /** 1 pound equals 16 ounces. */ + Pounds = 'POUNDS' +} diff --git a/package.json b/package.json index fbf57ba4..6cc37b7e 100644 --- a/package.json +++ b/package.json @@ -33,9 +33,9 @@ "@shopify/cli": "^3.63.1", "@shopify/polaris": "^12.0.0", "@shopify/shopify-app-remix": "^3.4.0", - "@shopify/shopify-app-session-storage-prisma": "^5.1.5", + "@shopify/shopify-app-session-storage-prisma": "^5.2.2", "isbot": "^5.1.0", - "prisma": "^5.11.0", + "prisma": "^6.2.1", "react": "^18.2.0", "react-dom": "^18.2.0", "vite-tsconfig-paths": "^5.0.1"