Skip to content

Customer Portal APIs (0.0.1)

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.

Languages
Servers
https://www.myshop.com/apps

Customer Portal

Core customer portal APIs for managing customer account settings, authentication, and portal configurations.

Operations

Subscription Management

APIs for customers to view and manage their subscription contracts including status updates, frequency changes, and cancellations.

Operations

Get products data with pagination

Request

Retrieves paginated product catalog data from Shopify, optionally filtered by search term, selling plans, or subscription contracts. This endpoint provides access to your store's product catalog with subscription-specific information.

What This Endpoint Returns: Product information including:

  • Product ID, title, handle, and description
  • Product images and media
  • Variants with pricing and availability
  • Associated selling plans (subscription plans)
  • Product status and tags
  • Vendor and product type

Pagination: Uses cursor-based pagination for efficient data retrieval:

  • next=true - Get next page of results
  • cursor - Pagination cursor from previous response
  • Returns cursor for next page in response

Filtering Options:

  1. Search (search parameter):

    • Search by product title, description, or SKU
    • Partial matching supported
    • Case-insensitive
  2. Selling Plan Filter (sellingPlanIds parameter):

    • Filter products by subscription plans
    • Comma-separated list of selling plan IDs
    • Only returns products with specified plans
  3. Contract Filter (contractId parameter):

    • Get products available for specific subscription
    • Useful for product swap functionality
    • Returns products compatible with contract

Use Cases:

  • Display product catalog in custom subscription UI
  • Build product selection for subscription creation
  • Implement product swap functionality
  • Search products for subscription management
  • Sync product data to external systems

Authentication: Requires valid api_key parameter

Query
searchstring
nextboolean
Default false
cursorstring
contractIdinteger(int64)
sellingPlanIdsstring
sendAllDataboolean
purchaseOptionstring
curl -i -X GET \
  'https://www.myshop.com/apps/subscriptions/cp/api/data/products?search=string&next=false&cursor=string&contractId=0&sellingPlanIds=string&sendAllData=true&purchaseOption=string'

Responses

Products retrieved successfully

Body*/*
productsArray of objects(Product)
pageInfoobject(PageInfo)
productHandleDataobject

Get single product data by ID

Request

Retrieves detailed information for a specific product by its Shopify product ID. Returns complete product details including all variants, images, and selling plan associations.

Product Information Returned:

  • Basic Details: Title, description, handle, status
  • Variants: All product variants with pricing
  • Images: Product images and variant-specific images
  • Selling Plans: Associated subscription plans
  • Metadata: Tags, vendor, product type
  • Options: Color, size, and other variant options

Use Cases:

  • Display product details in subscription management UI
  • Validate product availability for subscriptions
  • Get pricing information for subscription creation
  • Fetch product data for order processing

Authentication: Requires valid api_key parameter

Query
productIdinteger(int64)required
curl -i -X GET \
  'https://www.myshop.com/apps/subscriptions/cp/api/data/product?productId=0'

Responses

Product retrieved successfully

Body*/*
get__typenamestring
idstring
titlestring
handlestring
statusstring
Enum"ACTIVE""ARCHIVED""DRAFT""UNLISTED""$UNKNOWN"

Get delivery options for subscription contract

Request

Retrieves all valid delivery methods available for a specific subscription contract. Returns shipping profiles and delivery options based on the contract's delivery address and product characteristics.

Delivery Information Returned:

  • Available shipping profiles
  • Delivery methods for each profile
  • Shipping rates and costs
  • Delivery speed (standard, express, etc.)
  • Method names and descriptions
  • Eligibility based on address and products

Filtering Behavior: By default, returns only delivery methods valid for the contract:

  • Matches delivery address country/region
  • Compatible with subscription products
  • Available for contract weight/dimensions

Include All Methods: Use header X-Include-All-Methods: true to return all delivery methods regardless of eligibility. Useful for admin UIs where you want to show all options.

Use Cases:

  • Display delivery method selector in customer portal
  • Allow customers to change shipping method
  • Calculate shipping costs for subscription
  • Validate delivery method during subscription updates
  • Show upgrade options (standard to express)

Common Scenarios:

Customer Portal - Change Delivery Speed:

  1. Call this endpoint with contractId
  2. Display available methods to customer
  3. Customer selects preferred method
  4. Update subscription with new delivery method ID

Subscription Creation - Delivery Selection:

  1. Get delivery options for draft contract
  2. Present options during checkout/signup
  3. Create subscription with selected method

Important Notes:

  • Delivery options depend on current contract address
  • Changing address may change available methods
  • Costs may vary based on products in subscription
  • Some methods may have minimum order requirements
  • International shipping may have additional restrictions

Authentication: Requires X-API-Key header

Query
contractIdinteger(int64)required
Headers
X-Include-All-Methodsstring
curl -i -X GET \
  'https://www.myshop.com/apps/subscriptions/cp/api/data/contract-delivery-options?contractId=0' \
  -H 'X-Include-All-Methods: string'

Responses

Delivery options retrieved successfully

Bodyapplication/json
Response
application/json
[ { "profileId": 12345, "profileName": "Standard Shipping", "methods": [] } ]

Billing & Payments

APIs for managing payment methods, billing information, and processing subscription payments.

Operations

Product Catalog

APIs for retrieving product information, selling plans, variant data, and subscription-enabled products available to customers.

Operations

Delivery & Shipping

APIs for managing delivery schedules, shipping addresses, delivery methods, and tracking order status.

Customer Retention

APIs for handling subscription cancellations, retention activities, and customer feedback management.

Loyalty Integration

APIs for integrating loyalty programs with subscriptions including points redemption and earning options.

Customization

APIs for accessing portal customization settings, translations, and theme configurations.