Skip to content

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.

GET/funnels/funnel/list

List the funnels in your SMBcrm account.

auth Location token or PIT

locationId is required. Filter with name, type, category, or parentId, and page through results with limit and offset.

Terminal window
curl "https://services.smbcrm.com/funnels/funnel/list?locationId=<location_id>&limit=20&offset=0" \
-H "Authorization: Bearer <token>" \
-H "Version: v3"
200 OK
{
"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>"
}
GET/funnels/page

List the pages that belong to a funnel.

auth Location token or PIT

locationId, funnelId, limit, and offset are required. Filter to one page by name with the optional name parameter. See Pagination.

Terminal window
curl "https://services.smbcrm.com/funnels/page?locationId=<location_id>&funnelId=<funnel_id>&limit=20&offset=0" \
-H "Authorization: Bearer <token>" \
-H "Version: v3"
200 OK
[
{
"_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"
}
]
GET/funnels/page/count

Get the total number of pages in a funnel, useful for paging through /funnels/page.

auth Location token or PIT

locationId and funnelId are required. Narrow the count to a single page with the optional name parameter.

Terminal window
curl "https://services.smbcrm.com/funnels/page/count?locationId=<location_id>&funnelId=<funnel_id>" \
-H "Authorization: Bearer <token>" \
-H "Version: v3"
200 OK
{
"count": 2
}

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.

GET/funnels/lookup/redirect/list

List the redirects configured in your SMBcrm account.

scope funnels/redirect.readonlyauth Location token or PIT

locationId, limit, and offset are required. Filter with the optional search parameter. See Pagination.

Terminal window
curl "https://services.smbcrm.com/funnels/lookup/redirect/list?locationId=<location_id>&limit=20&offset=0" \
-H "Authorization: Bearer <token>" \
-H "Version: v3"
200 OK
{
"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"
}
]
}
POST/funnels/lookup/redirect

Create a redirect.

scope funnels/redirect.writeauth Location token or PIT

locationId, domain, path, target, and action are required. action sets the target type: funnel, website, url, or all.

Terminal window
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"
}'
200 OK
{
"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"
}
}
PATCH/funnels/lookup/redirect/{id}

Update an existing redirect's target.

scope funnels/redirect.writeauth Location token or PIT

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.

Terminal window
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"
}'
200 OK
{
"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"
}
}
DELETE/funnels/lookup/redirect/{id}

Delete a redirect.

scope funnels/redirect.writeauth Location token or PIT

locationId is required as a query parameter.

Terminal window
curl -X DELETE "https://services.smbcrm.com/funnels/lookup/redirect/<redirect_id>?locationId=<location_id>" \
-H "Authorization: Bearer <token>" \
-H "Version: v3"
  • Forms, another UI-built, read-oriented asset you can list and read the same way.
  • Surveys, multi-step surveys listed and read the same way as funnels.
  • Locations, where you look up the locationId every endpoint on this page requires.