> ## Documentation Index
> Fetch the complete documentation index at: https://developers.appstle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Proxy GraphQL queries to Shopify Customer Account API

> Executes GraphQL queries against Shopify's Customer Account API on behalf of the authenticated customer. This endpoint handles token management, refresh, and authentication automatically.

**What you can query:**
- Customer profile information
- Order history and details
- Saved addresses
- Payment methods
- Subscriptions (via Customer Account API schema)

**Token Management:**
- Automatically uses stored access token
- Refreshes expired tokens automatically
- Returns 401 if customer needs to re-authenticate

**Example Queries:**
```graphql
query {
  customer {
    id
    emailAddress { emailAddress }
    defaultAddress { address1 city }
  }
}
```

**Authentication:** Customer must be logged in and have completed OAuth flow



## OpenAPI

````yaml /subscription/storefront-api-swagger.json post /subscriptions/cp/api/customer-account-api/graphql
openapi: 3.0.1
info:
  description: >-
    Comprehensive API documentation for the customer-facing subscription portal.
    These APIs enable customers to manage their subscriptions, update billing
    information, modify delivery schedules, and access their account details
    through your storefront.


    **Important**: These APIs must be called from your shop's domain (e.g.,
    https://www.myshop.com/apps/subscriptions/cp/api/**) and require customer
    authentication. Unauthenticated requests will return a 401 Unauthorized
    error.
  title: Storefront APIs
  version: 0.0.1
servers:
  - url: https://www.myshop.com/apps
security: []
tags:
  - description: >-
      Core customer portal APIs for managing customer account settings,
      authentication, and portal configurations.
    name: Customer Portal
  - description: >-
      APIs for customers to view and manage their subscription contracts
      including status updates, frequency changes, and cancellations.
    name: Subscription Management
  - description: >-
      APIs for retrieving and updating subscription contract details — delivery
      schedules, line items, addresses, billing cycles.
    name: Subscription Contracts
  - description: >-
      APIs for retrieving available subscription plans and selling plan
      configurations exposed to customers.
    name: Subscription Plans
  - description: >-
      APIs for managing one-time add-on products that can be purchased alongside
      recurring subscription items.
    name: Subscription One-Time Products
  - description: >-
      APIs for retrieving aggregated subscription data and account-level
      subscription information for the signed-in customer.
    name: Subscription Data
  - description: >-
      APIs for managing customizable product boxes and bundles where customers
      can select multiple items.
    name: Build-a-Box & Bundles
  - description: >-
      APIs for managing payment methods, billing information, and processing
      subscription payments.
    name: Billing & Payments
  - description: >-
      APIs for retrieving product information, selling plans, variant data, and
      subscription-enabled products available to customers.
    name: Product Catalog
  - description: >-
      APIs for managing delivery schedules, shipping addresses, delivery
      methods, and tracking order status.
    name: Delivery & Shipping
  - description: >-
      APIs for handling subscription cancellations, retention activities, and
      customer feedback management.
    name: Customer Retention
  - description: >-
      APIs for integrating loyalty programs with subscriptions including points
      redemption and earning options.
    name: Loyalty Integration
  - description: >-
      APIs for accessing portal customization settings, translations, and theme
      configurations.
    name: Customization
  - description: >-
      APIs for retrieving promotional campaigns shown in the customer portal,
      tracking banner engagement, and redeeming campaign offers.
    name: Campaigns
  - description: >-
      APIs for local pickup and click-and-collect — listing pickup locations and
      resolving eligible pickup dates and time slots.
    name: Store Pickup
paths:
  /subscriptions/cp/api/customer-account-api/graphql:
    post:
      tags:
        - Customer Portal
      summary: Proxy GraphQL queries to Shopify Customer Account API
      description: >-
        Executes GraphQL queries against Shopify's Customer Account API on
        behalf of the authenticated customer. This endpoint handles token
        management, refresh, and authentication automatically.


        **What you can query:**

        - Customer profile information

        - Order history and details

        - Saved addresses

        - Payment methods

        - Subscriptions (via Customer Account API schema)


        **Token Management:**

        - Automatically uses stored access token

        - Refreshes expired tokens automatically

        - Returns 401 if customer needs to re-authenticate


        **Example Queries:**

        ```graphql

        query {
          customer {
            id
            emailAddress { emailAddress }
            defaultAddress { address1 city }
          }
        }

        ```


        **Authentication:** Customer must be logged in and have completed OAuth
        flow
      operationId: proxyGraphQL
      requestBody:
        content:
          application/json:
            examples:
              GraphQL Request:
                description: GraphQL Request
                value:
                  query: query { customer { id emailAddress { emailAddress } } }
                  variables: {}
            schema:
              $ref: '#/components/schemas/GraphQLRequest'
        description: GraphQL query and optional variables
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  customer:
                    emailAddress:
                      emailAddress: customer@example.com
                    id: gid://shopify/Customer/123
          description: GraphQL query executed successfully
        '400':
          content:
            '*/*':
              schema:
                additionalProperties:
                  type: object
                type: object
          description: Invalid GraphQL query
        '401':
          content:
            application/json:
              example:
                error: no_valid_token
                message: Customer needs to authenticate
          description: Customer not authenticated or tokens expired
components:
  schemas:
    GraphQLRequest:
      properties:
        query:
          type: string
        variables:
          additionalProperties:
            type: object
          type: object
      type: object

````