generated: '2026-08-26' method: probed source: >- https://offgridstores.com/.well-known/oauth-authorization-server, https://offgridstores.com/.well-known/oauth-protected-resource, live MCP and GraphQL probes 2026-08-26 docs: https://shopify.dev/docs/agents/get-started/authentication description: >- Off Grid Stores publishes no OpenAPI, so this profile is built from the OAuth/OIDC discovery documents its own host serves and from live authenticated-vs-anonymous probes of each surface. The authorization server is Shopify's customer-account issuer bound to this shop, with all user-facing endpoints on account.offgridstores.com. surfaces: - surface: Storefront GraphQL API endpoint: https://offgridstores.com/api/2025-10/graphql.json scheme: none type: public probed: '2026-08-26' note: >- Answered a full introspection query (422 types) and a shop/paymentSettings query with no Authorization header and no X-Shopify-Storefront-Access-Token. Customer-scoped fields still require a customer access token minted by customerAccessTokenCreate. - surface: Storefront MCP server endpoint: https://offgridstores.com/api/mcp scheme: none type: public probed: '2026-08-26' note: tools/list and tools/call both succeeded anonymously. - surface: UCP Commerce MCP server endpoint: https://offgridstores.com/api/ucp/mcp scheme: none type: agent-profile probed: '2026-08-26' note: >- tools/list is anonymous. tools/call returns HTTP 422 with JSON-RPC error -32001 "UCP discovery failed" / invalid_profile_url until a resolvable agent profile URI is supplied in meta.ucp-agent.profile, which every tool's inputSchema marks required. The agent profile is an identity document, not a bearer credential; Shopify's agent-authentication docs cover the JWT that accompanies it. - surface: Storefront JSON endpoints endpoint: https://offgridstores.com/products.json scheme: none type: public probed: '2026-08-26' - surface: Customer Account endpoint: https://account.offgridstores.com/authentication/oauth/authorize scheme: oauth2 type: authorization_code probed: '2026-08-26' securitySchemes: - name: customerAccountOAuth type: oauth2 flow: authorization_code pkce: true code_challenge_methods_supported: [S256] issuer: https://shopify.com/authentication/55184621620 authorization_endpoint: https://account.offgridstores.com/authentication/oauth/authorize token_endpoint: https://account.offgridstores.com/authentication/oauth/token end_session_endpoint: https://account.offgridstores.com/authentication/logout jwks_uri: https://account.offgridstores.com/authentication/.well-known/jwks.json grant_types_supported: [authorization_code, refresh_token, 'urn:ietf:params:oauth:grant-type:jwt-bearer'] token_endpoint_auth_methods_supported: [client_secret_basic, client_secret_post] id_token_signing_alg_values_supported: [RS256] scopes: [openid, email, 'customer-account-api:full', 'customer-account-mcp-api:full'] document: well-known/offgridstores-oauth-authorization-server.json - name: openIdConnect type: openIdConnect openIdConnectUrl: https://offgridstores.com/.well-known/openid-configuration claims_supported: [iss, sub, aud, exp, iat, nonce, sid, email, email_verified] subject_types_supported: [public] document: well-known/offgridstores-openid-configuration.json - name: ucpAgentProfile type: apiKey in: body field: meta.ucp-agent.profile applies_to: https://offgridstores.com/api/ucp/mcp docs: https://shopify.dev/docs/agents/get-started/authentication note: A URI resolving to the calling agent's UCP profile; required on every tools/call. - name: customerAccessToken type: apiKey in: header header: X-Shopify-Customer-Access-Token applies_to: Storefront GraphQL customer-scoped fields and mutations protected_resource: resource: https://offgridstores.com authorization_servers: [https://account.offgridstores.com, 'https://shopify.com/authentication/55184621620'] bearer_methods_supported: [header] rfc: RFC 9728 document: well-known/offgridstores-oauth-protected-resource.json