Agent-readable docs index: /llms.txt. Download /docs.zip to grep all markdown files locally.

Arguments

path inputRequestShopifyProductByURLInput!required
An object containing the product's URL.
properties
path urlURL!required
The URL of the product to be requested. It is recommended to use the storefront URL of the product, as Rye will infer the correct canonical domain automatically.

Returns

canonicalDomainString!
The canonical domain of the store that sells the requested product.
productIdID!
The productId is the unique identifier for the requested product, which can be used in subsequent queries to fetch product information, e.g. with productByID.
variantIdID!
The variantId is the unique identifier for the requested product's variant. Unless specified in the product's URL, Rye returns the first variant of the product by default.

Example

mutation RequestShopifyProductByURL { requestShopifyProductByURL( input: { url: "https://kyliecosmetics.com/products/lip-butter-precision-pout-lip-liner-duo" } ) { canonicalDomain productId } }

Errors

Invalid URL

If the provided URL is not a valid Shopify product URL then the following error is returned
JSON
{ "errors": [ { "message": "The provided `url` input (\"www.google.com\") is not a valid Shopify product URL.", "path": [ "requestProductByURL" ] } ], "data": null }

Product data not found

If the product data can't be found, a PRODUCT_NOT_FOUND_ERROR is returned. This can happen for a variety of reasons:
  1. The URL doesn't point to a valid product page (for example, the provided URL returns a 404 status code)
  2. The URL points to a valid product page, but the Shopify store has custom configuration that makes it so the product metadata can't be found in the expected way
If the store can't be supported, then the store's products can only be made available in Rye by integrating the store with Rye via the Rye Shopify app.
JSON
{ "errors": [ { "message": "Product data not found - if the URL is valid, then the store may not be supported. See docs for more details", "locations": [ { "line": 2, "column": 3 } ], "path": [ "requestShopifyProductByURL" ], "extensions": { "code": "PRODUCT_NOT_FOUND_ERROR" } } ], "data": null }

Webhooks

Calling this mutation will subscribe your developer account to product webhooks for the requested product.