Smartrr

Smartrr is a subscription and loyalty platform for Shopify DTC brands. It adds subscribe-and-save subscriptions, a branded customer account portal, loyalty and rewards, referrals, bundles, and retention tooling on top of Shopify. Its Vendor API (https://api.smartrr.com) lets merchants programmatically manage the subscriptions their customers hold - modeled as "purchase states" - along with the subscribers, orders, bills, and the selling plans / subscription programs products are sold on. The API is authenticated with a per-organization access token generated in the Smartrr admin Integrations tab and sent in the x-smartrr-access-token header. A full OpenAPI document (116 operations) is served publicly at https://api.smartrr.com/docs/spec.json and rendered at https://api.smartrr.com/docs/redoc/.

5 APIs 0 Features
SubscriptionsLoyaltyShopifyEcommerceDTCRecurring RevenueSubscription Management

APIs

Smartrr Subscriptions API

Read and manage the subscriptions customers hold, which Smartrr models as "purchase states". Create subscriptions, list them by organization, customer, or Shopify subscription I...

Smartrr Subscribers API

Work with subscribers, which Smartrr models as customer relationships. List and retrieve customers by Smartrr or Shopify ID, read their payment methods and orders, import custom...

Smartrr Orders and Bills API

List and retrieve the orders subscriptions generate, open and close orders, and manage the recurring bills (subscription transactions) behind them - read bills, inspect a bill's...

Smartrr Plans and Purchasables API

Read the products and terms subscriptions are sold on - purchasables and purchasable collections, selling plans and selling plan groups, and the subscription programs configured...

Smartrr Webhooks API

Register HTTP endpoints to receive Smartrr event notifications. Create, list, edit, and delete webhooks for the organization so external systems can react to subscription and bi...

Collections

Pricing Plans

Smartrr Plans Pricing

4 plans

PLANS

Rate Limits

Smartrr Rate Limits

4 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
Website
Website
🔗
LinkedIn
LinkedIn
🔗
Documentation
Documentation
🔗
APIReference
APIReference
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Smartrr Vendor API
  version: 1.0.0
request:
  auth:
    type: apikey
    apikey:
      key: x-smartrr-access-token
      value: '{{smartrrAccessToken}}'
      in: header
items:
- info:
    name: Subscriptions
    type: folder
  items:
  - info:
      name: Get Purchase States
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/purchase-state
    docs: List subscriptions (purchase states) for the organization.
  - info:
      name: Create Purchase State
      type: http
    http:
      method: POST
      url: https://api.smartrr.com/vendor/purchase-state
      body:
        type: json
        data: '{}'
    docs: Create a new subscription (purchase state) for a customer.
  - info:
      name: Get Purchase State By Shopify Subscription ID
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/purchase-state/:shopifySubscriptionId
      params:
      - name: shopifySubscriptionId
        value: ''
        type: path
        description: Shopify subscription ID.
    docs: Retrieve a single subscription by its Shopify subscription ID.
  - info:
      name: Skip Purchase
      type: http
    http:
      method: PUT
      url: https://api.smartrr.com/vendor/customer/:customerRelationshipId/purchase-state/:customerPurchaseStateId/skip
      params:
      - name: customerRelationshipId
        value: ''
        type: path
      - name: customerPurchaseStateId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Skip the next order on a subscription.
  - info:
      name: Pause Purchase
      type: http
    http:
      method: PUT
      url: https://api.smartrr.com/vendor/customer/:customerRelationshipId/purchase-state/:customerPurchaseStateId/pause
      params:
      - name: customerRelationshipId
        value: ''
        type: path
      - name: customerPurchaseStateId
        value: ''
        type: path
      body:
        type: json
        data: '{"unpauseDate":""}'
    docs: Pause a subscription, optionally with an automatic unpause date.
  - info:
      name: Cancel Purchase
      type: http
    http:
      method: PUT
      url: https://api.smartrr.com/vendor/customer/:customerRelationshipId/purchase-state/:customerPurchaseStateId/cancel
      params:
      - name: customerRelationshipId
        value: ''
        type: path
      - name: customerPurchaseStateId
        value: ''
        type: path
    docs: Cancel a subscription.
  - info:
      name: Set Next Billing Date on Purchase
      type: http
    http:
      method: PUT
      url: https://api.smartrr.com/vendor/customer/:customerRelationshipId/purchase-state/:customerPurchaseStateId/next-billing-date
      params:
      - name: customerRelationshipId
        value: ''
        type: path
      - name: customerPurchaseStateId
        value: ''
        type: path
    docs: Reschedule the next billing date on a subscription.
- info:
    name: Subscribers
    type: folder
  items:
  - info:
      name: Get Customer Relationship
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/customer-relationship
    docs: List subscribers (customer relationships).
  - info:
      name: Get Customer Relationship by Shopify ID
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/customer-relationship/:customerShopifyId
      params:
      - name: customerShopifyId
        value: ''
        type: path
    docs: Retrieve a subscriber by Shopify customer ID.
  - info:
      name: Get Payment methods
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/customer-relationship/:customerRelationshipId/payment-methods
      params:
      - name: customerRelationshipId
        value: ''
        type: path
    docs: List a subscriber's payment methods.
  - info:
      name: Add loyalty points to customer
      type: http
    http:
      method: PUT
      url: https://api.smartrr.com/vendor/customer-relationship/:customerRelationshipId/orgPoints
      params:
      - name: customerRelationshipId
        value: ''
        type: path
    docs: Add loyalty points to a customer.
- info:
    name: Orders and Bills
    type: folder
  items:
  - info:
      name: Get Orders
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/order
    docs: List orders generated by subscriptions.
  - info:
      name: Get Order by Shopify order ID
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/orders/:shopifyId
      params:
      - name: shopifyId
        value: ''
        type: path
    docs: Retrieve a single order by Shopify order ID.
  - info:
      name: Get Bills
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/bill
    docs: List recurring bills (subscription transactions).
  - info:
      name: Retry a bill
      type: http
    http:
      method: POST
      url: https://api.smartrr.com/vendor/bill/:billId/retry
      params:
      - name: billId
        value: ''
        type: path
    docs: Retry a failed bill.
- info:
    name: Plans
    type: folder
  items:
  - info:
      name: Get Purchasables
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/purchasable
    docs: List purchasable products available for subscription.
  - info:
      name: Get Selling Plan Groups
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/selling-plan-group
    docs: List the shop's selling plan groups.
  - info:
      name: Get all programs for a shop
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/selling-plan-configs
    docs: List the shop's subscription programs.
- info:
    name: Webhooks
    type: folder
  items:
  - info:
      name: Get webhooks
      type: http
    http:
      method: GET
      url: https://api.smartrr.com/vendor/webhook
    docs: List webhooks for the current organization.
  - info:
      name: Create a new webhook
      type: http
    http:
      method: POST
      url: https://api.smartrr.com/vendor/webhook
      body:
        type: json
        data: '{}'
    docs: Register a new webhook endpoint.