Subscriptions
A subscription is a recurring billing record tied to a contact, created when a contact signs up for a recurring product or plan through a connected payment provider. This part of the API is read-only: subscriptions are created and managed by the checkout and provider flows, not by direct API calls. Use these endpoints to list and look up the subscriptions already on your account.
Base URL: https://services.smbcrm.com · Version header: v3 ·
Scope: payments/subscriptions.readonly. See Scopes.
List subscriptions
Section titled “List subscriptions”Identify your account with altId and altType (see the Aside below). Add contactId to
scope results to one contact, or id to look up a specific subscription, and page through
with limit / offset.
curl "https://services.smbcrm.com/payments/subscriptions?altId=<location_id>&altType=location&contactId=<contact_id>&limit=20&offset=0" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"{ "data": [ { "_id": "<subscription_id>", "altId": "<location_id>", "altType": "location", "contactId": "<contact_id>", "contactName": "Jane Doe", "contactEmail": "jane@example.com", "currency": "USD", "amount": 49, "liveMode": true, "entitySourceType": "funnel", "entitySourceName": "Membership Funnel", "paymentProviderType": "stripe", "createdAt": "2026-06-08T15:04:00.000Z", "updatedAt": "2026-06-08T15:04:00.000Z" } ], "totalCount": 1}Each record also carries status, an object describing the subscription’s current state
(its shape depends on the connected payment provider), plus internal fields such as
entityId and subscriptionId.
| Query param | Type | Required | Description |
|---|---|---|---|
altId |
string | Yes | Your <location_id>. See the Aside below. |
altType |
string | Yes | Always location. |
contactId |
string | No | Limit results to subscriptions belonging to one contact. |
id |
string | No | Filter to a specific subscription by ID. |
entityId |
string | No | Filter by the underlying billing entity ID. |
entitySourceType |
string | No | Filter by the source that created the subscription, e.g. funnel, invoice. |
paymentMode |
string | No | Filter by payment mode. |
startAt |
string | No | Restrict results to subscriptions created on or after this date. |
endAt |
string | No | Restrict results to subscriptions created on or before this date. |
search |
string | No | Free-text search across subscription records. |
limit |
number | No | Maximum number of subscriptions to return per page. |
offset |
number | No | Number of subscriptions to skip, for pagination. |
getPaymentsCollectedCount |
boolean | No | Include a count of payments collected for each subscription. |
Get a subscription
Section titled “Get a subscription”Pass the subscription’s _id (from List subscriptions) as
subscriptionId in the path. altId and altType are required.
curl "https://services.smbcrm.com/payments/subscriptions/<subscription_id>?altId=<location_id>&altType=location" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"{ "_id": "<subscription_id>", "altId": "<location_id>", "altType": "location", "contactId": "<contact_id>", "currency": "USD", "amount": 49, "liveMode": true, "entitySource": { "type": "funnel", "id": "<funnel_id>", "name": "Membership Funnel" }, "schedule": { "executeAt": "2026-08-08T15:04:00.000Z" }, "createdAt": "2026-06-08T15:04:00.000Z", "updatedAt": "2026-06-08T15:04:00.000Z"}entitySource.type reflects where the subscription originated: funnel, website,
invoice, calendar, text2Pay, document_contracts, membership, or mobile_app. The
full response also includes status (an object, shape dependent on the payment provider),
canceledAt / canceledBy once a subscription is canceled, and a paymentProvider object.
| Query param | Type | Required | Description |
|---|---|---|---|
altId |
string | Yes | Your <location_id>. |
altType |
string | Yes | Always location. |
Related
Section titled “Related”- Payments overview: scopes shared across the payments API and
the
altId/altTypeconvention. - Contacts: the contact each subscription belongs to.
- Orders & Transactions: the transactions a subscription’s recurring charges create.
