Funnels
Funnels are the multi-step landing pages, order forms, upsells, and thank-you pages you build in your SMBcrm account to move a visitor toward a purchase or signup. Most of this API is read-oriented: list the funnels and pages that already exist so you can look up IDs, report on performance, or link out to them from your own systems. The exception is redirects, which you can create, update, and delete through the API.
Base URL: https://services.smbcrm.com · Version header: v3 ·
Scopes: funnels/redirect.readonly (list redirects), funnels/redirect.write (create,
update, or delete a redirect). See Scopes. The funnel and
funnel-page endpoints below aren’t gated by a specific scope in the current spec.
List funnels
Section titled “List funnels”locationId is required. Filter with name, type, category, or parentId, and page
through results with limit and offset.
curl "https://services.smbcrm.com/funnels/funnel/list?locationId=<location_id>&limit=20&offset=0" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"{ "funnels": [ { "id": "<funnel_id>", "name": "Webinar Signup", "locationId": "<location_id>" }, { "id": "<funnel_id_2>", "name": "Consult Booking", "locationId": "<location_id>" } ], "count": 2, "traceId": "<trace_id>"}List pages in a funnel
Section titled “List pages in a funnel”locationId, funnelId, limit, and offset are required. Filter to one page by name with
the optional name parameter. See Pagination.
curl "https://services.smbcrm.com/funnels/page?locationId=<location_id>&funnelId=<funnel_id>&limit=20&offset=0" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"[ { "_id": "<page_id>", "locationId": "<location_id>", "funnelId": "<funnel_id>", "name": "Registration", "stepId": "<step_id>", "deleted": false, "updatedAt": "2026-07-01T12:00:00.000Z" }, { "_id": "<page_id_2>", "locationId": "<location_id>", "funnelId": "<funnel_id>", "name": "Thank You", "stepId": "<step_id_2>", "deleted": false, "updatedAt": "2026-07-01T12:05:00.000Z" }]Count pages in a funnel
Section titled “Count pages in a funnel”locationId and funnelId are required. Narrow the count to a single page with the optional
name parameter.
curl "https://services.smbcrm.com/funnels/page/count?locationId=<location_id>&funnelId=<funnel_id>" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"{ "count": 2}Redirects
Section titled “Redirects”Redirects send visitors who hit an old domain-and-path combination to a funnel, a website page, or a URL instead. Use them when you retire a funnel step, change a path, or need a vanity URL to point somewhere else.
locationId, limit, and offset are required. Filter with the optional search
parameter. See Pagination.
curl "https://services.smbcrm.com/funnels/lookup/redirect/list?locationId=<location_id>&limit=20&offset=0" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"{ "data": [ { "id": "<redirect_id>", "locationId": "<location_id>", "domain": "example.com", "path": "/old-webinar", "pathLowercase": "/old-webinar", "type": "url", "target": "https://example.com/webinar-signup", "action": "url" } ]}locationId, domain, path, target, and action are required. action sets the target
type: funnel, website, url, or all.
curl -X POST https://services.smbcrm.com/funnels/lookup/redirect \ -H "Authorization: Bearer <token>" \ -H "Version: v3" \ -H "Content-Type: application/json" \ -d '{ "locationId": "<location_id>", "domain": "example.com", "path": "/old-webinar", "target": "https://example.com/webinar-signup", "action": "url" }'{ "data": { "id": "<redirect_id>", "locationId": "<location_id>", "domain": "example.com", "path": "/old-webinar", "pathLowercase": "/old-webinar", "type": "url", "target": "https://example.com/webinar-signup", "action": "url" }}locationId, target, and action are required. domain and path aren’t part of an
update — delete the redirect and create a new one to change either.
curl -X PATCH https://services.smbcrm.com/funnels/lookup/redirect/<redirect_id> \ -H "Authorization: Bearer <token>" \ -H "Version: v3" \ -H "Content-Type: application/json" \ -d '{ "locationId": "<location_id>", "target": "https://example.com/new-webinar-signup", "action": "url" }'{ "data": { "id": "<redirect_id>", "locationId": "<location_id>", "domain": "example.com", "path": "/old-webinar", "pathLowercase": "/old-webinar", "type": "url", "target": "https://example.com/new-webinar-signup", "action": "url" }}locationId is required as a query parameter.
curl -X DELETE "https://services.smbcrm.com/funnels/lookup/redirect/<redirect_id>?locationId=<location_id>" \ -H "Authorization: Bearer <token>" \ -H "Version: v3"