Skip to main content
Shopify logo

Overview

Add Shopify to any ModuleX agent or workflow. E-commerce platform integration for managing products, orders, customers, collections, blogs, pages, metafields, metaobjects, fulfillments, and inventory via the Shopify Admin GraphQL API ({shop_id}.myshopify.com/admin/api/2025-01/graphql.json).
Categories: E-Commerce · Retail · Inventory Management · Auth: Shopify OAuth Access Token · Actions: 39

Authentication

Shopify OAuth Access Token

Authenticate using a Shopify OAuth access token and shop ID. Shopify uses shop-specific OAuth URLs which require custom auth handling.

Required Credentials

FieldDescriptionRequiredFormat
Shop IDYour Shopify store subdomain (e.g. ‘my-store’ from my-store.myshopify.com)Yesmy-store
Access TokenShopify Admin API access token (from a custom app or OAuth flow)Yesshpat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Available Actions

Parameters

shop_id
string
required
The Shopify store subdomain (e.g. ‘my-store’ from my-store.myshopify.com)
collection_id
string
required
The Shopify GID of the custom collection
product_ids
array
required
Array of product GID strings to add to the collection

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "job_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Job Id"
    },
    "job_done": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Job Done"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "AddProductToCustomCollectionOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
resource_type
string
required
The resource type. Allowed values: Product, Customer, Order, DraftOrder, Article
gid
string
required
The Shopify Admin Resource GID
tags
array
required
Array of tag strings to add

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "node_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Node Id"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "AddTagsOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
blog_id
string
required
The GID of the blog to create the article in
title
string
required
The title of the article
author
string
required
The name of the author of the article
body
string
The text content of the article, with HTML markup
summary
string
A summary of the article, with HTML markup
image_url
string
The URL of the image associated with the article
tags
array
Array of tag strings

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "article_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Article Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "handle": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Handle"
    },
    "body": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Body"
    },
    "summary": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Summary"
    },
    "tags": {
      "items": {
        "type": "string"
      },
      "title": "Tags",
      "type": "array"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateArticleOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
title
string
required
The title of the blog

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "blog_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Blog Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "handle": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Handle"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateBlogOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
title
string
required
The name of the custom collection
products
array
Array of product GID strings to include in the collection
metafields
array
Array of metafield objects, each with key, value, type, and namespace
image_url
string
The source URL of the collection image

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "collection_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Collection Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateCustomCollectionOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
owner_resource
string
required
The resource type. Allowed values: BLOG, COLLECTION, PAGE, PRODUCT, VARIANTS, ARTICLE
name
string
required
The human-readable name for the metafield definition
namespace
string
required
A container for a group of metafields (3-255 characters)
key
string
required
The key of the metafield (up to 64 characters)
type
string
required
The metafield data type (e.g. single_line_text_field, number_integer, json, boolean, url, color)
pin
boolean
Whether to pin the metafield definition (Default: false)

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "definition_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Definition Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateMetafieldOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
type
string
required
The metaobject type (Shopify GID or type name)
fields
array
Array of field objects, each with ‘key’ and ‘value’ strings

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "metaobject_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Metaobject Id"
    },
    "handle": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Handle"
    },
    "type_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Type Name"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateMetaobjectOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
title
string
required
The title of the page
body
string
required
The text content of the page, with HTML markup

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "page_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "handle": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Handle"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreatePageOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
title
string
required
Title of the new product
product_description
string
A description of the product (supports HTML)
vendor
string
The name of the product’s vendor
product_type
string
A categorization for the product
status
string
The product status. Allowed values: ACTIVE, ARCHIVED, DRAFT
images
array
Array of image URL strings
options
array
Array of option objects, each with ‘name’ (string) and ‘values’ (array of objects with ‘name’)
tags
array
Array of tag strings

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "product_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Product Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateProductOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
product_id
string
required
The GID of the product
option_ids
array
required
Array of product option value GID strings
price
string
The price of the product variant
image_url
string
The URL of an image for the variant
sku
string
A unique SKU for the product variant
barcode
string
The barcode, UPC, or ISBN number
weight
string
The weight of the variant (requires weight_unit)
weight_unit
string
Weight unit. Allowed values: KILOGRAMS, GRAMS, POUNDS, OUNCES
metafields
array
Array of metafield objects with key, value, type, namespace

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "variant_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Variant Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateProductVariantOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
title
string
required
Title of the smart collection
rules
array
required
Array of rule objects with ‘column’ (TAG, TITLE, VENDOR, etc.), ‘relation’ (CONTAINS, EQUALS, etc.), and ‘condition’
disjunctive
boolean
If true, product matches any rule. If false, product must match all rules. (Default: false)

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "collection_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Collection Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateSmartCollectionOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
article_id
string
required
The GID of the article to delete

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "deleted_article_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Deleted Article Id"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteArticleOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
blog_id
string
required
The GID of the blog to delete

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "deleted_blog_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Deleted Blog Id"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteBlogOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
metafield_id
string
required
The GID of the metafield to delete

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "deleted_metafields": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Deleted Metafields",
      "type": "array"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeleteMetafieldOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
page_id
string
required
The GID of the page to delete

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "deleted_page_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Deleted Page Id"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "DeletePageOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
blog_id
string
required
The GID of the blog
max_results
integer
Maximum number of results to return (Default: 100)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "articles": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Articles",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetArticlesOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
max_results
integer
Maximum number of results to return (Default: 100)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "fulfillment_orders": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Fulfillment Orders",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetAssignedFulfillmentOrdersOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
customer_id
string
required
The GID of the customer

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "customer_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Customer Id"
    },
    "first_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "First Name"
    },
    "last_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Last Name"
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Email"
    },
    "state": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "State"
    },
    "tags": {
      "items": {
        "type": "string"
      },
      "title": "Tags",
      "type": "array"
    },
    "note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Note"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetCustomerOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
query
string
Filter query string (e.g. email:customer@example.com or state:ENABLED)
sort_key
string
Sort key. Options: CREATED_AT, ID, NAME, ORDERS_COUNT, STATE, TOTAL_SPENT, UPDATED_AT
max_results
integer
Maximum number of results to return (Default: 100)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "customers": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Customers",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetCustomersOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
draft_order_id
string
required
The GID of the draft order

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "draft_order_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Draft Order Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Email"
    },
    "invoice_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Invoice Url"
    },
    "total_price": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Total Price"
    },
    "currency_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Currency Code"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetDraftOrderOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
query
string
Filter query (e.g. status:OPEN, tag:fraud)
sort_key
string
Sort key. Options: CREATED_AT, ID, NUMBER, STATUS, TOTAL_PRICE, UPDATED_AT, CUSTOMER_NAME
max_results
integer
Maximum number of results to return (Default: 100)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "draft_orders": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Draft Orders",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetDraftOrdersOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
fulfillment_id
string
required
The globally-unique GID of a fulfillment (e.g. gid://shopify/Fulfillment/1234567890)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "fulfillment_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Fulfillment Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    },
    "display_status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Display Status"
    },
    "total_quantity": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Total Quantity"
    },
    "created_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Created At"
    },
    "tracking_info": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Tracking Info",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetFulfillmentOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
fulfillment_order_id
string
required
The GID of the fulfillment order

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "fulfillment_order_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Fulfillment Order Id"
    },
    "status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Status"
    },
    "request_status": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Request Status"
    },
    "created_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Created At"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetFulfillmentOrderOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
query
string
Filter query (e.g. status:open)
include_closed
boolean
Whether to include closed fulfillment orders (Default: false)
max_results
integer
Maximum number of results to return (Default: 100)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "fulfillment_orders": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Fulfillment Orders",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetFulfillmentOrdersOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
owner_resource
string
required
The resource type. Allowed values: blog, collection, page, product, variants, article
owner_id
string
required
The GID of the resource that owns the metafields
namespace
array
Filter by namespace strings
key
array
Filter by key strings

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "metafields": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Metafields",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetMetafieldsOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
type
string
required
The metaobject type name

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "metaobjects": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Metaobjects",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetMetaobjectsOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
max_results
integer
Maximum number of results to return (Default: 100)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "pages": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Pages",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetPagesOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
title
string
The name of the custom collection to search for
exact_match
boolean
Whether to require an exact title match (Default: false)
max_results
integer
Maximum number of results to return (Default: 100)
sort_key
string
Sort key. Options: ID, RELEVANCE, TITLE, UPDATED_AT

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "collections": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Collections",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchCustomCollectionByNameOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
query
string
Search query using Shopify search syntax
sort_key
string
Sort key. Options: CREATED_AT, CUSTOMER_NAME, FINANCIAL_STATUS, FULFILLMENT_STATUS, ID, ORDER_NUMBER, PROCESSED_AT, TOTAL_PRICE, UPDATED_AT
max_results
integer
Maximum number of results to return

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "orders": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Orders",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchOrdersOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
product_id
string
required
The GID of the product
product_variant_id
string
The GID of the product variant (takes precedence over title)
title
string
The name of the product variant to search for
create_if_not_found
boolean
Create the variant if not found (Default: false)
option_ids
array
Option value GID strings for creation
price
string
Price of the variant (used only when creating)

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "variant_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Variant Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "created": {
      "default": false,
      "title": "Created",
      "type": "boolean"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchProductVariantOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
title
string
The product title to search for
exact_match
boolean
Whether the title search should be an exact match (Default: false)
product_ids
array
Array of product GID strings to filter by
collection_id
string
Filter by collection GID
product_type
string
Filter by product type
vendor
string
Filter by vendor name
max_results
integer
Maximum number of results to return (Default: 100)
sort_key
string
Sort key. Options: CREATED_AT, ID, INVENTORY_TOTAL, PRODUCT_TYPE, PUBLISHED_AT, RELEVANCE, TITLE, UPDATED_AT, VENDOR

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "products": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Products",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchProductsOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
article_id
string
required
The GID of the article to update
title
string
The new title of the article
body_html
string
The text content with HTML markup
author
string
The name of the author
summary
string
A summary of the article
image_url
string
The URL of the article image
tags
array
Array of tag strings

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "article_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Article Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "handle": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Handle"
    },
    "body": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Body"
    },
    "summary": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Summary"
    },
    "tags": {
      "items": {
        "type": "string"
      },
      "title": "Tags",
      "type": "array"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateArticleOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
location_id
string
required
The GID of the location
inventory_item_id
string
required
The GID of the inventory item
available
integer
required
The available inventory quantity to set
reason
string
required
The reason for the change. Values: correction, cycle_count_available, damaged, other, promotion, quality_control, received, restock, safety_stock, shrinkage
reference_document_uri
string
A freeform URI representing why the change happened

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "created_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Created At"
    },
    "reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Reason"
    },
    "changes": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Changes",
      "type": "array"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateInventoryLevelOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
owner_id
string
required
The GID of the resource that owns the metafield
metafield_id
string
required
The GID of the metafield to update
value
string
required
The new value for the metafield

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "metafields": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Metafields",
      "type": "array"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateMetafieldOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
metaobject_id
string
required
The GID of the metaobject to update
fields
array
Array of field objects, each with ‘key’ and ‘value’ strings

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "metaobject_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Metaobject Id"
    },
    "type_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Type Name"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateMetaobjectOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
order_id
string
required
The GID of the order to update
email
string
The email address associated with the order
note
string
An optional note to attach to the order
tags
array
Array of tag strings
metafields
array
Array of metafield objects with key, value, type, namespace

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "order_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Order Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Email"
    },
    "tags": {
      "items": {
        "type": "string"
      },
      "title": "Tags",
      "type": "array"
    },
    "note": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Note"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateOrderOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
page_id
string
required
The GID of the page to update
title
string
The new title of the page
body
string
The text content with HTML markup

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "page_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Page Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "handle": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Handle"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdatePageOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
product_id
string
required
The GID of the product to update
title
string
The new title of the product
product_description
string
A description of the product (supports HTML)
vendor
string
The name of the product’s vendor
product_type
string
A categorization for the product
status
string
Product status. Allowed values: ACTIVE, ARCHIVED, DRAFT
images
array
Array of image URL strings
tags
array
Array of tag strings
metafields
array
Array of metafield objects with key, value, type, namespace
handle
string
A unique human-friendly URL handle
seo_title
string
The product title for SEO
seo_description
string
The product description for SEO

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "product_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Product Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateProductOutput",
  "type": "object"
}

Parameters

shop_id
string
required
The Shopify store subdomain
product_id
string
required
The GID of the product
product_variant_id
string
required
The GID of the product variant to update
option_ids
array
Array of product option value GID strings
price
string
The price of the variant
sku
string
A unique SKU for the variant
barcode
string
The barcode, UPC, or ISBN number
weight
string
The weight of the variant (requires weight_unit)
weight_unit
string
Weight unit. Allowed values: KILOGRAMS, GRAMS, POUNDS, OUNCES
metafields
array
Array of metafield objects with key, value, type, namespace

Response

{
  "$defs": {
    "ShopifyUserError": {
      "additionalProperties": false,
      "description": "Error returned by a Shopify GraphQL mutation.",
      "properties": {
        "field": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Field"
        },
        "message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Message"
        }
      },
      "title": "ShopifyUserError",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "variant_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Variant Id"
    },
    "title": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Title"
    },
    "user_errors": {
      "items": {
        "$ref": "#/$defs/ShopifyUserError"
      },
      "title": "User Errors",
      "type": "array"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpdateProductVariantOutput",
  "type": "object"
}

Limits & Quotas

  • Standard Shopify API rate limit: 50 points per second for the GraphQL Admin API (each query/mutation costs 1+ points depending on complexity).
  • Throttling: Shopify returns THROTTLED errors in the GraphQL response extensions when the limit is exceeded. Retry after a short delay.
  • Pagination: List actions are capped at 250 items per request via the GraphQL first argument. For larger datasets, implement cursor-based pagination.
  • Error model: GraphQL userErrors arrays are returned inline as success=False + error with the first error message. HTTP-level errors (network, auth) are caught and returned as success=False + error.

WooCommerce

Amazon Selling Partner

Etsy