> ## 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.

# Appstle Memberships: Tiered Plans & Access Control

> Appstle Memberships lets you build recurring membership programs on Shopify with tiered plans and gated content — via Admin and Customer Portal APIs.

Appstle Memberships gives you programmatic access to every part of your membership program — from creating tiered plans and gating content to processing renewals and tracking analytics. Whether you're connecting a CRM, building a mobile app, or customizing your storefront member portal, the APIs deliver the flexibility you need.

## Available APIs

Appstle Memberships exposes two REST API surfaces. Pick the one that matches where your code runs:

* **Admin API** — server-side, authenticated with `X-API-Key`. For backend integrations, admin dashboards, bulk operations, mobile apps, and third-party sync. Browse the full reference under **Admin API** in the sidebar.
* **Customer Portal API** — customer-facing, accessed through Shopify App Proxy. For member self-service portals, theme integrations, and gated content. Browse the full reference under **Customer Portal API** in the sidebar.

## Which API should you use?

<Tabs>
  <Tab title="Use the Admin API when…">
    * You are building **server-side integrations** and automation workflows
    * You are **managing memberships** from your backend or a CRM
    * You are building **admin dashboards** or reporting tools
    * You are automating **bulk operations** across your member base
    * You are integrating with **email platforms, analytics tools, or helpdesks**
    * You are building a **mobile app** (iOS or Android)

    <Info>
      Admin API requests require an `X-API-Key` header. Keys are created in the Appstle dashboard under **Settings → API Key Management**. Never expose keys in client-side code.
    </Info>
  </Tab>

  <Tab title="Use the Customer Portal API when…">
    * You are building a **custom member portal** embedded in your theme
    * You want members to **self-manage their membership** (pause, cancel, upgrade)
    * You are gating **content that requires an active membership** to view
    * You are building **storefront pages** that display plan details and billing dates

    <Warning>
      Customer Portal API endpoints run exclusively through Shopify's App Proxy and require the customer to be logged in. They will not accept API key authentication and cannot be called from a backend server — use the Admin API for any integration outside your storefront.
    </Warning>
  </Tab>
</Tabs>

## Key features

<CardGroup cols={2}>
  <Card title="Membership plans" icon="medal">
    Create and manage tiered membership plans with flexible pricing and billing cycles — monthly, annual, or custom intervals.
  </Card>

  <Card title="Member management" icon="users">
    Retrieve and sync member data, plan status, and access entitlements across your systems in real time.
  </Card>

  <Card title="Access control" icon="lock">
    Gate content, collections, and pricing based on membership status and tier using customer tags and metafields.
  </Card>

  <Card title="Billing & contracts" icon="credit-card">
    Manage membership contracts, renewals, and billing attempts. Handle dunning, pauses, and cancellations programmatically.
  </Card>

  <Card title="Member benefits" icon="gift">
    Configure perks, discounts, and exclusive access rules per membership tier. Swap plans and roll back automatically on failed payments.
  </Card>

  <Card title="Notifications" icon="bell">
    Automate member communications for renewals, expirations, billing failures, and upgrades via Shopify Flow or webhooks.
  </Card>

  <Card title="Analytics" icon="chart-bar">
    Access membership metrics, churn data, MRR projections, and revenue analytics using contract list endpoints and billing events.
  </Card>

  <Card title="Shopify native" icon="shopify">
    Deep integration with Shopify Flow, metafields, customer tags, and the App Proxy — no separate infrastructure required.
  </Card>
</CardGroup>

## Base URL

All Admin API endpoints use:

```
https://membership-admin.appstle.com/api/external/v2/
```

Customer Portal API endpoints are accessed through your store's Shopify App Proxy — no separate base URL is needed.

## HTTP status codes

All API responses use standard HTTP status codes.

| Code  | Meaning                                    |
| ----- | ------------------------------------------ |
| `200` | Success                                    |
| `201` | Resource created                           |
| `400` | Bad request — invalid parameters           |
| `401` | Unauthorized — missing or invalid API key  |
| `403` | Forbidden — key lacks required permissions |
| `404` | Not found                                  |
| `429` | Rate limit exceeded                        |
| `500` | Server error                               |

Error responses follow this shape:

```json theme={null}
{
  "error": "Unauthorized",
  "message": "Invalid API key provided",
  "status": 401
}
```

## Next steps

<CardGroup cols={3}>
  <Card title="Authentication" href="/memberships/authentication" icon="key">
    Create your API key and learn how to authenticate requests.
  </Card>

  <Card title="Quickstart" href="/memberships/quickstart" icon="rocket">
    Make your first API call in under five minutes.
  </Card>

  <Card title="Integration guide" href="/memberships/integration-guide" icon="book">
    Explore common integration patterns for CRMs, email platforms, and access control.
  </Card>
</CardGroup>
