# shopify-ucp probes, 2026-09-18T06:16Z, from a cloud container (one IP), no credentials, no payment # Responses are cut at 6000 bytes (initialize), 20000 (tools/list), 2500 (protected resource), 9000 (authorization server), 4000 (REST). Nothing here was sent with a credential. ## 1. MCP initialize, POST https://catalog.shopify.com/api/ucp/mcp $ curl -sS -i -m 25 -X POST https://catalog.shopify.com/api/ucp/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '' HTTP/1.1 200 Connection Established HTTP/2 200 date: Fri, 18 Sep 2026 06:16:50 GMT content-type: application/json x-shopify-ucp-mcp-api-version: 2026-08-25 shopify-complexity-score: 0 set-cookie: _shopify_essential=[redacted by the prober: a session cookie, never published] x-frame-options: DENY content-security-policy: block-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests; access-control-allow-origin: * vary: Accept,accept-encoding cdn-cache-control: no-cache, no-store powered-by: Shopify server-timing: processing;dur=5, asn;desc="6079", edge;desc="BOS", country;desc="US", servedBy;desc="s9l7", requestID;desc="68b84da8-416d-4488-b41c-05f064f97c84-1789712210", _y;desc="ad4abcc9-d289-42dc-bf92-34e64589bf5f", _s;desc="67727d47-0b47-44e1-a184-e8cb7bf54759" nel: {"report_to":"cf-nel","success_fraction":0.01,"max_age":604800} alt-svc: h3=":443"; ma=86400 x-content-type-options: nosniff cf-cache-status: DYNAMIC server: cloudflare strict-transport-security: max-age=15552000; includeSubDomains; preload report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=CMoVfXo%2BKYJ2m9Lprjwt7hPopFQV7SgHT8F62a6a8VNiy93uj5iwLxs4O1PCEfLWRBTcgEy14jTwTYdvONtNfiW4g2PMaDVmIj2r2usVW%2Bu7bGLLhAfi8OwAo3%2BnSA0pO4QhUEc%3D"}]} x-dc: gcp-us-east1,gcp-us-east1,gcp-us-east1 x-request-id: 68b84da8-416d-4488-b41c-05f064f97c84-1789712210 cf-ray: a3ce396359a76e14-BOS {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":true},"prompts":{"listChanged":true},"resources":{"listChanged":true},"logging":{}},"serverInfo":{"name":"universal-ucp-mcp","version":"0.1.0"}}} ## 1b. MCP tools/list, POST https://catalog.shopify.com/api/ucp/mcp (initialize answered 200; the session id from step 1 is sent back when the server issued one) $ curl -sS -i -m 25 -X POST https://catalog.shopify.com/api/ucp/mcp -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -H 'MCP-Protocol-Version: 2025-06-18' [-H 'Mcp-Session-Id: '] -d '' # tools counted over the whole response before the cut, by occurrences of "inputSchema": 3 (0 means no list came back) HTTP/1.1 200 Connection Established HTTP/2 200 date: Fri, 18 Sep 2026 06:16:51 GMT content-type: application/json x-shopify-ucp-mcp-api-version: 2026-08-25 shopify-complexity-score: 0 set-cookie: _shopify_essential=[redacted by the prober: a session cookie, never published] x-frame-options: DENY content-security-policy: block-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests; access-control-allow-origin: * vary: Accept,accept-encoding cdn-cache-control: no-cache, no-store powered-by: Shopify server-timing: processing;dur=4, asn;desc="6079", edge;desc="BOS", country;desc="US", servedBy;desc="6xcg", requestID;desc="00a2bf43-4851-4367-a546-e4beea480d3b-1789712211", _y;desc="2e16a0ac-9d5a-4ef6-832f-57c2a3279df4", _s;desc="82ed7bfe-67d9-444c-bb96-651d8da37c78" nel: {"report_to":"cf-nel","success_fraction":0.01,"max_age":604800} alt-svc: h3=":443"; ma=86400 x-content-type-options: nosniff cf-cache-status: DYNAMIC server: cloudflare strict-transport-security: max-age=15552000; includeSubDomains; preload report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=YD7dwhnPbgk58yxfISbpDc7GG4Kz0PEO1lv4CILFMuuzctdaPW3X6izdHTWzcrVw%2BP0KC7mtoIO71E07%2FulyZBy0AJjS6nUSwHOWvfIBqfrpRhyjLu5N67lDCIUU8xWdfZnBS54%3D"}]} x-dc: gcp-us-east1,gcp-us-east1,gcp-us-east1 x-request-id: 00a2bf43-4851-4367-a546-e4beea480d3b-1789712211 cf-ray: a3ce3967bc9f6e14-BOS {"jsonrpc":"2.0","id":2,"result":{"tools":[{"name":"search_catalog","description":"Search for products across multiple Shopify stores in the global catalog.\nUse this tool when buyers are searching for products without specifying a particular store.\n\nExamples:\n- \"I'm looking for a pair of running shoes\"\n- \"Find me some wireless headphones under $100\"\n- \"Search for organic coffee beans\"\n\nInput and response conform to the UCP catalog search capability (dev.ucp.shopping.catalog.search).\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"meta":{"type":"object","description":"Metadata for UCP agent profile discovery.","properties":{"ucp-agent":{"type":"object","properties":{"profile":{"type":"string","format":"uri","description":"Agent profile URI for UCP discovery."}},"required":["profile"]}},"required":["ucp-agent"]},"catalog":{"type":"object","description":"Catalog search parameters.","properties":{"query":{"type":"string","description":"Search query string."},"context":{"type":"object","description":"Buyer signals for localization and personalization.","additionalProperties":true,"properties":{"address_country":{"type":"string","description":"Country code in ISO 3166-1 alpha-2 format."},"address_region":{"type":"string","description":"Region or state."},"postal_code":{"type":"string","description":"Postal code."},"language":{"type":"string","description":"Language tag in IETF BCP 47 format."},"currency":{"type":"string","description":"Currency code in ISO 4217 format."},"intent":{"type":"string","description":"Buyer intent."}}},"signals":{"type":"object","description":"Platform environment data.","additionalProperties":true,"properties":{"dev.ucp.buyer_ip":{"type":"string","description":"Buyer IP address."},"dev.ucp.user_agent":{"type":"string","description":"Buyer user agent."}}},"filters":{"type":"object","description":"Narrowing criteria for catalog results.","additionalProperties":true,"properties":{"categories":{"type":"array","description":"Category filters combined with OR logic.","items":{"type":"string"}},"price":{"type":"object","description":"Price range filter.","properties":{"min":{"type":"integer","description":"Minimum price in minor currency units."},"max":{"type":"integer","description":"Maximum price in minor currency units."}}},"available":{"type":"boolean","default":true,"description":"Filter by availability. Default true (only sale-ready items)."},"shops":{"type":"array","items":{"type":"string"},"maxItems":1000,"description":"Restrict results to specific shops by GID. Maximum 1000 entries per request."},"condition":{"type":"array","items":{"type":"string"},"description":"Filter by product condition. Known values: 'new', 'secondhand'. Absent means no condition filter (all conditions returned). Multiple values use OR logic."},"ships_to":{"type":"object","description":"Shipping destination filter. When absent, implementation falls back to context address fields. When country matches context, implementation MAY enrich with context region/postal_code for delivery estimates.","required":["country"],"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"ISO 3166-1 alpha-2 country code."},"region":{"type":"string","description":"State, province, or region. Improves delivery estimate fidelity."},"postal_code":{"type":"string","description":"Postal or ZIP code. Improves delivery estimate fidelity."}}},"ships_from":{"type":"array","description":"Shipping origin filter. Matches variants offered from any listed origin. Absent means no origin filter. Multiple entries use OR logic.","items":{"type":"object","required":["country"],"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"ISO 3166-1 alpha-2 country code."}}}},"attributes":{"type":"array","maxItems":25,"description":"Filter by Shopify taxonomy attributes on products and variants. Entries combine with AND; values within an entry combine with OR. Unrecognized attribute names are ignored and surfaced via result.messages[]. Maximum 25 entries per request.","items":{"type":"object","required":["name","values"],"properties":{"name":{"type":"string","description":"Taxonomy attribute. Currently supported attributes are 'Color', 'Size', 'Target gender'."},"values":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":50,"description":"Taxonomy values (e.g. 'Red'). Values within an entry combine with OR. Maximum 50 values per attribute."}}}},"rating":{"type":"object","description":"Filter by variant rating.","properties":{"variant":{"type":"object","description":"Matches products with at least one variant whose rating field meets these thresholds.","properties":{"min":{"type":"number","minimum":0,"maximum":5,"description":"Minimum rating value. Ratings are on a 0–5 scale."},"min_count":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Minimum number of reviews."}}}}},"price_tier":{"type":"array","items":{"type":"string"},"description":"Filter by relative price tier within each product's category. Multiple values use OR logic. Well-known values: `low`, `medium`, `high`. Unrecognized values are ignored and surfaced via result.messages[]."}}},"pagination":{"type":"object","description":"Pagination parameters.","properties":{"cursor":{"type":"string","description":"Pagination cursor."},"limit":{"type":"integer","description":"Number of results to return.","default":10,"minimum":1}}},"view":{"type":"string","description":"Predefined output shape. When absent, returns the operation's default representation."},"catalog_id":{"type":"string","description":"Identifier of a saved catalog whose configuration supplies search constraints and may enable affiliate placement."},"like":{"type":"array","description":"Similar items to search by — results should resemble these inputs.","minItems":1,"maxItems":2,"items":{"title":"Like Item","description":"An item specified by product ID or by inline image data.","type":"object","oneOf":[{"title":"Item Reference","description":"Reference to a catalog item by GID.","required":["id"],"properties":{"id":{"type":"string","pattern":"^gid://shopify/","description":"GID of a product or product variant."}},"additionalProperties":false},{"title":"Image Content","description":"Inline image for visual similarity search.","required":["image"],"properties":{"image":{"type":"object","description":"Base64-encoded image with MIME type.","required":["content_type","data"],"properties":{"content_type":{"type":"string","description":"MIME type of the encoded image (e.g., image/jpeg, image/webp)."},"data":{"type":"string","contentEncoding":"base64","description":"Base64-encoded image bytes."}},"additionalProperties":false}},"additionalProperties":false}]}}},"anyOf":[{"required":["query"]},{"required":["like"]}]}},"required":["meta","catalog"]}},{"name":"get_product","description":"Retrieve complete product detail by identifier. Returns a singular product\nwith a relevant set of variants, exact pricing, and real-time availability.\nSupports interactive option selection via selected and preferences parameters\nfor variant narrowing and availability signals. Use for product detail page\nrendering and purchase decisions.\n\nInput and response conform to the UCP catalog lookup capability (dev.ucp.shopping.catalog.lookup).\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"meta":{"type":"object","description":"Metadata for UCP agent profile discovery.","properties":{"ucp-agent":{"type":"object","properties":{"profile":{"type":"string","format":"uri","description":"Agent profile URI for UCP discovery."}},"required":["profile"]}},"required":["ucp-agent"]},"catalog":{"type":"object","description":"Product detail parameters.","required":["id"],"properties":{"id":{"type":"string","description":"Product ID."},"selected":{"type":"array","description":"Selected variant options.","items":{"type":"object","properties":{"name":{"type":"string"},"label":{"type":"string"}}}},"preferences":{"type":"array","description":"Buyer preferences.","items":{"type":"string"}},"context":{"type":"object","description":"Buyer signals for localization and personalization.","additionalProperties":true,"properties":{"address_country":{"type":"string","description":"Country code in ISO 3166-1 alpha-2 format."},"address_region":{"type":"string","description":"Region or state."},"postal_code":{"type":"string","description":"Postal code."},"language":{"type":"string","description":"Language tag in IETF BCP 47 format."},"currency":{"type":"string","description":"Currency code in ISO 4217 format."},"intent":{"type":"string","description":"Buyer intent."}}},"signals":{"type":"object","description":"Platform environment data.","additionalProperties":true,"properties":{"dev.ucp.buyer_ip":{"type":"string","description":"Buyer IP address."},"dev.ucp.user_agent":{"type":"string","description":"Buyer user agent."}}},"filters":{"type":"object","description":"Narrowing criteria for catalog results.","additionalProperties":true,"properties":{"categories":{"type":"array","description":"Category filters combined with OR logic.","items":{"type":"string"}},"price":{"type":"object","description":"Price range filter.","properties":{"min":{"type":"integer","description":"Minimum price in minor currency units."},"max":{"type":"integer","description":"Maximum price in minor currency units."}}},"available":{"type":"boolean","default":true,"description":"Filter by availability. Default true (only sale-ready items)."},"shops":{"type":"array","items":{"type":"string"},"maxItems":1000,"description":"Restrict results to specific shops by GID. Maximum 1000 entries per request."},"condition":{"type":"array","items":{"type":"string"},"description":"Filter by product condition. Known values: 'new', 'secondhand'. Absent means no condition filter (all conditions returned). Multiple values use OR logic."},"ships_to":{"type":"object","description":"Shipping destination filter. When absent, implementation falls back to context address fields. When country matches context, implementation MAY enrich with context region/postal_code for delivery estimates.","required":["country"],"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"ISO 3166-1 alpha-2 country code."},"region":{"type":"string","description":"State, province, or region. Improves delivery estimate fidelity."},"postal_code":{"type":"string","description":"Postal or ZIP code. Improves delivery estimate fidelity."}}},"ships_from":{"type":"array","description":"Shipping origin filter. Matches variants offered from any listed origin. Absent means no origin filter. Multiple entries use OR logic.","items":{"type":"object","required":["country"],"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"ISO 3166-1 alpha-2 country code."}}}}}},"view":{"type":"string","description":"Predefined output shape. When absent, returns the operation's default representation."}}}},"required":["meta","catalog"]}},{"name":"lookup_catalog","description":"Look up multiple products or variants by identifier from the global catalog.\nUse this tool to resolve multiple product/variant IDs in a single request.\n\nSupports:\n- Product IDs (gid://shopify/p/{id}): Returns product with one featured variant\n- Variant IDs (gid://shopify/ProductVariant/{id}): Returns parent product with the exact variant\n\nResults are grouped by product. Each variant includes an input array showing\nwhich request ID resolved to it and whether the match was exact or featured.\n\nExamples:\n- Resolving a list of product IDs from search results\n- Validating multiple cart items in one call\n- Looking up products from deep links or saved lists\n\nInput and response conform to the UCP catalog lookup capability (dev.ucp.shopping.catalog.lookup).\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"meta":{"type":"object","description":"Metadata for UCP agent profile discovery.","properties":{"ucp-agent":{"type":"object","properties":{"profile":{"type":"string","format":"uri","description":"Agent profile URI for UCP discovery."}},"required":["profile"]}},"required":["ucp-agent"]},"catalog":{"type":"object","description":"Catalog lookup parameters.","required":["ids"],"properties":{"ids":{"type":"array","description":"Product IDs to look up.","items":{"type":"string"},"minItems":1,"maxItems":50},"context":{"type":"object","description":"Buyer signals for localization and personalization.","additionalProperties":true,"properties":{"address_country":{"type":"string","description":"Country code in ISO 3166-1 alpha-2 format."},"address_region":{"type":"string","description":"Region or state."},"postal_code":{"type":"string","description":"Postal code."},"language":{"type":"string","description":"Language tag in IETF BCP 47 format."},"currency":{"type":"string","description":"Currency code in ISO 4217 format."},"intent":{"type":"string","description":"Buyer intent."}}},"signals":{"type":"object","description":"Platform environment data.","additionalProperties":true,"properties":{"dev.ucp.buyer_ip":{"type":"string","description":"Buyer IP address."},"dev.ucp.user_agent":{"type":"string","description":"Buyer user agent."}}},"filters":{"type":"object","description":"Narrowing criteria for catalog results.","additionalProperties":true,"properties":{"categories":{"type":"array","description":"Category filters combined with OR logic.","items":{"type":"string"}},"price":{"type":"object","description":"Price range filter.","properties":{"min":{"type":"integer","description":"Minimum price in minor currency units."},"max":{"type":"integer","description":"Maximum price in minor currency units."}}},"available":{"type":"boolean","default":true,"description":"Filter by availability. Default true (only sale-ready items)."},"shops":{"type":"array","items":{"type":"string"},"maxItems":1000,"description":"Restrict results to specific shops by GID. Maximum 1000 entries per request."},"condition":{"type":"array","items":{"type":"string"},"description":"Filter by product condition. Known values: 'new', 'secondhand'. Absent means no condition filter (all conditions returned). Multiple values use OR logic."},"ships_to":{"type":"object","description":"Shipping destination filter. When absent, implementation falls back to context address fields. When country matches context, implementation MAY enrich with context region/postal_code for delivery estimates.","required":["country"],"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"ISO 3166-1 alpha-2 country code."},"region":{"type":"string","description":"State, province, or region. Improves delivery estimate fidelity."},"postal_code":{"type":"string","description":"Postal or ZIP code. Improves delivery estimate fidelity."}}},"ships_from":{"type":"array","description":"Shipping origin filter. Matches variants offered from any listed origin. Absent means no origin filter. Multiple entries use OR logic.","items":{"type":"object","required":["country"],"properties":{"country":{"type":"string","pattern":"^[A-Z]{2}$","description":"ISO 3166-1 alpha-2 country code."}}}}}},"view":{"type":"string","description":"Predefined output shape. When absent, returns the operation's default representation."}}}},"required":["meta","catalog"]}}]}} ## 2. Protected-resource metadata, GET https://catalog.shopify.com/.well-known/oauth-protected-resource/api/ucp/mcp (not named in the challenge; the RFC 9728 default path) HTTP/1.1 200 Connection Established HTTP/2 200 date: Fri, 18 Sep 2026 06:16:51 GMT content-type: application/json; charset=utf-8 access-control-allow-origin: * shopify-complexity-score: 0 set-cookie: _shopify_essential=[redacted by the prober: a session cookie, never published] x-frame-options: DENY content-security-policy: block-all-mixed-content; frame-ancestors 'none'; upgrade-insecure-requests; vary: Accept,accept-encoding cdn-cache-control: no-cache, no-store powered-by: Shopify server-timing: processing;dur=6, asn;desc="6079", edge;desc="BOS", country;desc="US", servedBy;desc="xmlj", requestID;desc="67ca9380-3a5c-4d93-94dc-4b3215ad1cb5-1789712211", _y;desc="0880ebdd-4fc9-49ee-afa0-fdcad244789a", _s;desc="3dbcd328-9b92-4700-a9f6-178deb8067f0" nel: {"report_to":"cf-nel","success_fraction":0.01,"max_age":604800} alt-svc: h3=":443"; ma=86400 x-content-type-options: nosniff cf-cache-status: DYNAMIC server: cloudflare strict-transport-security: max-age=15552000; includeSubDomains; preload report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=g9WJjMm%2F6yVXI2aBCB7qOkeVBCE2F%2B42j61rKC2erltGHGxJycft6y3U506qP0iLbgZuU2E63hbDa9NburCkURa3AItDjuKJjcCb54ubk%2FAAo6QfIaZ%2B9m4QR540rladVBlqTnY%3D"}]} x-dc: gcp-us-east1,gcp-us-east1,gcp-us-east1 x-request-id: 67ca9380-3a5c-4d93-94dc-4b3215ad1cb5-1789712211 cf-ray: a3ce396c4c3f8f6b-BOS {"resource":"https://catalog.shopify.com/api/ucp/mcp","authorization_servers":["https://api.shopify.com"],"bearer_methods_supported":["header"]} ## 3. Authorization-server metadata, GET https://api.shopify.com/.well-known/oauth-authorization-server HTTP/1.1 200 Connection Established HTTP/2 200 date: Fri, 18 Sep 2026 06:16:52 GMT content-type: application/json; charset=utf-8 x-request-id: f3dc9519-5634-46b7-9bc3-e209caf486f8-1789712212 vary: Accept-Encoding,Sec-Fetch-Site x-frame-options: DENY cf-cache-status: DYNAMIC alt-svc: h3=":443"; ma=86400 set-cookie: _shopify_essential=[redacted by the prober: a session cookie, never published] server-timing: processing;dur=15, verdict_flag_enabled;desc="count=1";dur=0.093, _y;desc="2bd5baf1-0539-4c28-8c5a-03b0fa07950e", _s;desc="3785e85d-00fa-45c7-ab4f-9576abd8a358" server: cloudflare nel: {"report_to":"cf-nel","success_fraction":0.01,"max_age":604800} content-security-policy: frame-ancestors 'none'; report-uri /csp-report?source%5Baction%5D=show&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=global_api%2Fauth%2Foauth_authorization_server_metadata&source%5Bsection%5D=global_api%2Fsection&source%5Buuid%5D=f3dc9519-5634-46b7-9bc3-e209caf486f8-1789712212; report-to shopify-csp x-content-type-options: nosniff x-download-options: noopen x-permitted-cross-domain-policies: none x-xss-protection: 1; mode=block reporting-endpoints: shopify-csp="/csp-report?source%5Baction%5D=show&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=global_api%2Fauth%2Foauth_authorization_server_metadata&source%5Bsection%5D=global_api%2Fsection&source%5Buuid%5D=f3dc9519-5634-46b7-9bc3-e209caf486f8-1789712212" report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=smOga6OwQ%2FLKKZ8XpNjW3XP3Jc6wYN1A25BOWl%2FPabHQP6EZIhH1vLlkIX3hrB2WWfksNYn%2FMaPaEPgOSxbEY4C0uYa6YbXFaEuSEPwVuUGffNaDi7LL9Nh8Mj0gwFLzcA%3D%3D"}]} x-dc: gcp-us-east1,gcp-us-central1,gcp-us-central1 cf-ray: a3ce39707d034613-BOS {"issuer":"https:\/\/api.shopify.com","token_endpoint":"https:\/\/api.shopify.com\/auth\/access_token","grant_types_supported":["client_credentials","urn:shopify:params:oauth:grant-type:ecp-credentials","urn:ietf:params:oauth:grant-type:jwt-bearer"],"token_endpoint_auth_methods_supported":["client_secret_post","client_secret_basic"]}